Я хочу создать флаговый столбец "order_type", который будет обновляться согласно разнице дат. Как показано в примере ниже для входных и выходных данных, мое требование заключается в том, что если потребитель совершает покупку через 12 месяцев после своей последней покупки, он должен быть снова учтен как покупатель, впервые приобретающий товар.
Входные данные ниже -
-----------------------------------------
|customer_id| order_id |order_date|
-----------------------------------------
|1234 | 1 |2017-07-06|
|1234 | 2 |2018-09-17|
|1234 | 3 |2018-09-20|
|1234 | 4 |2019-05-16|
|1234 | 5 |2020-09-15|
|-----------|---------------|----------|
Выходные данные
--------------------------------------------------------|
|customer_id| order_id |order_date| order_type |
--------------------------------------------------------|
|1234 | 1 |2017-07-06| First purchase |
|1234 | 2 |2018-09-17| First purchase |
|1234 | 3 |2018-09-20| Second purchase|
|1234 | 4 |2019-05-16| Second plus purchase
|1234 | 5 |2020-09-15| First purchase |
|-----------|---------------|----------|----------------|
т.е. Первая сделанная покупка - 2017-07-06 - Первая покупка (вторая покупка) - 2018-09-17 (поскольку разность дат между первой и второй датой более 12 месяцев) - Вторая покупка (третья покупка совершена) - 2018-09-20 (начиная с разницы в датах между вторым и третьим заказом менее 12 месяцев) - Вторая покупка плюс (четвертая покупка совершена) - 2019-05-16 (с момента разница в размерах между третьим и четвертым заказом менее чем за 12 месяцев) - Первая покупка (последняя сделанная покупка) - 2020-09-15 (более 12 месяцев)