# RFM客户分层模型能力-平台能力 **Repository Path**: getjava/RFMAnalyzeModel_processor ## Basic Information - **Project Name**: RFM客户分层模型能力-平台能力 - **Description**: RFM客户分层模型能力-平台能力 - **Primary Language**: Java - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 3 - **Created**: 2020-04-14 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ## 能力说明 ### 功能简介 该能力可根据用户输入的订单数据,全自动生成RFM模型分析结果。 RFM模型是一种客户分类模型,可根据客户的购买行为对客户分类,帮助商家对不同类型的客户指定针对性营销方案。 参考资料:http://wiki.mbalib.com/wiki/RFM%E6%A8%A1%E5%9E%8B 注意:本能力只能在2018年7月1日之后申请的工作台资源上正常运行,之前的工作台资源缺少操作系统支持 ### 配置参数 | 参数名称 | 参数类型 | 是否必填 | 默认值 | 参数说明 | - | - | - | - | - | 字段名称-客户网名 | 文本 | 是 | 客户网名 | 设置客户网名在数据中的字段名称,以便系统识别该数据 | 字段名称-订单编号 | 文本 | 是 | 订单编号 | 设置订单编号在数据中的字段名称,以便系统识别该数据,导入数据可以一个订单号多条记录,支付金额会被累加 | 字段名称-订单时间 | 文本 | 是 | 交易时间 | 设置订单时间在数据中的字段名称,以便系统识别该数据,导入数据时需要标准时间格式形如 2017-09-29 22:58:57 | 字段名称-订单金额 | 文本 | 是 | 订单支付金额 | 设置订单金额在数据中的字段名称,以便系统识别该数据,导入数据时需要以“元”为单位的数字,可以带小数点 ### 输入简介 此能力需要前置数据源能力,来提供订单数据,推荐使用“数据文件上传”或“读取数据库”来引入订单数据 ![输入图片说明](https://images.gitee.com/uploads/images/2018/0713/160820_da5bf488_1730330.png "屏幕截图.png") 图1:样例流程图 例如,使用数据文件上传能力上传一个excel,数据样例如下: | 订单编号 | 客户网名 | 交易时间 | 订单支付金额 | - | - | - | - | P12312312 | 张三 | 2017-09-09 22:58:57| 22323.22 | P12312313 | 李四 | 2017-09-09 22:58:57| 22323.22 | P12312314 | 赵茜 | 2017-09-09 22:58:57| 22323.22 | P12312316 | 孙俪 | 2017-09-09 22:58:57| 22323.22 可以[下载我们的excel数据样例](http://reidx4.oss-cn-hangzhou.aliyuncs.com/proc_service_center/rfm_testdata_10w.zip)进行测试 聪明的观众似乎看出来了,exel各列的名字,就是要配置在参数里的值,而且我们默认值就是为这份样例数据量身打造的。 如果你的数据各字段列名不一样,请修改能力参数,告诉本能力,你的这四个字段分别叫什么,例如改成这样: 图2:字段配置假设图 但如果你用我们的样例数据测试,请不要更改上述参数 都配置好后,就可以启动能力了 ![输入图片说明](https://images.gitee.com/uploads/images/2018/0713/160941_56e95c3f_1730330.png "屏幕截图.png") 图3:能力准备中 能力在启动后先回进行模型的初始化,初始化完成后,就会显示如下内容 ![输入图片说明](https://images.gitee.com/uploads/images/2018/0713/161131_778f2cf3_1730330.png "屏幕截图.png") 图4:初始化完成 此时可以点击右侧边栏的数据标签,打开数据视图,看到如下界面( **如果没有显示请按F5刷新浏览器** ) ![输入图片说明](https://images.gitee.com/uploads/images/2018/0713/161250_bcc74824_1730330.png "屏幕截图.png") 图5:数据视图-读取数据中 待前方能力将数据全部读取完成后,前置队列也没有堆积数据了,就可以点击“启动RFM建模”的按钮了 ![输入图片说明](https://images.gitee.com/uploads/images/2018/0713/161623_741a2145_1730330.png "屏幕截图.png") 分析工作将很快完成,完成后,将显示两个新的按钮 ![输入图片说明](https://images.gitee.com/uploads/images/2018/0713/162025_8dfd20d3_1730330.png "屏幕截图.png") 图6:数据视图:分析完成 你可以下载csv文件,文件为gbk码制,可以使用excel打开,各列含义如下 表:csv各列含义 | 列名 | 含义 | - | - | recency | 客户最后一次来访距离今天的天数 | topest | 客户最高一次消费额(单位:分) | monetary | 客户的总消费额(单位:分) | frequency | 客户的总消费次数 | buyer | 客户网名(输入数据原样展示) | recency_stand | recency的标准化数值,范围0~1000,值越大代表客户最后一次消费日期越近 | frequency_stand | frequency 的标准化数值,范围0~1000,值越大代表消费次数越多 | monetary_stand | monetary 的标准化数值,范围0~1000,值越大代表客户总消费额越高 | topest_stand | topest 的标准化数值,范围0~1000,值越大代表客户单笔最高消费越高 | R | 用于RFM分层识别码的第一位,使用recency_stand值三等份,值在333以下的为0,666以上的为2,其余为1 | F | 用于RFM分层识别码的第二位,使用frequency倒排并按序列三等份,序列后33%为0,前33%为2,其余为1 | M | 用于RFM分层识别码的第三位,使用monetary倒排并按序列三等份,序列后33%为0,前33%为2,其余为1 | RFM_CLASS | RFM客户分层识别码 | buyer_value | 根据内建客户价值权重模型,并根据rfmt四个数值,进行的客户价值推测值,范围0~1000,值越大的客户越有价值 表:RFM客户分层识别码的含义 | 识别码 | 含义 | - | - | 重要价值客户(222) | 最近消费时间近、消费频次和消费金额都很高,必须VIP | 重要维护客户(*22)| 最近消费时间较远,但消费频次和金额都很高,说明这是个一段时间没来的忠诚客户,我们需要主动和他保持联系 | 重要发展客户(2*2)| 最近消费时间较近、消费金额高,但频次不高,忠诚度不高,很有潜力的用户,必须重点发展 | 重要挽留客户(**2)| 最近消费时间较远、消费频次不高,但消费金额高的用户,可能是将要流失或者已经要流失的用户,应当基于挽留措施 | 其他 | 非重要客户 点击查看散点图可看到如下图: ![输入图片说明](https://images.gitee.com/uploads/images/2018/0713/162132_428ed441_1730330.png "屏幕截图.png") 图7:RFM散点图 此图每一个点代表一个客户,点在三维空间的坐标即为其R,F,M三值,通过查看其空间分布可方便的对客户进行分类 三维空间坐标均为0~1000,取值为csv文件中的对应stand值,即使用标准差一致化后的值 以上即为RFM模型能力所提供的全部功能 注意:若停止能力,数据视图将不可使用,且内部全部数据都会消失,请及时下载分析结果留存 ### 输入数据样例 ``` { "订单编号":"p32341", "客户网名":"张三", "交易时间":"2017-09-09 22:58:57", "订单支付金额":"22323.22" } ``` ### 输出简介 本能力没有输出数据,全部输出均在数据标签视图内 ### 输出数据样例 ``` 本能力没有输出数据,全部输出均在数据标签视图内 ``` ### 相关能力 数据源能力,例如数据文件上传,读取数据库 ### 参考指标 核心算法读取30万数据并计算消耗两分钟,但不保证由于数据的不同而产生不同的性能 ### 附加说明 ``` 无 ``` ### 隐藏参数说明 ``` 无 ```