Прогнозирование эффективности каналов привлечения пользователей.

выполнил: Григорий Михолап
дата: 18/01/2016

Задание:

Существует четыре рекламных канала прихода пользователей A, B, C и D. В сентябре канал D был удален, и по май включительно существовало только три рекламных канала. В июне предполагается снова ввести рекламный канал D. Необходимо определить будущее значение пользователей с этого канала в июне. Количество регистраций по периодам на каждом канале представлено в файле “Data.xls” на вкладке “Рекламные каналы”.

Выводы кратко: Прогноз для остановленного канала выполнен на основании данных о результативности данного канала в первые 3 месяца его работы с учетом тренда (рассчитанного на основании данных по 3-м работающим каналам). Спрогнозированное на июнь количество регистраций равно 290. Подробности см. в отчете ниже.

Замечание по поводу программного кода: Программный код, который используется в отчете, в т.ч. и некоторые операции (такие как загрузка и подготовка данных для анализа) не были включены в отчет, при необходимости все эти данные вы можете найти по ссылке

Замечание: месяцы в загруженном датафрейме были расположены в хронологическом порядке - “июнь”, “июль”, “август”, “сентябрь”, “октябрь”, “ноябрь”, “декабрь”, “январь”, “февраль”, “март”, “апрель”, “май”.

Анализ данных

Посмотрим на средние показатели предоставленных данных

Показатель Канал A Канал B Канал С Канал D Все каналы
Среднее число регистраций в месяц 480 620 359 220 486
Среднее отклонение 58 45 13 22 33

Мы видим, что канал B наиболее результативный, на втором месте канал A, на третьем канал C. Канал D, значение по которому предстоит спрогнозировать показал за 3 месяца относительно невысокие показатели, и привел в июне-августе порядка 15% от всех регистраций за эти месяцы. Однако, важно отметить, что кроме числа регистраций, необходимо еще учитывать и стоимость привлечения одной регистрации, возможно по этому показателю канал D может быть интересен. Впрочем, анализ эффективности каналов выходит за рамки данного отчета.

Далее, посмотрим на показатели регистрации по каналам во временной динамике (см. диаграмму)

Мы видим, что каналы А и В показывают положительную динамику, а канал С оставался примерно на одном уровне в течение 12 месяцев. Можно сказать, что в целом наблюдается положительный тренд по показателям регистрации. Следует заметить, что канал D показал за 3 месяца отрицательную динамику, однако из-за небольшого периода наблюдений мы не можем делать какие-либо выводы на основании этого факта.

Далее, посмотрим есть ли зависимость между данными по разным каналам. Для этого рассчитаем коэффициенты детерминации и посмотрим на данные на матрице попарных корреляций. Внимание! в клетках верхней диагонали рассчитаны коэффициенты корреляции между соответствующими парами.

Как видим, нет сильных связей между данными по различным каналам. Будем считать, что каналы работают незавимо: никто не перетягивает регистрации на себя и наборот.

Теперь посмотрим на среднее число регистраций по каналам А, В и С (см. график ниже)

На данном графике мы видим некоторые (вполне объяснимые) сезонные колебания, например, предновогоднее падение в декабре, а также резкое падение в марте, возможно связанное с также с праздниками. Но все-таки у нас недостаточно данных, чтобы говорить о сезонности. В целом же данный временной ряд похож на непериодический временной ряд, (состоящий из составляющей тренда и нерегулярной компоненты), и в рамках данной задачи, следует обратить внимание не на (возможные) сезонные колебания, а на положительный тренд.
При нахождения тренда я не использовал методы сглаживания, а для упрощения воспользовался методом наименьших квадратов для нахождения линейного тренда, который обозначен синей линией на графике. В таблице представлены показатели данной линейной модели - как видим, все коэффициенты статистически значимы (p-value<0.05) и поэтому можно утверждать, что данный тренд не случайный

## Residual standard error: 24.45 on 10 degrees of freedom
## Multiple R-squared:   0.4888 Adjusted R-squared:   0.4377
## F-statistic:  9.56 on 1 and 10 DF,  p-value: 0.011402
Estimate Std. Error t value Pr(>|t|)
(Intercept) 445.1515 15.0493 29.58 0.0000
as.numeric(period) 6.3228 2.0448 3.09 0.0114

(напомню, что все технические детали доступны по ссылке

Данный тренд показывает, что за 12 месяцев (с июня по май) число регистраций выросло на 14%, это свидетельствует о росте популярности нашего сервиса. (при условии, что бюджеты на каналах не увеличивались от месяца к месяцу)
Теперь, когда мы рассчитали тренд, перейдем непосредственно к ответу на исходный вопрос “будущее значение регистраций на канале D в июне”. Для оценки искомого значения предлагаю применить к базовому значению наш тренд, за базу предлагаю взять среднее арифметическое за лето по каналу D (оно, кстати, равно среднему в июле по каналу D и равно 220 регистраций), т.к. тренд выражен линейной функцией, то легко найти прогноз значения на июнь - 290

Иллюстрация на графике наложения тренда по каналам А, В, C для прогнозирования по каналу D

Рассчитаем доверительный интервал для данной оценки. Для этого воспользуемся доверительным интервалом для коэффициента угла наклона K линии тренда. В нашем случае 95% доверительный интервал для K равен (5.02, 7.62) и легко рассчитать, что доверительный интервал для найденного прогноза на июнь равен (275, 304)

Результат: спрогнозированное на июнь количество регистраций по каналу D равно 290 и доверительный интервал для данной оценки равен (275, 304)