rfm包做RFM分析
rfm包:RFM分析的工具
概述
用于RFM(recency, frequency and monetary)分析的工具。从事务级和客户级数据生成RFM评分。使用热图、直方图、条形图和散点图来可视化recency, frequency和monetary之间的关系
安装
# Install rfm from CRAN
install.packages("rfm")
# Or the development version from GitHub
# install.packages("devtools")
devtools::install_github("rsquaredacademy/rfm")
文章
-
RFM与客户数据
-
RFM与交易数据
应用
介绍
RFM((recency, frequency, monetary)分析是一种基于行为的技术,用于通过检查客户的交易历史来细分客户。
-
how recently a customer has purchased (recency)
-
how often they purchase (frequency)
-
how much the customer spends (monetary)
它基于一个营销公理,即80%的业务来自20%的客户。RFM通过将客户划分为不同的类别,帮助识别更有可能对促销做出反应的客户。
数据集
为了计算每个客户的RFM分数,我们需要如下的交易数据:
-
a unique customer id
-
date of transaction/order
-
transaction/order amount
RFM 表格
rfm使用一致的前缀rfm来方便地完成制表补充。使用rfmtable_order()生成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
#> # A tibble: 995 x 9
#> customer_id date_most_recent recency_days transaction_count
#> <chr> <date> <dbl> <dbl>
#> 1 Abbey O'Reilly DVM 2006-06-09 205 6
#> 2 Add Senger 2006-08-13 140 3
#> 3 Aden Lesch Sr. 2006-06-20 194 4
#> 4 Admiral Senger 2006-08-21 132 5
#> 5 Agness O'Keefe 2006-10-02 90 9
#> 6 Aileen Barton 2006-10-08 84 9
#> 7 Ailene Hermann 2006-03-25 281 8
#> 8 Aiyanna Bruen PhD 2006-04-29 246 4
#> 9 Ala Schmidt DDS 2006-01-16 349 3
#> 10 Alannah Borer 2005-04-21 619 4
#> amount recency_score frequency_score monetary_score rfm_score
#> <dbl> <int> <int> <int> <dbl>
#> 1 472 3 4 3 343
#> 2 340 4 1 2 412
#> 3 405 3 2 3 323
#> 4 448 4 3 3 433
#> 5 843 5 5 5 555
#> 6 763 5 5 5 555
#> 7 699 3 5 5 355
#> 8 157 3 2 1 321
#> 9 363 2 1 2 212
#> 10 196 1 2 1 121
#> # ... with 985 more rows
热图
热图显示了不同类别的R和F评分的平均M。R和F评分越高,其特点是平均M越高,如热图中较暗的区域所示。
rfm_heatmap(rfm_result)
条形图
使用 rfm_bar_chart()
为不同的F和R评分组合生成M评分的分布。
rfm_bar_chart(rfm_result)
直方图
使用 rfm_histograms()
检查的相对分布
-
monetary value (total revenue generated by each customer)
-
recency days (days since the most recent visit for each customer)
-
frequency (transaction count for each customer)
rfm_histograms(rfm_result)
客户的订单分布
可视化客户的订单分布。
rfm_order_dist(rfm_result)
散点图
最好的客户是:
-
bought most recently
-
most often
-
and spend the most
现在让我们来研究一下上面的关系
Recency vs Monetary Value
rfm_rm_plot(rfm_result)
Frequency vs Monetary Value
rfm_fm_plot(rfm_result)
Recency vs Frequency
rfm_rf_plot(rfm_result)
获取帮助
如果您遇到bug,请在github上使用reprex提交一个最小的可重现示例。对于问题,请使用StackOverflow。
原文链接: https://rfm.rsquaredacademy.com/
数据人才(ID:datarencai)
(一个帮助数据人才找工作的公众号,
也分享数据人才学习和生活的有趣事情。)
内容推荐
请关注“恒诺新知”微信公众号,感谢“R语言“,”数据那些事儿“,”老俊俊的生信笔记“,”冷🈚️思“,“珞珈R”,“生信星球”的支持!