ClickHouse – самая быстрая в мире аналитическая СУБД. Для тех, кто с ним ещё не знаком, очень рекомендую попробовать, пересаживаться обратно на MySQL или Postgress потом не захочется.
Обычно данные хранятся в ClickHouse в сыром, неагрегированном виде, и агрегируются на лету при выполнении SQL запросов. Но при решении data science задач часто возникает необходимость выгрузки именно сырых данных, для дальнейшей их обработки в памяти (например, для обучения модели по этим данным).
Читать далее
Некоторые сайты, например новостные, не имеют явных целевых действий, таких как заказ или подписка. Для них важно не выполнение посетителем каких либо действий, а само присутствие посетителя на сайте, желательно регулярное. Но и для e-commerce сайтов тоже очень важны возвраты посетителей, так как вернувшийся посетитель обходится намного дешевле, чем новый. Каждый возврат это шанс что нибудь продать, при этом чем меньше интервал между возвратами, тем больше шансов на осуществление продажи.
Читать далее
В идеальном мире маркетолог или владелец бизнеса не только работает с “конверсиями”, но использует для оценки посетителей сайта Customer Lifetime Value (сокращённо CLV) – грубо говоря, это сумма денег, которую принесёт посетитель за всё время, пока будет пользоваться сервисом. Оценка клиентов по CLV является предпочтительной и для мобильных приложений, и для игр, и для любых онлайн сервисов.
Но в реальной жизни всё, конечно, не так, как в идеальном мире. Чтобы рассчитать CLV клиента, нужны исходные данные: средний чек, частота покупок, и время “удержания”, т.
Читать далее
В предыдущей статье мы рассмотрели самую простую модель оценки конверсионности посетителя по параметрам первого посещения. Благодаря использованию SHAP values можно интерпретировать модели любой сложности, поэтому усложним задачу, и оценим конверсионность посетителя, у которого есть история предыдущего взаимодействия с сайтом.
Наличие такой истории даст нам много новой и полезной информации о намерениях посетителя. Но для начала немного разберёмся с микроструктурой данных, в частности с понятиями “визит/сессия” и “переход”, которые в современной интернет-аналитике перемешаны друг с другом.
Читать далее
$$\DeclareMathOperator{\E}{E}$$ Как понять, что влияет на конверсию положительно, а что отрицательно? В любом отчёте Google Analytics или Я.Метрики есть столбец “конверсия”, и сравнив конверсию в разных строках отчёта, казалось бы, можно получить исчерпывающий ответ.
Но не надо забывать, что любой отчёт показывает срез данных, сделанный по единственному измерению (источник трафика, география, и т.п.), что даёт неполную, а иногда даже неверную картину. Рассмотрим простой пример: есть два города, Москва и Екатеринбург и два вида трафика, органический и реферальный.
Читать далее
При управлении онлайновыми рекламными кампаниями при подключении новых источников (объявлений, баннеров, SMM и т.п.) часто приходится решать проблему:
С одной стороны, разумно подождать, пока источник не выдаст побольше переходов, посмотреть на конверсии, и тогда принимать решение, оставить его в рекламной кампании или отключить. Но если долго ждать, тогда рекламный бюджет будет зря расходоваться на неэффективные источники. С другой стороны, если сократить ожидание, можно случайно отключить источник, который на самом деле конверсионный, и наоборот, оставить неэффективный источник, случайно показавший высокую конверсию.
Читать далее
Введение Этой статьей я начинаю цикл о проблемах Интернет-аналитики (аналитики в широком смысле: аналитика сайтов, аналитика мобильных приложений, игровая аналитика и т.п.) и возможных способах их решения с позиций современного data science. Над этими проблемами я начал размышлять давно, ещё когда делал свои первые проекты по интернет-аналитике, а потом когда создавал Вебвизор и работал в Яндекс.Метрике. Но до практического их решения я добрался только сейчас, когда появилось время на изучение нужной литературы и расширение своего кругозора.
Читать далее
th { text-align: right; } В ходе работы над последним проектом мне понадобилось в промышленных масштабах генерировать сэмплы из бета-распределения. Первое что пришло в голову, это scipy.stat, тем более там есть куча дополнительных возможностей: и CDF, и квантили, и MLE, и всё, что душа пожелает. Но довольно быстро я понял, что scipy нетороплив, и генерация нескольких миллиардов сэмплов затянется на часы, а то и на дни. Стал искать альтернативные варианты и хочу теперь поделиться найденным.
Читать далее
…и остаться в живых? В Pandas существует по меньшей мере три официальных способа добавить колонку, не включая экзотических. Способ №1:
Читать далее