Я хочу сгруппировать пользователей в сегменты в соответствии с их поведением транзакции, используя R.
segment_name definition
1 1-2 days since last order, with minimum of 8 unique transaction_id since X date
2 1-2 days since last order, with less than 8 unique transaction_id since X date OR 3-6 days since last order
3 7+ days since last order
Причина, по которой я поставил X-дату выше, заключается в том, что я хотел бы иметь возможность назначатьзначение к этой дате.Скажите, если бы я хотел увидеть, насколько отличается сегментация, если бы я посмотрел на все их заказы за последние 30 дней по сравнению с последними 60 днями.
В любом случае, у меня есть таблица, подобная приведенной ниже:
date user_id transaction_id
Jan 1, 2018 123 ABC123
Jan 1, 2018 123 DEF456
Jan 2, 2018 123 GHI789
Jan 6, 2018 123 JKL012
Jan 19, 2018 123 MNO345
Jan 20, 2018 123 PQR678
Jan 21, 2018 123 STU901
Jan 26, 2018 123 VWX234
Jan 27, 2018 123 YZA567
Исходя из правил, я хотел бы видеть движение пользователя по сегментам неделя за неделей.
date (weekly) user_id segment_name
Jan 7, 2018 123 2
Jan 14, 2018 123 3
Jan 21, 2018 123 2
Jan 28, 2018 123 1
Надеюсь, кто-нибудь может помочь мне разобраться, как это сделать.
РЕДАКТИРОВАТЬ: Я сделал это до этого.Я не знаю, как включить это, чтобы показывать только еженедельную сводку, а для записи - дни с даты последней транзакции с еженедельной даты.
date user_id orders cumu_orders rec date (weekly)
Jan 1, 2018 123 2 2 NA Jan 7, 2018
Jan 2, 2018 123 1 3 1 Jan 7, 2018
Jan 6, 2018 123 1 4 4 Jan 7, 2018
Jan 19, 2018 123 1 5 13 Jan 21, 2018
Jan 20, 2018 123 1 6 1 Jan 21, 2018
Jan 21, 2018 123 1 7 1 Jan 21, 2018
Jan 26, 2018 123 1 8 5 Jan 28, 2018
Jan 27, 2018 123 1 9 1 Jan 28, 2018