• 主页
  • 课程

    关于课程

    • 课程归档
    • 成为一名讲师
    • 讲师信息
    同等学历教学

    同等学历教学

    免费
    阅读更多
  • 特色
    • 展示
    • 关于我们
    • 问答
  • 事件
  • 个性化
  • 博客
  • 联系
  • 站点资源
    有任何问题吗?
    (00) 123 456 789
    weinfoadmin@weinformatics.cn
    注册登录
    恒诺新知
    • 主页
    • 课程

      关于课程

      • 课程归档
      • 成为一名讲师
      • 讲师信息
      同等学历教学

      同等学历教学

      免费
      阅读更多
    • 特色
      • 展示
      • 关于我们
      • 问答
    • 事件
    • 个性化
    • 博客
    • 联系
    • 站点资源

      R语言

      • 首页
      • 博客
      • R语言
      • R语言学习:RFM分析,rfm包

      R语言学习:RFM分析,rfm包

      • 发布者 weinfoadmin
      • 分类 R语言
      • 日期 2022年1月31日
      测试开头

      2022年第05周。
      这一周R语言学习,记录如下。

      正值除夕佳节,我祝福大家佳节快乐,身体健康,学习进步,万事顺意。

      01

      RFM分析

      1.1 RFM简介

      RFM分析一种通过检查过往交易数据以实现客户细分的技术。它从三个角度来观察:

      • 1 客户最近多久购买?(活跃度)

      • 2 客户购买频次是多少?(忠诚度)

      • 3 客户购买花了多少钱?(贡献度)

      RFM分析基于一个营销原则:80%的业务来自20%的客户(二八法则)。RFM通过将客户划分为不同的类别来帮助识别更有可能响应促销活动的客户。

      1.2 RMF应用场景

      RFM分析应用广泛,可以在电商、社交媒体、信贷服务、APPS等发挥积极作用。
      如下图所示:

      R语言学习:RFM分析,rfm包

      RFM分析的工作流程,如下图所示:
      数据 –》 RFM 表格 –》 RFM 评分 –》 分群结果和应用。

      R语言学习:RFM分析,rfm包

      1.3 交易数据

      交易数据用于记录客户的订单数据,包括客户ID、客户姓名、订单成交日期、订单对应金额等核心要素,除此之外,还可以包括其它信息,比方说,订单所属类型,下单时间,支付时间等。一个简单的交易数据,如下图所示:

      R语言学习:RFM分析,rfm包

      1.4 指标加工

      针对历史交易数据,使用RFM分析,对数据进行指标加工,生成R、F和M指标。
      如下图所示:

      R语言学习:RFM分析,rfm包

      RECENCY指标

      R语言学习:RFM分析,rfm包

      FREQUENCY指标

      R语言学习:RFM分析,rfm包

      MONETARY指标

      R语言学习:RFM分析,rfm包

      1.5 生成RFM评分

      根据评分等级,利用分位数方法,确定对应的cut-off。
      创建M-Score, F-Score和R-Score。
      如下图所示:
      M-Score:

      R语言学习:RFM分析,rfm包

      F-Score:

      R语言学习:RFM分析,rfm包

      R-Score:

      R语言学习:RFM分析,rfm包

      根据指标的评分,生成RFM-Score。
      RFM-Score = R-Score * 100 + F-Score * 10 + M-Score
      最终结果如下图所示:

      R语言学习:RFM分析,rfm包

      1.6 客群细分

      基于业务知识和指标的评分,划分不同群体,一种可供参考的群体结果,如下图所示:

      R语言学习:RFM分析,rfm包

      02

      RFM分析举例

      使用rfm包做RFM分析。
      示例代码

      # 加载R包
      library(tidyverse)
      library(lubridate)
      library(rfm)

      # 导入数据
      # 使用rfm包自带的数据集
      rfm_data_orders
      rfm_data_orders %>% 
        glimpse

      # 对历史交易数据生成RFM表格数据
      analysis_date <- lubridate::as_date("2006-12-31", tz = "UTC")
      rfm_result <- rfm_table_order(rfm_data_orders, 
                                    customer_id, 
                                    order_date, 
                                    revenue, 
                                    analysis_date)

      rfm_result

      # 客群细分
      segment_names <- 
        c("Champions", "Loyal Customers", "Potential Loyalist",
          "New Customers", "Promising", "Need Attention", 
          "About To Sleep", "At Risk", "Can't Lose Them", 
          "Hibernating", "Lost")

      recency_lower   <- c(4, 2, 3, 4, 3, 3, 2, 1, 1, 2, 1)
      recency_upper   <- c(5, 4, 5, 5, 4, 4, 3, 2, 1, 3, 1)
      frequency_lower <- c(4, 3, 1, 1, 1, 3, 1, 2, 4, 2, 1)
      frequency_upper <- c(5, 4, 3, 1, 1, 4, 2, 5, 5, 3, 1)
      monetary_lower  <- c(4, 4, 1, 1, 1, 3, 1, 2, 4, 2, 1)
      monetary_upper  <- c(5, 5, 3, 1, 1, 4, 2, 5, 5, 3, 1)

      segments <- rfm_segment(rfm_result, 
                    segment_names, 
                    recency_lower, 
                    recency_upper, 
                    frequency_lower, 
                    frequency_upper, 
                    monetary_lower, 
                    monetary_upper)

      segments %>% 
        select(customer_id, segment, rfm_score)

      # 客群分类的分布情况
      segments %>%
        count(segment) %>%
        arrange(desc(n)) %>%
        rename(Segment = segment, Count = n)

      # 可视化分析
      # RFM三个度量指标在各个客群下的中位数分布
      rfm_plot_median_recency(segments)
      rfm_plot_median_frequency(segments)
      rfm_plot_median_monetary(segments)
      rfm_bar_chart(rfm_result)
      rfm_histograms(rfm_result)

      可视化结果图

      R语言学习:RFM分析,rfm包


      R语言学习:RFM分析,rfm包

      R语言学习:RFM分析,rfm包

      R语言学习:RFM分析,rfm包

      R语言学习:RFM分析,rfm包


      我创建了R语言群,你可以添加我的微信,备注:姓名-入群,我邀请你加入。

      R语言学习:RFM分析,rfm包

      我是王路情,利用R语言做数据科学工作,工作内容主要包括数据清洗与准备、数据探索、数据分析、数据挖掘、数据可视化、数据报告、建模工作环境搭建、R语言做科研论文等。我可以提供R语言和数据科学的咨询与服务。欢迎你添加我的微信,加入我创建的R语言群,一起学习和使用R语言。

      如果你想学习数据科学与人工智能,请关注下方公众号~

      2022年R语言学习专辑:
      2022年第04周:R语言学习
      2022年第03周:R语言学习
      2022年第02周:R语言学习
      2022年第01周:R语言学习

      2021年R语言学习专辑:

      2021年第52周:R语言学习

      2021年第51周:R语言学习

      2021年第50周:R语言学习

      2021年第49周:R语言学习

      2021年第48周:R语言学习

      2021年第47周:R语言学习

      2021年第46周:R语言学习

      2021年第45周:R语言学习

      2021年第44周:R语言学习

      2021年第43周:R语言学习

      2021年第42周:R语言学习

      2021年第41周:R语言学习

      2021年第40周:R语言学习

      2021年第39周:R语言学习

      2021年第38周:R语言学习

      2021年第37周:R语言学习

      2021年第36周:R语言学习

      2021年第35周:R语言学习

      2021年第34周:R语言学习

      测试结尾

      请关注“恒诺新知”微信公众号,感谢“R语言“,”数据那些事儿“,”老俊俊的生信笔记“,”冷🈚️思“,“珞珈R”,“生信星球”的支持!

      • 分享:
      作者头像
      weinfoadmin

      上一篇文章

      迎接虎年的来到!
      2022年1月31日

      下一篇文章

      基于 GTF 文件提取 CDS 最长转录本序列
      2022年2月1日

      你可能也喜欢

      3-1665801675
      R语言学习:重读《R数据科学(中文版)》书籍
      28 9月, 2022
      6-1652833487
      经典铁死亡,再出新思路
      16 5月, 2022
      1-1651501980
      R语言学习:阅读《R For Everyone 》(第二版)
      1 5月, 2022

      搜索

      分类

      • R语言
      • TCGA数据挖掘
      • 单细胞RNA-seq测序
      • 在线会议直播预告与回放
      • 数据分析那些事儿分类
      • 未分类
      • 生信星球
      • 老俊俊的生信笔记

      投稿培训

      免费

      alphafold2培训

      免费

      群晖配置培训

      免费

      最新博文

      Nature | 单细胞技术揭示衰老细胞与肌肉再生
      301月2023
      lncRNA和miRNA生信分析系列讲座免费视频课和课件资源包,干货满满
      301月2023
      如何快速批量修改 Git 提交记录中的用户信息
      261月2023
      logo-eduma-the-best-lms-wordpress-theme

      (00) 123 456 789

      weinfoadmin@weinformatics.cn

      恒诺新知

      • 关于我们
      • 博客
      • 联系
      • 成为一名讲师

      链接

      • 课程
      • 事件
      • 展示
      • 问答

      支持

      • 文档
      • 论坛
      • 语言包
      • 发行状态

      推荐

      • iHub汉语代码托管
      • iLAB耗材管理
      • WooCommerce
      • 丁香园论坛

      weinformatics 即 恒诺新知。ICP备案号:粤ICP备19129767号

      • 关于我们
      • 博客
      • 联系
      • 成为一名讲师

      要成为一名讲师吗?

      加入数以千计的演讲者获得100%课时费!

      现在开始

      用你的站点账户登录

      忘记密码?

      还不是会员? 现在注册

      注册新帐户

      已经拥有注册账户? 现在登录

      close
      会员购买 你还没有登录,请先登录
      • ¥99 VIP-1个月
      • ¥199 VIP-半年
      • ¥299 VIP-1年
      在线支付 激活码

      立即支付
      支付宝
      微信支付
      请使用 支付宝 或 微信 扫码支付
      登录
      注册|忘记密码?