У меня есть таблица с платежами
'pays'
user_id | payment_sum | payment_time
1234 | 100 | 2019-03-18
1235 | 140 | 2019-03-12
1234 | 90 | 2019-03-29
1234 | 100 | 2019-04-02
1235 | 120 | 2019-05-03
1234 | 90 | 2019-05-05
Затем у меня есть еще одна таблица с регистрациями пользователей
'regs'
user_id | reg_time | reg_channel | reg_source | reg_campaign
1234 | 2019-04-01 | cpc | google | brand_campaign
1235 | 2019-04-04 | cpa | facebook | creative_1
И последняя у меня таблица с бюджетными кампаниями стоит
'стоимость'
date | cost | channel | source | campaign
2019-03-05 | 145 | cpc | google | brand_campaign
....
2019-03-25 | 129 | cpc | google | brand_campaign
....
2019-04-01 | 167 | cpc | google | brand_campaign
...
2019-05-02 | 167 | cpc | google | brand_campaign
...
2019-03-07 | 145 | cpa | facebook | creative_1
....
2019-03-25 | 129 | cpa | facebook | creative_1
Итак, мне нужно
1) Написать MySQL запрос для расчет для каждой группы по месяцам рег LTV 3,6,9 месяца после регистра для каждого канала, источника, кампании (включая месяц рег) 2) Записать MySQL прогноз запроса для каждой когорты по месяцам рег LTV за 3,6,9 месяца после регистров для каждого канала, источника, кампании и присоедините их к стоимости кампании, чтобы рассчитать рентабельность инвестиций для каждого канала, источника, кампании и сравнить прогнозируемую рентабельность инвестиций с реальной рентабельностью
1) Сначала я попытался рассчитать сумму платежа для каждого когорта по месяцам рег за первые 3 месяца службы
и год (p.reg_time) = год (p.payment_time)
and month(p.reg_time) + 3 >= month(p.payment_time)
Но если для пользователя месяца рег было 12 - я ' видел только один первый месяц
когда я использовал
date_add (p.payment _time, INTERVAL -3 MONTH)
Я видел только один месяц Как решить эту проблему и сгруппировать по месяцам и годам регистрации? (
2) Прогноз ROI и LTV для 3,6 , 9 месяцев (фактически это продолжение предыдущего задания)
Мне нужно построить линейную функцию, например, для LTV 3 месяца на основе 2 показателей - LTV первый месяц и LTV первые 3 месяца (сгруппированы по месяцам и год рег)
Я не могу понять, как построить функцию и вычислить «a» и «b» в линейной функции «y = ax + b» (где «x» - первый месяц LTV, а «y»). '- LTV на первые 3 месяца) И после этого, как присоединиться к нему по месяцам и по каналам, по источникам и кампаниям с таблицей стоимости кампаний