RFM-анализ Сегментация - PullRequest
       1

RFM-анализ Сегментация

0 голосов
/ 13 февраля 2019

На самом деле, анализ RFM прост, но когда я классифицирую клиентов по индивидуальным показателям недавности, частоты и денежных показателей, я застрял в следующем примере:

  • Спящий режим: R: 1-2,F: 1-2, M: 1-2
  • Потерянный: R: <= 2, F: <= 2, M: <= 2 </li>

Что, если у клиента есть111 или 222 балла?Оба вышеупомянутых сегмента включают 111 или 222.

Этот пример - это то, о чем я говорю.

Мое решение:

df$RFMClass <- with(df, ifelse(R %in% 4:5 & F %in% 4:5 & M %in% 4:5, "Champions","Other"))
df$RFMClass <- with(df, ifelse(R %in% 2:5 & F %in% 3:5 & M %in% 3:5 & RFMClass != "Champions", "Loyal Customers", RFMClass))
df$RFMClass <- with(df, ifelse(R %in% 3:5 & F %in% 1:3 & M %in% 1:3 & RFMClass != "Champions" & RFMClass != "Loyal Customers", "Potential Loyalist", RFMClass))
df$RFMClass <- with(df, ifelse(R %in% 4:5 & F <= 1 & M <= 1 & RFMClass != "Champions" & RFMClass != "Loyal Customers" & RFMClass != "Potential Loyalist", "New Customers", RFMClass))
df$RFMClass <- with(df, ifelse(R %in% 3:4 & F <= 1 & M <= 1 & RFMClass != "Champions" & RFMClass != "Loyal Customers" & RFMClass != "Potential Loyalist" & RFMClass != "New Customers", "Promising", RFMClass))
df$RFMClass <- with(df, ifelse(R %in% 2:3 & F %in% 2:3 & M %in% 2:3 & RFMClass != "Champions" & RFMClass != "Loyal Customers" & RFMClass != "Potential Loyalist" & RFMClass != "New Customers" & RFMClass != "Promising", "Need Attention", RFMClass))
df$RFMClass <- with(df, ifelse(R %in% 2:3 & F <= 2 & M <= 2 & RFMClass != "Champions" & RFMClass != "Loyal Customers" & RFMClass != "Potential Loyalist" & RFMClass != "New Customers" & RFMClass != "Promising" & RFMClass != "Need Attention", "About To Sleep", RFMClass))
df$RFMClass <- with(df, ifelse(R <= 2 & F %in% 2:5 & M %in% 2:5 & RFMClass != "Champions" & RFMClass != "Loyal Customers" & RFMClass != "Potential Loyalist" & RFMClass != "New Customers" & RFMClass != "Promising" & RFMClass != "Need Attention" & RFMClass != "About To Sleep", "At Risk", RFMClass))
df$RFMClass <- with(df, ifelse(R <= 1 & F %in% 4:5 & M %in% 4:5 & RFMClass != "Champions" & RFMClass != "Loyal Customers" & RFMClass != "Potential Loyalist" & RFMClass != "New Customers" & RFMClass != "Promising" & RFMClass != "Need Attention" & RFMClass != "About To Sleep" & RFMClass != "At Risk", "Can’t Lose Them", RFMClass))
df$RFMClass <- with(df, ifelse(R %in% 1:2 & F %in% 1:2 & M %in% 1:2 & RFMClass != "Champions" & RFMClass != "Loyal Customers" & RFMClass != "Potential Loyalist" & RFMClass != "New Customers" & RFMClass != "Promising" & RFMClass != "Need Attention" & RFMClass != "About To Sleep" & RFMClass != "At Risk" & RFMClass != "Can’t Lose Them", "Hibernating", RFMClass))
df$RFMClass <- with(df, ifelse(R <= 2 & F <= 2 & M <= 2 & RFMClass != "Champions" & RFMClass != "Loyal Customers" & RFMClass != "Potential Loyalist" & RFMClass != "New Customers" & RFMClass != "Promising" & RFMClass != "Need Attention" & RFMClass != "About To Sleep" & RFMClass != "At Risk" & RFMClass != "Can’t Lose Them" & RFMClass != "Hibernating", "Lost", RFMClass))

Пожалуйста, если нужно исправить это или любой хороший пример с классификационным решением.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...