如何获得10个最有价值的客户(例如,终身订单总额最高的客户)[r]
我已经运行了这段代码来找出10个最有价值的客户。然而,我有点不确定如何总结客户的生命周期总数,以便结果显示10位客户。如果有人知道如何解决这个问题,我非常感谢你的意见如何获得10个最有价值的客户(例如,终身订单总额最高的客户)[r],r,R,我已经运行了这段代码来找出10个最有价值的客户。然而,我有点不确定如何总结客户的生命周期总数,以便结果显示10位客户。如果有人知道如何解决这个问题,我非常感谢你的意见 CustomersData %>% arrange(desc(OrderTotals) %>% head(10) 它产生这个输出 X First_Name Last_Name Customer_ID Customer_DOB Customer_Age OrderTotals 1 990 Chase
CustomersData %>% arrange(desc(OrderTotals) %>% head(10)
它产生这个输出
X First_Name Last_Name Customer_ID Customer_DOB Customer_Age OrderTotals
1 990 Chase Pascoe 1896 1974-02-08 46 531.29
2 2095 Chase Pascoe 1896 1974-02-08 46 531.29
3 2161 Chase Pascoe 1896 1974-02-08 46 531.29
4 2340 Chase Pascoe 1896 1974-02-08 46 531.29
5 2578 Chase Pascoe 1896 1974-02-08 46 531.29
6 3032 Chase Pascoe 1896 1974-02-08 46 531.29
7 3314 Chase Pascoe 1896 1974-02-08 46 531.29
8 3373 Chase Pascoe 1896 1974-02-08 46 531.29
9 440 Sydney Jaffe 1944 1987-11-11 32 507.62
10 2424 Sydney Jaffe 1944 1987-11-11 32 507.62
数据帧的dput为
dput(droplevels(CustomersData[1:10, ]))
structure(list(X = 1:10, First_Name = structure(c(1L, 7L, 8L,
2L, 4L, 9L, 6L, 3L, 5L, 10L), .Label = c("Ariel", "Gabrielle",
"Jamar", "Jennifer", "Johnique", "Joshua", "Kinshasa", "May",
"Shahida", "Tyler"), class = "factor"), Last_Name = structure(c(3L,
7L, 8L, 4L, 9L, 6L, 5L, 10L, 1L, 2L), .Label = c("Beckley", "Dickerson",
"Dirrim", "Finley", "Fung-A-Fat", "Nguyen", "Purifoy", "Sue",
"Towns", "Williams"), class = "factor"), Customer_ID = c(1251L,
290L, 1714L, 381L, 109L, 1093L, 616L, 1334L, 1571L, 1056L), Customer_DOB = structure(c(10L,
5L, 8L, 7L, 9L, 4L, 2L, 3L, 1L, 6L), .Label = c("1961-07-13",
"1962-07-08", "1968-02-12", "1979-04-04", "1980-10-31", "1993-11-14",
"1996-09-03", "1999-02-10", "2000-07-07", "2000-08-12"), class = "factor"),
Customer_Age = c(20L, 39L, 21L, 24L, 20L, 41L, 58L, 52L,
59L, 26L), OrderTotals = c(105.95, 224.08, 74.19, 189.72,
285.13, 127.42, 211.25, 131.96, 86.21, 46.45)), row.names = c(NA,
10L), class = "data.frame")
您可以为每个
Customer\u ID
选择sum
OrderTotals
,然后选择前10名客户
library(dplyr)
CustomerData %>%
group_by(Customer_ID) %>%
summarise(OrderTotals = sum(OrderTotals)) %>%
slice_max(OrderTotals, n = 10)
#If you have an older version of dplyr use top_n
#top_n(10, OrderTotals)
在
base R
中,我们可以
out <- aggregate(OrderTotals ~ Customer_ID, CustomerData, sum)
head(out[order(-out$OrderTotals),], 10)
out