выполнил: Григорий Михолап
дата: 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)