Python 数据处理数据挖掘(四):用户分层模型RFM

【用户画像】RFM客户价值模型 使用KMeans聚类算法构建RFM客户价值模型是一种有效的客户细分方法,可以帮助企业准确识别不同价值的客户群体,并据此制定针对性的营销策略。但是需要人为设置K值,K值的选择又跟预测结果以及组建的模型有着很大的关系,不过在Sprak中KMeans可以设置算法底层实现K-Means || 算法,以便拿到更好的聚簇中心点。 阅读详情

声明:本文为学习笔记,侵权删

一、RFM模型

RFM(Recency最近一次消费,Frequency消费频率,Monetary消费金额)

R用户活跃度

F用户忠诚度

M用户重要性

R,F,M都有5个评分,均为1~5分,可简单理解为0~3分均为差,4~5均为好,评分越大越好,越小越差。通过R,F,M三个维度的划分,我们可以将用户分为8种类型,根据不同类别的客户可以制定不同的销售策略。

二、R,F,M的评判标准

大多数时候,我们拿到的数据并不会直白地给出R,F,M的具体数值,更多的是一些实际的数据,我们需要通过这些数据,找到与R,F,M相关的,然后通过计算等等操作,才能得到最终的R,F,M的数值。

以下面这份数据为例(忽略第二行的######,WPS在打开CSV文件的时候的编译错误,原文就是个日期):

 这份数据中并没有直接给出R,F,M的数值或评判标准,那么我们首先就要找到决定R,F,M的相关数据。

R,最近一次购买至今间隔的时间,可以通过数据集中最后一次消费的时间和当前时间的差得出(本文中当前时间取2019.12.30)

F,订单数量

M,消费总金额

OK,我们找到了计算,R,F,M的相关数据,那么怎么把这些数据分级,分成1~5 这五个分数呢?

这个问题是主观的,在不同的情况下可能会有不同的分级标准。

我们先来看下R,F,M相关的数据的分布情况:

import pandas as pd
from datetime import datetime
from matplotlib import pyplot as plt
data = pd.read_csv(f"D:\Python Code\dataMining\消费清单.csv")
data["首单日期"] = pd.to_datetime(data["首单日期"])
data["最近一次消费"] = pd.to_datetime(data["最近一次消费"])
#假设当前的日期是2019年12月30日,计算出Recency
#计算最近一次消费到2019.12.30的时间间隔,并在data的最后一列后增加一列Recency
currentDate = datetime(2019,12,30)
data["Recency"] = currentDate - data["最近一次消费"]
#上一行如果直接获取data["Recency"],输出的格式是“xx 天”,是timedelta类型,不便于直接获取天数,因此就需要下一行代码
data["Recency"] = data["Recency"].dt.days

#对于F,M两个指标,F就是订单数量,M就是消费总金额,可以直接得到
#计算出如何定义R,F,M三个标准,即满足什么条件的R,C,F可以描述哪一类的客户
#先通过画图,查看数据的分布,
#R和F的数据量用每个数值在总书据所占的比例表示
R = data["Recency"].groupby(data["Recency"]).count()
R_percent = R/51394 #共有51394个数据
plt.rcParams["font.sans-serif"] = "Arial Unicode MS"
## 以R_percent的index为x轴的值,R_percent的values为y轴的值,
## 即x轴是R的值,y轴是这个R的值数量占所有R的值数量的百分比
plt.bar(R_percent.index, R_percent.values)
plt.title("R")
plt.show()
#
#同样的方法画出F的统计图
F = data["订单数量"].groupby(data["订单数量"]).count()
F_percent = F/51394
plt.rcParams["font.sans-serif"] = "Arial Unicode MS"
plt.bar(F_percent.index, F_percent.values)
plt.title("F")
plt.show()
#
##对于M,因为大多数用户的消费金额都差不多,用上面占比的方法画出来的图不明确
##因此,我们通过分箱的方式,从小到大,这里bins=100,分为100组,画出每组里汉欧消费金额的总个数量
##即,x轴是消费金额,y轴是频数
plt.hist(data["消费总金额"], bins =100)
plt.title("M")
plt.show()

本例中,我希望将这些数据平分,即平均得分为五等分,分别评级为1,2,3,4,5分。但这些数据明显呈现数据值越小,数量越大的情况。通常来说,将数据分成五级,我们用分箱的方法,分箱包括等宽分箱(cut),等深分箱(qcut)。等宽分箱显然不太适合这份数据,一个一个凑箱子的边界太繁琐。因此这里使用等深分箱的方法。

pandas中,等深分箱的结果并不一定是严格意义上的均分。因为有相同数值数据的存在,比如0,1,2,2,3,4,4,4,4,4,5,6,7,8,9这组数字,严格意义上的五等分应该是0,1,2|2,3,4|4,4,4|4,5,6|7,8,9。但这样把两个2分开放在两个箱子,4分开放在了三个箱子,显然是不合理的。因此pandas内部会通过一定的方法,优先将相同的数字分配到同一个箱子中,再考虑是否等分的问题。因此,用qcut算出来的结果并不是严格的等分,会出现一些箱子里的数据多一些,少一些的情况。

#判定R,F,M的评分标准
#最近一次消费距离现在时间越短,R越大 
data["R"] = pd.qcut(data["Recency"],q=5,labels=[5,4,3,2,1])
R_count = data["R"].value_counts()
data["F"] = pd.qcut(data["订单数量"],q=5,labels=[1,2,3,4,5])
F_count = data["F"].value_counts()
data["M"] = pd.qcut(data["消费总金额"],q=5,labels=[1,2,3,4,5])
M_count = data["M"].value_counts()
print(R_count)
print(F_count)
print(M_count)
print(data)

 可以看到,R,F,M基本上做到了五等分,并且成功得将它们评分为1~5分。

三、用户分类

通过最开始的RFM的定义可以得出,R,F,M三个维度虽然是五级的评分制,但RFM只是将用户分为8大类,也就是说每个维度可以用简单的二分法分为“好”与“不好”两种评价。“好”可以用1表示,“不好”可以用0表示,这样八类用户可以通过三位二进制来描述,RFM=000,001...111。比如000就是低价值用户。

因此,为了方便操作,我们需要将上面得到的R,F,M评分再简化,简化为0,1的二分类,并将R,F,M三个维度简化为一个维度,即上述的三位二进制码的形式。

def bi_classify(x):
    if x > 3:
        x = 1
    else:
        x = 0
    return x

data["R"] = data["R"].apply(bi_classify)
data["F"] = data["F"].apply(bi_classify)
data["M"] = data["M"].apply(bi_classify)
print(data[["R","F","M"]])

输出:
[51394 rows x 14 columns]
       R  F  M
0      1  1  1
1      1  1  1
2      1  1  1
3      0  1  1
4      1  1  1
...   .. .. ..
51389  0  0  0
51390  0  0  0
51391  0  0  0
51392  1  0  0
51393  0  0  0


#将R,F,M三个值维度合成一整个数据,像001,110,101,这样方便判断。
#通过astype函数,转换数据类型
data["RFM"] = data["R"].astype(str) + data["F"].astype(str) + data["M"].astype(str)
print(data["RFM"])

输出:
[51394 rows x 3 columns]
0        111
1        111
2        111
3        011
4        111
        ...
51389    000
51390    000
51391    000
51392    100
51393    000



def userClassify(x):
    if x=="111":
        return "高价值用户"
    elif x=="101":
        return "重点发展用户"
    elif x=="011":
        return "重点唤回用户"
    elif x=="001":
        return "重点潜力用户"
    elif x=="110":
        return "一般潜力用户"
    elif x=="100":
        return "一般发展用户"
    elif x=="010":
        return "一般维系用户"
    else:
        return "低价值用户"

data["用户类别"] = data["RFM"].apply(userClassify)
print(data["用户类别"])

输出:
0         高价值用户
1         高价值用户
2         高价值用户
3        重点唤回用户
4         高价值用户
          ...
51389     低价值用户
51390     低价值用户
51391     低价值用户
51392    一般发展用户
51393     低价值用户
Name: 用户类别, Length: 51394, dtype: object

【数据分析:RFM客户价值度模型】 客户价值度用来评估用户的价值情况,是区分客户价值的重要模型和参考依据,也是衡量不同营销效果的关键指标之一。价值度模型一般基于交易行为产生,衡量的是有实体转化价值的行为。常用的价值度模型是RFMRFM模型是根据客户最近一次购买时间R(Recency)购买频率F(Frequency)购买金额M(Monetary)计算得出RFM得分通过这3个维度来评估客户的订单活跃价值,常用来做客户分群或价值区分RFM模型基于一个固定时间点来做模型分析,不同时间计算的的RFM结果可能不一样RF。 阅读详情

相关推荐

RFM用户分层模型|原理+Python全流程实现

RFM 模型 在数据分析中经常会进行用户分层,本文我们来了解一下常见的用户分层模型RFM。 RFM概念 RFM是由R(Recency)、F (Frequency)、 M(Monetary) 三个维度构成的,其具体含义如下: R:最近一次消费时间间隔 F:消费频率 M:消费金额 这里对于这三个维度的概念简单的做一个说明: R:当前日期为3.25日,上一次消费日期3月20日,消费时间间隔为5天。 F:一年内去某商场消费100次,消费频率为100次。 M:一年内去某商场消费总额为1W元,消

二哥为啥不像程序员? 1万+

RFM模型简述

RFM模型的作用: · 判别客户的价值,针对性做出营销手段 RFM模型的特点 · 简单性,只需要四个字段,客户名称、消费时间、消费金额和消费频率 · 客观性,利用数学尺度,简单且明确的描述客户价值 · 直观,解释性极高 RFM组成 · R: 最近至今的消费时间间隔(Recency, 间度) · F: 最近消费次数(Frequency, 频度) · M:最近消费总金额(Monetory, 额度) ...

ww08153115的博客 8041

Python实战:基于RFM模型的电商用户画像构建与精准营销应用

用户画像作为数据分析和精细化运营的核心工具,其本质是通过整合多源数据,构建能够代表用户特征的虚拟模型。其原理在于对用户行为、属性及消费数据进行系统性的清洗、整合与标签化,从而抽象出具有业务指导意义的用户分群。在技术实现上,Python凭借其丰富的数据处理库(如Pandas、NumPy)和可视化工具(如Matplotlib、Seaborn),成为构建用户画像的高效选择,尤其适合处理订单、浏览日志等结构化数据。其核心价值在于将模糊的用户感知转化为可量化、可操作的群体特征,直接驱动精准营销策略的制定。在电商等典型

weixin_29046035的博客 276

常用数据分析模型:RFM模型——用户分层

用于判断每类用户的价值,并调整营销策略。

sherrinzhang的博客 4927

Python数据分析实战:从Pandas数据处理到电商用户行为分析

数据分析是通过统计方法从海量数据中提取价值信息、支持决策的关键技术流程。其核心原理在于对原始数据进行系统性的清洗、转换与建模,以揭示潜在的模式与趋势。在工程实践中,Python凭借其简洁语法和强大的生态系统,已成为数据分析领域的主流工具,尤其适用于处理表格型数据和构建可视化报告。掌握Pandas进行数据清洗、聚合与合并,以及利用Matplotlib和Seaborn实现数据可视化,是每位数据分析师的基础技能。这些技术广泛应用于电商、金融、运营等多个场景,帮助从业者从用户行为数据中挖掘商业洞察,例如通过RFM模

cuemes08808的博客 556

Qt C++:跨平台开发利器

摘要: Qt C++是基于C++的跨平台开发框架,通过元对象系统、信号槽机制及模块化架构实现"一次编写,多端部署"。核心特性包括: 跨平台能力:覆盖桌面(Windows/macOS/Linux)、移动端(iOS/Android)、嵌入式及WebAssembly; 信号与槽:替代传统回调,实现对象间高效通信; UI组件库:200+预制组件支持QSS样式定制; 工具链:Qt Creator集成开发环境提供可视化设计、调试及多平台编译。 广泛应用于工业控制、车载系统、医疗设备及跨平台应用开发,

2202_75382767的博客 1673

案例分析:RFM用户分群

数据分析实战项目3:RFM用户分群

Sun123234的博客 3493

【MUJOCO控制篇-2】控制一个简单的机械臂

本篇博客将逐步分析和解释如何通过Python代码使用MuJoCo库来控制一个机械臂模型。我们将从加载模型开始,逐步深入到PID控制器的实现,最后讨论如何实现轨迹跟踪功能。上期内容为如何建模一个简单的机械臂模型,本篇文章将基于上篇内容进行深入探讨如何实现一个简单的控制。

echo_Fangyb的博客 6742

【推荐收藏】一文详解数据分析经典模型RFM(附Python代码)

本文利用Python语言实现的RFM模型,同时还利用了多维数据透视分析和业务分析方法两个模块的内容。所以说实践是检验和巩固学到的东西的最好方法。在公司有限成本下提高公司收入,需要针对哪种用户营销最好,答案是一般发展用户。相信大家一开始都很疑惑为什么选这个,这时候如果像本文一样对一份数据进行实践,这样你就会更加理解为什么是这个答案。

Python学习与数据挖掘 3870

SPAD 单光子雪崩二极管

SPAD,全称为,是一种高灵敏度的光电探测器件,能够在非常低的光照水平下检测单个光子。SPAD在工作时,当一个光子被探测器吸收后,能够触发一个雪崩效应,产生一个可以被检测到的电信号。

qq_42786033的博客 1万+

我的AI学习 ai维护工具之langfuse

as_type: Optional[Literal[‘generation’]] = None, # 将记录定义为 Observation (LLM 调用)transform_to_string: Optional[Callable[[Iterable], str]] = None # 将输出转为 string。要用LangFuse的云服务,首先要在LangFuse官网上注册,注册完后将页面拉倒最后,点免费的SignUp,API文档:https://api.reference.langfuse.com/

liubaobin的博客 4089

【Python】RFM模型实现

Python实现RFM模型

Yigichul的博客 907

数据讲述中国故事!和鲸助力中国综合社会调查(CGSS)数据分析与可视化大赛圆满收官

用数据研究中国问题、总结中国道路、讲述中国故事。和鲸作为协办单位全程支持本次大赛,为中国人民大学中国调查与数据中心实施全套赛事系统,同时提供完备而周全的赛事运营服务。

ModelWhale的博客 1400

用 Python 实现 RFM 模型分析:精准识别高价值用户

在任何一个互联网或电商产品中,不是所有用户的价值都相同。有的用户频繁下单、贡献高额收入;有的用户注册后从未购买;还有一部分用户曾经活跃,如今却已经流失。如何量化并识别不同类型的用户?答案就是 ——RFM模型分析。RFM指标含义解释R(Recency)最近一次消费用户最近一次交易距今的时间消费频率用户在一定时间内的购买次数消费金额用户累计消费的总金额通过这三个指标,我们可以快速划分用户价值层级,如:🏆高价值用户:最近购买频繁、金额高💰潜力用户:金额高但活跃下降⚠️。

2501_93174762的博客 502

飞牛fnNAS个人小账本导入微信账单

本文介绍了将微信支付账单导入ezBookkeeping个人记账系统的详细方法。首先通过微信申请导出账单文件,接收后需进行Excel预处理:删除前导行、添加账户和分类列、整理金额格式等。在ezBookkeeping中需预先设置"微信"分类和账户。导入时需注意列映射关系,包括交易时间、账户名称等关键字段的对应设置。文章还提到处理交易标签、格式转换等细节问题,并建议避免使用"修改余额"功能。该方法同样适用于支付宝账单导入,解决了直接导入可能出现的格式不兼容问题。

dgnankai的专栏 467

流体动力学仿真软件:Star-CCM+_(1).Star-CCM+基础及入门

Star-CCM+的用户界面(UI)分为多个部分,包括菜单栏、工具栏、工作区、视图窗口和控制台。菜单栏包含文件、编辑、视图、工具等常用菜单。例如,“File”菜单可以用于打开、保存和退出项目。工具栏提供常用的工具按钮,如新建项目、打开项目、保存项目等。也可以自定义工具栏,添加常用的功能按钮。工作区显示当前项目的结构和各个对象。可以通过拖拽方式组织和管理项目中的各个部分。视图窗口显示几何模型、网格、结果等。可以通过不同的视图模式查看和分析数据。控制台显示软件的运行日志和输出信息。

kkchenjj的博客 1185

python 计算订单_十分钟定位用户价值 - Python RFM数据挖掘

前言Python由于丰富而强大的类库,广泛应用与互联网各技术领域,其中以数据挖掘和分析最为常见,本文通过Python实现RFM用户价值分析模型,带大家一起感受数据挖掘与分析的乐趣~RFM:消费(Recency)、消费频率(Frequency)、与消费金额(Monetary),我们将商业活动核心三要素,用一定的权重计算,即可为各用户建立价值标签。通过用户价值标签,我们就可以采用不同营销策略,做精准营...

weixin_39863371的博客 230

vue3:实现飞书扫码授权登录流程+完整示例源码,用户使用飞书移动端扫描飞书登录二维码进行登录后获取用户信息数据,vue3接入飞书登录系统,支持新跳页显示二维码或div容器里内嵌登录二维码(详细代码)

vue3飞书扫码登录网页,vue3飞书扫码登录网页,vue3接入飞书扫码登录全流程,Vue3在网页中接入飞书二维码SDK,vue3飞书扫码登录网页,实现用户授权登录的流程,Vue3集成飞书前端JSSDK,对接飞书扫码授权,飞书扫码授权,vue3网站集成飞书登录生成二维码,VUE3用户扫码飞书授权登录,飞书开发-网页应用JSSDK鉴权流程,飞书开放平台自建网页应用登录与免登录,vue3接入二维码SDK将飞书登录的二维码嵌入到网页中,pc后台管理系统接入飞书登录,vue3项目中实现扫码登录飞书,Vue飞书免登录

✅ 精选推荐文章 4389

Python 数据处理数据挖掘(七):K-Means聚类算法

K-Means聚类算法,K-Means是非监督学习的聚类算法,将一组数据分为K类(或者叫簇/cluster),每个簇有一个质心(centroid),同类的数据是围绕着质心被分类的。数据被分为了几类就有几个质心。 算法步骤: 1、先从原始数据集中随机选出K个数据,作为K个质心。 2、将剩余的数据分配到与之最相似的的质心的那个簇里。 3、第一次分类完成后,计算每个簇内样本的均值,并根据这个均值生成新的质心 4、重复2,3步,直至质心的变化距离小于某个值(主观设定),如果质心始终没法稳定下来 肘部法则原理

qq_46380784的博客 3938

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

数据挖掘实战案例——客户细分

我们首先来看看原始数据 具体代码与原始数据可以在我的GitHub中git clone一下学习 代码与数据github地址 共26663条数据 此次分析是想对根据客户的购买情况对客户进行细分 分析用户的购买消费行为 首先读取csv import pandas as pd #import numpy as np trad_flow = pd.read_csv('./购买情况.csv', encodi...

liuzuoping的博客 6051

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

python电商数据挖掘_SAS电商数据挖掘案例

SAS数据挖掘数据挖掘简介:数据挖掘(Data Mining)是一项知识发现、商业智能、预测模型的集合,目的在于帮助用户探析数据,以发现有意义的规则模式过程。数据挖掘技术最显著的特征如下:海量数据:随现代企业级数据的膨胀,“TB级别”的数据库存储已并不罕见,诸如银行、医疗、零售、电信、保险等行业,由此带来的问题是传统统计算法的效率偏低,无法满足时间上的需求,显然数据挖掘算法解决了很大一部分的时间效...

weixin_39978749的博客 481

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

基于RFM模型的Kmeans聚类算法实现

基于RFM模型的K均值聚类算法实现

qq_42066782的博客 1356

电商用户行为数据分析与可视化系统:从数据处理到图像绘制的全流程实践

本文介绍了电商用户行为数据分析与可视化系统的设计与实现。系统采用分层架构,通过Python进行数据清洗、特征工程(如RFM模型)和可视化分析(Matplotlib/Seaborn/Plotly),将用户行为数据转化为商业洞察。核心功能包括:用户活跃度时间分布分析、商品偏好饼图、交互式用户分群散点图等。应用效果显示,该系统帮助电商平台提升转化率18.7%、客单价42%,优化库存周转38%。文章还探讨了实时数据处理扩展和机器学习模型集成方向,并思考了隐私保护与数据价值的平衡问题。

zzywxc787的博客 1527

Python数据挖掘基础路线:从环境搭建到用户分层实战

数据挖掘是从海量数据中提炼规律、驱动决策的核心技术,其本质并不复杂。Python凭借Pandas、NumPy、scikit-learn等成熟库,极大降低了数据分析与挖掘的工程门槛。从数据清洗、特征工程到建模评估,一套稳定的流程能帮助初学者绕开大量弯路。在实际场景中,无论是电商用户RFM分层、流失预警还是销量预测,都依赖这套基础方法。这里整理了一份从环境搭建到完整案例操作的Python数据挖掘基础路线,涵盖核心库使用、流程拆解与避坑经验,适合数据分析初学者系统学习。

weixin_28224217的博客 181

淘宝用户行为数据挖掘实战:Python驱动的电商意图分析

用户行为数据是理解数字消费意图的核心入口,其本质是记录用户在平台上的浏览、收藏、加购、下单等时序动作。基于真实业务逻辑的数据挖掘,需先完成原始日志清洗与时间特征工程,再构建RFM类分群、行为路径、序列模式等可解释性特征,最终支撑精准营销、漏斗优化与用户生命周期管理。Python凭借Pandas/Dask的灵活数据处理能力、Scikit-learn的稳健建模与统计推断支持,成为中小规模行为分析的事实标准工具链。本文聚焦淘宝用户行为数据与数据挖掘两大热词,覆盖从千万级日志解析到业务指标落地的完整闭环,适用于数据

weixin_29053383的博客 96

django基于Python的电商用户购买行为数据分析系统

本文介绍了一个基于Python+Django的电商用户行为分析系统,整合多源数据实现精准运营。系统采用机器学习算法(如RFM模型、Apriori关联规则)和可视化技术,提供用户分群、转化漏斗、智能预测等功能,支持10万级数据处理和1000并发访问。应用案例显示,该系统可使复购率提升25%、营销ROI提高3倍,同时具备模块化扩展和深度学习集成能力。通过数据驱动决策,有效解决了传统电商运营中的数据分析滞后和低效问题。

q_q1262330535的博客 1106
上一篇: Python数据处理数据挖掘(三):关联分析(Apriori算法)
下一篇: Python 数据处理数据挖掘(五):线性回归
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

三头猪等于一头大猪

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值