Русский
Русский
English
Статистика
Реклама

A/b-тестирование

Как сменить профессию и стать крутым аналитиком?

09.07.2020 12:23:49 | Автор: admin
Зачем нужна аналитика? На что обратить внимание при поиске первой работы и как подготовиться к собеседованию? Сменить профессию бывает непросто, но в нашей статье мы постарались развеять все ваши сомнения и ответить на самые интересующие вопросы!

Недавно мы вместе с Юрием Тростиным, Head of Analytics and Data Science в Worki, проводили вебинар Как сменить профессию и стать крутым аналитиком?. Смотрите запись этого онлайн-интенсива


Зачем нужна аналитика?


Цель любого бизнеса это извлечение прибыли. Прибыль это выручка минус издержки. Прибыль должна быть максимизирована в долгосрочной перспективе. Как же здесь помогает аналитика?

Есть три больших направления, в которых аналитика добавляет ценности:

1. Формирование бизнес-процессов.

Куда бизнес движется, в правильном ли направлении, как чувствуют себя ключевые сегменты клиентов и бизнеса? Обладая этими данными, аналитик может подсказать решение тех или иных проблем. Допустим, в бизнесе что-то идёт не так, и, в условиях быстро ускоряющегося мира, время это реально самый ценный ресурс. Необходимо решать проблемы и выводить на рынок новые гипотезы быстрее конкурентов, и здесь-то вам поможет аналитика.

2. Принятие взвешенных решений на основе данных.

Здесь уже не только про алертинг, но и про формирование ключевых решений. Ведение любого бизнеса сопровождается неопределенностью и всю полноту информации получить никак нельзя. Если бы информация была всегда полной, доступной и равномерно распределенной между участниками рынка, то аналитика как таковая была бы не нужна. Но и сверхприбыли у бизнеса тоже бы не было. Если у вас есть релевантные данные для принятия решения и понимание, как из них извлечь информацию, то автоматически вы выигрываете у тех, у кого данных и этого понимания нет. Конечно, в бизнесе нельзя всегда принимать правильные решения, но, например, с помощью data-driven подхода можно минимизировать долю неверных решений. Разумеется, для этого вам нужны спецы, которые могут для вас эти данные проанализировать, чтобы они были полные и консистентные, то есть согласованные. Тогда в долгосрочной перспективе из этого можно извлекать пользу.

3. Новые идеи для бизнеса, для развития и экспериментов.

В своей основе это прежде всего какая-то идея, и она может либо зайти на рынок, либо нет. Чем больше релевантных идей и чем больше экспериментов генерируется, тем больше прибыли вы можете в перспективе получить. Прелесть IT-продуктов в том, что исследуя паттерны поведения внутри сервиса, можно понимать инсайты, которые казалось бы изначально неочевидные, но которые говорят о том, как пользователю будет лучше за счет аналитики и данных. Кроме того, в этом же направлении лежат и накопление данных о том, что вы просматривали, чтобы сгенерировать для вас более релевантный контент. Например, это делает YouTube, Netflix, ВКонтакте и др. компании, где очень широко развита рекомендательная система.

Ключевой вопрос для любого анализа, во время и после него: so what?

Что от этого всего бизнесу? Вы каким-то образом улучшаете понимание того, что происходит в бизнесе на данный момент? Вы генерируете больше идей и экспериментов за счет анализа? Вы принимаете более правильные и свежие решения?

Если хотя бы один ответ на три этих вопроса да, то значит аналитик не зря делает свою работу. Аналитика это не просто цифры и числа, это мощный инструмент, который позволяет вести качественный бизнес. Компании, понимающие это, готовы серьёзно вкладываться в аналитику, ибо знают, что несмотря на затратность процесса, от этого можно получить гораздо больше.

На что важно обратить внимание при поиске первой работы?


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

На что стоит обратить внимание при поиске первой работы?

Пункты пойдут по убыванию важности, от наиболее важным к наименее:

1. Самое главное это команда и руководитель.

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

Постарайтесь про них выяснить как можно больше: посмотрите в интернете их выступления, ведут ли они какие-то блоги или каналы, может быть, они пишут тексты в профильных сообществах. Если хотя бы один человек в команде что-то из этого делает, то это хороший знак.

На интервью подробно расспросите, что ожидается от джуна, какой в компании формат взаимодействия в коллективе. Помните, что ваша основная цель это прокачаться и уйти оттуда с полным знаний и опыта багажом.

2. Сама компания.

Это не про офис и условия труда это, конечно, неплохо, но это не долгосрочная мотивация. Это про посыл, которая сама компания транслирует.

Качественный личностный рост может быть только вместе с мотивацией. Если мотивации нет, то нельзя классно прокачаться. Если ваш вайб резонирует с вайбом компании, то только тогда вы сможете эффективно усовершенствовать свои навыки. Лучше сразу найти себе какое-то место по душе. Аналитика сейчас нужна везде: в e-commerce, classified, foodtech, gametech, HR, медиа, логистика и т.д. Реально везде есть данные и с ними нужно работать, чтобы эффективно управлять бизнесом.

3. Стэк технологий, которые компания использует.

Как джун вы можете в них не разбираться, от вас это по большому счету никто и не ждёт, но если ребята пользуются Excel и у них база одна MySQL, то вам стоит насторожиться. Да, Excel это супер мощный инструмент, но если у компании классный cтэк по работе с данными, то это значит, что она понимает их важность и готова в них вкладываться. И, скорее всего, у бизнеса есть классная команда, а это значит, что вы можете круче прокачаться.

Что вы можете предложить при поиске первой работы аналитиком?


1. Знание SQL.

Если вы не сможете достать нужные данные, то вы не сможете сделать анализ. Достать данные вы можете с помощью SQL. У Юрия Тростина была куча реджектов из-за того, что он не знал SQL. Потом, конечно, ему пришлось его выучить.

SQL бывает разный:

  • Стандартный SQL, который сформировался в 80-е годы. Именно его надо учить изначально. Стандартный SQL Юрий учил с помощью сайта sql-ex.ru. Это сборник задач по SQL, где есть различные виды баз данных и там можно попробовать поотвечать на аналитические вопросы.
  • В российской IT-индустрии популярен другой диалект SQL, с которым работает ClickHouse. ClickHouse это колоночная аналитическая СУБД с открытым кодом, позволяющая выполнять аналитические запросы в режиме реального времени на структурированных больших данных, разрабатываемая компанией Яндекс.

ClickHouse сейчас используют повсеместно все, например, Mail.ru Group, Авито, Яндекс. Его синтаксис не сильно отличается от основного, хотя, конечно же, есть различия, которые делают его более функциональным в работе с ClickHouse. Его задачи заточены именно на анализ, на лиды, а не только на извлечение данных.

2. Python.

Это стандарт индустрии для анализа данных, data science, в нем также можно сразу создавать визуализации. Владение Python позволяет вам проводить определенные операции гораздо быстрее, если вы используете его в связке с SQL, в отличие от того момента, когда у вас есть просто SQL. Знание Python будет супер плюсом для потенциального джуна.

Юрий Тростин отмечает, что Python давался ему куда проще, чем SQL. Он очень много зависал на kaggle.com, делал там competitions. Также там есть очень много различных скриптов по анализу, чистке, визуализации данных в Python. Второй момент это курсы. Например, тот же курс от ProductStar.

3. Системы визуализации данных / BI-системы.

Без визуализации данных ваш анализ не имеет никакого смысла. С помощью BI-системы вы сможете проанализировать данные, визуализировать их, собрать графики в единый дашборд, который будет давать больше представления о том, что происходит в бизнесе, а также из этих данных можно на лету генерить инсайты. Такие продукты, как Tableau, Power BI, QlikView, это все относится к BI-функционалу. Они похожи между собой, поэтому если ознакомиться с каким-то одним из этих продуктов, то вам не будет составлять труда пересесть на что-то другое впоследствии.

4. Специфические продукты, используемые в аналитике.

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

Узкие инструменты для маркетинговой аналитики это Google Analytics и Яндекс.Метрика. Для продуктовой аналитики Amplitude, который нужен для анализа пользовательского поведения в приложениях.

5. Эконометрика, A/B-тестирование, Data science.

На джуниорском уровне это не так важно, но в дальнейшем знание таких инструментов вам точно понадобится, если вы хотите преуспеть в аналитике.

Не нужно переходить к инструментам ниже по списку, если вы сначала не выучили инструменты выше. Если вы еще не знаете SQL, то не стоит начинать учить Python и т.п.

Что еще может помочь при поиске первой работы?


1. Решение бизнес-кейсов.

При решении бизнес-кейсов вы научитесь думать и говорить структурировано, быстро и четко. Вы научитесь выдвигать гипотезы, запрашивать релевантные данные, проводить качественный анализ и делать корректные выводы. Также это научит вас понятно доносить информацию о проделанной работе до разных людей.

2. Представление о том, как работает IT.

Это нужно потому, что обычно аналитик находится между бизнесом и технической командой. Аналитику нужно уметь находить коннект как с бизнесом, так и с технической командой.

3. Знакомства в индустрии.

Это ценно в особенности для тех, кто не имеет технического образования. Через знакомства можно получить рекомендации, это, конечно, не определяющее, но в какой-то момент может помочь.

Есть разные оффлайн и онлайн митапы, где вы можете знакомиться с людьми. Есть также большое Slack-сообщество Open Data Science (ODS), где больше 30 тысяч человек, среди которых вы также можете найти себе людей по интересам.

Чего ждать на интервью?


Типичная схема собеседования:

1. Знакомство;

2. Техническая часть.

Проверка навыков, которые вы указали в резюме;

3. Домашнее задание.

Вам либо предоставляется схема данных, по которой вы должны в итоге прислать не конкретный ответ в виде цифр, а SQL. В другом варианте вам дадут data set, который нужно будет проанализировать с помощью Python или другого языка программирования и далее прислать рекомендации по этому анализу;

4. Мотивационное интервью.

Выясняют, зачем вам нужна именно эта работа.

Что делать джуну на первой работе?


Главное в первой работе это максимальная прокачка.

1. Как можно больше общайтесь с командой.

При решении каких-либо задач всегда советуйтесь со своими коллегами, таким образом вы будете впитывать их опыт и делать более качественную работу.

2. Постарайтесь понять, как именно работает бизнес.

Задавайтесь вопросами:

  • Что продает ваша компания?
  • Какова экономика одной продажи?
  • Какова модель монетизации?
  • Что получает пользователь, когда пользуется продуктом вашей компании?

Это поможет сформировать вам цельную картину бизнеса, которая в то же время поможет вам при анализе данных и выдвижении гипотез.

3. Общайтесь не только со своей командой.

Общайтесь с самыми разными людьми внутри: разработка, продукт, маркетинг, продажи. Они могут поделиться с вами крутыми инсайтами о бизнесе и рынке.

4. Расширяйте сферы компетенции, не только по части аналитики.

5. Не засиживайтесь на одном месте.

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

На что стоит смотреть при формировании команды?


1. Желание и страсть работать с данными.

Если вы любите искать паттерны в данных, если вы понимаете, что за данными стоит физический смысл, если вы можете с помощью данных на что-то влиять, то эта работа точно для вас.

2. Драйв.

Это про желание менять вещи. Классный аналитик должен быть проактивным.

3. Разнообразный опыт.

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

4. Мотивация.

Важно, чтобы человек четко осознавал:

  • Что он хочет получить в результате этой работы?
  • Почему человек решил работать с данными?

5. Технические скиллы.

Никуда без них.

Полезные ссылки от Юрия Тростина:



Виктор Ченг это икона в сфере консалтинга У него есть классные книги и лекции на ютуб, а также аудиозаписи кейс-интервью. Вы можете их найти и послушать.


Очень распространённая книжка в сфере консалтинга, которая представляет собой сборник бизнес-кейсов. Попробуйте прочитать и самостоятельно порешать кейсы из этой книжки.


Книга рассчитана на большой пласт специалистов, от джунов до профи. Книга хорошо развивает мысль, зачем вообще нужна аналитика. Создает даже некий фреймворк о том, как можно думать про аналитику в компании.


Любимый канал Юрия на ютуб. Там есть много быстрых курсов, в том числе и про Computer Science. С помощью этого курса вы сможете изучить основы Computer Science и понять откуда она зародилась.


Хорошая книга о том, как работают сети Интернет. Достаточно простая, рекомендую к прочтению.


Этот источник позволяет по-новому взглянуть на аналитику, на важность отдельных метрик. В этом гайде есть туториалы, как можно все эти знания использовать в Amplitude.


Выступление Юрия Тростина в Минске, где он рассказывает, как они делают data-driven стартап Worki.

Также аналитиком можно стать на нашем годовом курсе Профессия: Аналитик (с 0 до PRO) Узнать подробности!

Подробнее..

AB-тест в инженерно-геологических изысканиях на языке Python

05.06.2021 14:06:41 | Автор: admin

1. Введение

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

При данной постановке задачи можно применить методику A/B-тестирования со следующими параметрами:

  1. Измеряемой метрикой будет среднее значение плотности скелета грунта (pd, г/см3), характеризующее сложение проб. Данная величина имеет нормальный закон распределения;

  2. Критерием проверки гипотезы будет служить t-критерий (критерий Стьюдента):для двух независимых выборок, если сопоставляемые полевые (до транспортировки) и лабораторные (после транспортировки) данные проводились на разных пробах грунта;для двух зависимых выборок, если исследования выполнены на одних и тех же пробах.

В рамках данной темы мы сгенерируем две случайные выборки, которые будем сопоставлять, сформулируем статистические гипотезы, проверим их и сделаем выводы.

2. Генерация выборок

2.1 Оценка объема выборок

В рамках дизайна эксперимента, перед генерацией выборок плотностей, прикинем их необходимый объем при заданномразмере эффекта (ES - effect size),мощности (power)идопустимой ошибке I рода ()(определения данных терминов приведено ниже). Расчет произведем с привлечением пакетаstatsmodels.

Размер эффекта (стандартизированный) величина, характеризующая различие, которое мы хотим выявить, равная отношению разности средних значений по выборкам к взвешенному стандартному отклонению. В нашем случае:

{ES = \frac{{(\bar{X}_1 - \bar{X}_2)}_{obs}}{{S}_{pooled}}}{ES = \frac{{(\bar{X}_1 - \bar{X}_2)}_{obs}}{{S}_{pooled}}}

Взвешенное стандартное отклонениеSpooledдля выборок одинакового размера можно расcчитать по формуле:

{S}_{pooled}= {\sqrt{\frac{{S}_{1}^2+{S}_{2}^2}{2}}}

Существует условная классификация размера эффекта (Cohen, 1988) ES = 0.2 - маленький; 0.5 - средний; 0.8 - большой.

Мощность вероятность не совершить ошибку II рода (обычно принимается равной 80%).

Пояснения по ошибкам I и II рода приведены в таблице ниже:

H0верна

H1верна

H0принимается

H0верно принята

Ошибка II рода ()

H0отвергается

Ошибка I рода ()

H0верно отвергнута (power = 1-)

Для описанных выше величин примем следующие значения:

  • = 0.05 (вероятность выявить различия между средними при их отсутствии)

  • ES = 0.5 (размер эффекта составит половину от дисперсии измеряемых величин плотности).

  • Power = 0.8 (вероятность выявления установленного различия между средними значениями).

Теперь к коду:

#Импорт библиотекimport numpy as npfrom statsmodels.stats.power import TTestIndPowerfrom matplotlib.pyplot import figureimport matplotlib.pyplot as pltimport scipyfrom statsmodels.stats.weightstats import *
#Задаем параметрыeffect = 0.5alpha = 0.05power = 0.8analysis = TTestIndPower()#Оценка размера выборкиsize = analysis.solve_power(effect, power=power, alpha=alpha)print(f'Размер выборки, шт.: {int(size)}')

Размер выборки, шт.: 63

При заданных значения мощности, размера эффекта и уровня значимости минимальный размер каждой выборки должен составлять63пробы. Для красоты округлим полученное число до65шт.

Давайте построим график зависимости необходимого размера выборок от размера эффекта при заданной мощности и уровне значимости.

plt.figure(figsize=(10, 7), dpi=80)results = dict((i/10, analysis.solve_power(i/10, power=power, alpha=alpha))                for i in range(2, 16, 1))plt.plot(list(results.keys()), list(results.values()), 'bo-')plt.grid()plt.title('График зависимости необходимого объема выборки \n от размера эффекта')plt.ylabel('Размер выборки n, шт.')plt.xlabel('Размер эффекта ES, д.е.')for x,y in zip(list(results.keys()),list(results.values())):    label = "{:.0f}".format(y)    plt.annotate(label,                  (x,y),                  textcoords="offset points",                  xytext=(0,10),                  ha='center')plt.show()

Данный график позволяет увидеть, как быстро изменяется необходимый объем выборок при уменьшении фиксируемого размера эффекта ES. Например: при выявлении различия в плотности проб грунта до и после их транспортировки в 0,03г/см3при стандартном отклонении в 0,1г/cм3(ES = 0,03г/см3/ 0,1г/см3= 0,3 д.е.), необходимый объем проб по каждой выборке должен составить не менее 175 проб для заданной мощности и уровня значимости (power=0.80,=0.05).

2.2 Генерация выборок

Теперь зная необходимый минимальный размер выборок, сгенерируем их с помощью библиотекиnumpy.

Измеряемая физическая характеристика грунта (плотность скелета) имеет нормальный закон распределения. В рамках данного примера зададим генератору следующие значения среднего (X) и стандартного отклонения (S):

  • для первой выборки X1= 1,65г/см3,S1= 0.15г/см3;

  • для второй X2= 1,60г/см3,S2= 0.15г/см3.

loc_1 = 1.65sigma_1 = 0.15loc_2 = 1.60sigma_2 = 0.15sample_size = 65#Генерируем выборки с заданными параметрамиsample_1 = np.random.normal(loc=loc_1, scale=sigma_1, size=sample_size)sample_2 = np.random.normal(loc=loc_2, scale=sigma_2, size=sample_size)

Постоим гистограммы и "ящик с усами" по полученным выборкам.

fig, axes = plt.subplots(ncols=2, figsize=(18, 5))max_y = np.max(np.hstack([sample_1,sample_2]))#Гистрограмма по выборке 1count_1, bins_1, ignored_1 = axes[0].hist(sample_1, 10, density=True,                                           label="Выборка 1", edgecolor='black',                                          linewidth=1.2)axes[0].plot(bins_1, 1/(sigma_1 * np.sqrt(2 * np.pi)) *               np.exp( - (bins_1 - loc_1)2 / (2 * sigma_12)),         linewidth=2, color='r', label='плотность вероятности')axes[0].legend()axes[0].set_xlabel(u'Длина сессии, с')axes[0].set_ylabel(u'Количество сессий, шт.')axes[0].set_ylim([0, 5])axes[0].set_xlim([1.1, 2.2])#Гистрограмма по выборке 2count_2, bins_2, ignored_2 = axes[1].hist(sample_2, 10, density=True,                                           label="Выборка 2", edgecolor='black',                                           linewidth=1.2, color="green")axes[1].plot(bins_2, 1/(sigma_2 * np.sqrt(2 * np.pi)) *               np.exp( - (bins_2 - loc_2)2 / (2 * sigma_22)),         linewidth=2, color='r', label='плотность вероятности')axes[1].legend()axes[1].set_xlabel(u'Длина сессии, с')axes[1].set_ylabel(u'Количество сессий, шт.')axes[1].set_ylim([0, 5])axes[1].set_xlim([1.1, 2.2])plt.show()
#Ящик с усамиfig, ax = plt.subplots(figsize=(8, 8))axis = ax.boxplot([sample_1, sample_2], labels=['Выборка 1', 'Выборка 2'])data = np.array([sample_1, sample_2])means = np.mean(data, axis = 1)stds = np.std(data, axis = 1)for i, line in enumerate(axis['medians']):    x, y = line.get_xydata()[1]    text = ' ={:.2f}\n ={:.2f}'.format(means[i], stds[i])    ax.annotate(text, xy=(x, y))plt.ylabel('Плотность скелета грунта, г/см3')plt.show()

3. Формулировка гипотез

Пришло время для формулировки гипотез. У нас могут быть два случая:

  • Случай 1. Сопоставляемые полевые и лабораторные данные по определению плотности скелета грунта относятся к разным пробам, тогда t-критерий будет рассчитываться для двух независимых выборок;

  • Случай 2. Исследования в поле и лаборатории выполнены на одних и тех же пробах, тогда t-критерий будет рассчитываться для двух зависимых выборок.

Начнем с первого варианта.

Вариант 1. Для двух независимых выборок

С помощью двухвыборочного критерия Стьюдента проверим гипотезу о равенстве средних выборок.

Нулевая гипотезаH0:средние значения равны1=2.

Альтернативная гипотезаH1:средние не равны12.

Статистика:

T({{X_1}^{n_1}},{{X_2}^{n_2}}) = \frac{\bar{X_1}-\bar{X_2}} {\sqrt{\frac{S_1^2}{n_1} + \frac{S_2^2}{n_2}}}

Нулевое распределение:T(X1n1,X2n2)~St(), где степень свободывычисляется по следующей формуле

{\nu = \frac{ ({\frac{S_1^2}{n_1} + \frac{S_2^2}{n_2}})^2 } {\frac{S_1^4}{n_1^2(n_1-1)}+ \frac{S_2^4}{n_2^2(n_2-1)} } }

Для расчета достигаемого уровня значимости воспользуемся методомttest_indмодуляstats.

t_st, p_val = scipy.stats.ttest_ind(sample_1, sample_2, equal_var = False)print(f't-критерий составил {round(t_st, 2)}')print(f'Рассчитанный t-критерий дает достигаемый \уровень значимости (p-value) равный {round(p_val, 3)}')

t-критерий составил 2.92

Рассчитанный t-критерий дает достигаемый уровень значимости (p-value) равный 0.004

Вывод для варианта 1

Нулевая гипотезаH0о том, что средняя плотность скелета грунта не изменилась после транспортировки,отвергаетсяна уровне значимости 0,05 (достигаемый уровень значимостиp-valueдля сгенерированных выборок составил 0.004) в пользу альтернативной.

Давайте интервально оценим разность средних по данным выборкам.

c_m = CompareMeans(DescrStatsW(sample_1), DescrStatsW(sample_2))print("95%% доверительный интервал: \[%.4f, %.4f]" % c_m.tconfint_diff(usevar='unequal'))

95% доверительный интервал: [0.0235, 0.1228]

Так как ноль не попадает в рассматриваемый 95% доверительный интервал, мы можем сделать вывод, что средние значения рассматриваемых выборок отличаются на уровне значимости в 5%.

Вариант 2. Для двух связанных выборок

Допустим, что оценка плотности скелета грунта в полевых (до транспортировки) и лабораторных (после транспортировки) условиях проводилась для каждого образца. Тем самым выборки будут является зависимыми, а проверка нулевой гипотезы об отсутствии изменений в плотности грунта при транспортировке будет осуществляться с помощью двухвыборочного критерия Стьюдента для связанных выборок.

Нулевая гипотезаH0:средние значения равны 1=2.

Альтернативная гипотезаH1:средние не равны12.

Статистика:

T({{X_1}^{n}},{{X_2}^{n}}) = \frac{\bar{X_1}-\bar{X_2}} {\frac{S}{\sqrt{n}}}S^2 = \frac{1}{n-1} \sum_{i=1}^n (D_i - \bar{D})^2, D_i = X_{1i} - X_{2i}

Нулевое распределение: T(X1n, X2n)~St(n-1)

Для расчета достигаемого уровня значимости воспользуемся методомttest_relмодуляstats.

t_st, p_val = stats.ttest_rel(sample_1, sample_2)print(f't-критерий составил {round(t_st, 2)}')print(f'Рассчитанный t-критерий дает достигаемый \уровень значимости (p-value) равный {round(p_val, 3)}')

t-критерий составил 2.79

Рассчитанный t-критерий дает достигаемый уровень значимости (p-value) равный 0.007

Вывод для варианта 2

Нулевая гипотезаH0о том, что средняя плотность скелета грунта не изменилась после транспортировки,отвергаетсяна уровне значимости 0,05 (достигаемый уровень значимостиp-valueдля сгенерированных выборок составил 0.007).

Для наглядности также давайте интервально оценим разность средних по данным выборкам

print("95%% confidence interval: [%.4f, %.4f]"      % DescrStatsW(sample_1 - sample_2).tconfint_mean())

95% confidence interval: [0.0208, 0.1255]

Так как ноль не попадает в рассматриваемый 95% доверительный интервал, мы можем сделать вывод, что средние значения рассматриваемых выборок отличаются.

5. Итог

В данной статье мы рассмотрели возможность применения языка Python при решении практической задачи в инженерной геологии, с попутным исследованием вопроса о необходимом объеме выборки для проверки гипотез.

Подробнее..

Перевод Ущерб от баннерной рекламы

31.03.2021 10:06:06 | Автор: admin

Очевидно, баннерная реклама раздражает пользователей. Но насколько сильно? Возможно, она настолько всех бесит, что доход от рекламы не стоит потерь в трафике. А возможно, и нет. Если коротко даже единственный небольшой баннер снижает трафик примерно на 10%. Подробный анализ под катом.

КОММЕНТАРИЙ ПЕРЕВОДЧИКА

Эта статья - сильно сокращённый перевод оригинального текста. Я не добавлял ничего от себя, но удалил подробности статистического анализа, большую часть обзора литературы (это были в основном пересказы статей, на которые ссылается автор) и результаты опроса на тему того, почему люди не пользуются адблоком (в зависимости от формулировки вопроса 23-71% отвечают, что не знают, что это такое; некоторые не могут его поставить, потому что не разбираются в компах или потому что админ на работе не разрешает).

Что мне особенно нравится в gwern.net, особенно по сравнению с остальным Интернетом, так это скорость загрузки и отрисовки страницы. Поэтому в моих прежних A/B-тестах я в основном проверял всякие изменения в CSS, не влияющие на скорость работы. А что на неё влияет? Как выяснилось, тормозят преимущественно Google AdSense (над заголовком раньше висел баннер средних размеров) и комментарии Disqus.

Комментарии я удалять не хочу. Заменить Disqus тоже особо не на что: хоть мне и не нравится тот объём некешируемого JS, который он подтягивает, я не знаю другой системы для комментов с нормальным антиспамом и сравнимым числом пользователей. К тому же он нормально работал пять с лишним лет, так что не вижу большой необходимости что-то менять.

А вот AdSense другое дело. Я им пользуюсь только потому, что он приносит мне немного денег (~30$ в месяц, ~360$ в год; могло бы быть больше, но примерно 60% моих читателей пользуются AdBlock). Так что поэкспериментировать с рекламой будет довольно интересно: это и один из самых тяжеловесных элементов страницы, и повод поиграться с теорией принятия решений (посчитать пороги и EVSI), и приложение для Байесовского анализа временных серий в JAGS/Stan, и вообще проверка того, насколько A/B-тесты хороши для таких серьёзных вопросов.

Эффекты рекламы: глобальные и локальные

Прежде всего, доход от рекламы довольно невелик значительно меньше, чем мне приносит Patreon. Если я теряю, скажем, 10% трафика и влияния из-за лагов или раздражающего баннера, то тридцать баксов в месяц явно того не стоят.

Классические A/B-тесты с разделением пользователей на подгруппы часто критикуют за то, что они не позволяют увидеть лес за деревьями и дают абсолютно точный ответ на бесполезный вопрос. Да, изменение увеличивает рассматриваемые метрики типа времени на странице или числа кликов, но не причиняет ли оно сайту или сообществу вред, заметный только в макромасштабе? Не получится ли так, что ущерб от каждого конкретного изменения будет копеечным или вообще статистически незначимым, но все вместе они превратят сайт не пойми во что?

Поэтому в качестве метрики я буду использовать общий суточный трафик. Он описывает скорее привлекательность сайта в целом, чем качество конкретной страницы, и зависит в том числе и от того, сколько ссылок на мой сайт было выложено в данный день в социальных сетях. Известно, что для A/B-тестирования в контексте социальных сетей нельзя просто показать половине пользователей одну версию страницы, a второй половине другую. Поскольку люди в социальных сетях взаимодействуют друг с другом, их активность не является независимой и не подлежит простому статистическому анализу типа t-тестов. Надо сперва выделять крупные группы пользователей (например, связные подграфы), которые будут приблизительно независимыми друг от друга, и гонять тесты уже на них. Поскольку я не могу выделять такие группы среди посетителей сайта, остаётся менять версии каждый день (или неделю) и смотреть, как это повлияет на трафик.

Менять страницы вручную, конечно, не хочется. Даже не столько потому, что это мартышкин труд кеширование может привести к тому, что исследуемые группы пользователей перемешаются. Так что временной A/B-тест делается вот как: перед вызовом AdSense JS надо вставить какое-нибудь условие типа если номер дня в году (1-366) mod 2 равно нулю, то не показывать рекламу, а через несколько месяцев вытащить трафик за каждый день из Google Analytics. Так как логика тестирования находится на клиенте, кеширование ни на что не влияет. Использование JS тоже не проблема, так как люди с отключенным JavaScript в любом случае не видят рекламу. Ну и поскольку распространение ссылок в социальных сетях дело достаточно медленное, то нужно менять сайт не раз в сутки, а раз в пару дней.

Имплементация

Всё просто: я скопипастил откуда-то код для получения номера дня, сгенерировал 366 нулей и единиц (группами по два) и показываю рекламу, если для дня с соответствующим номером в моём массиве единица:

<!-- Medium Header --><ins class="adsbygoogle"     style="display:inline-block;width:468px;height:60px"     data-ad-client="ca-pub-3962790353015211"     data-ad-slot="2936413286"></ins><!-- A/B test of ad effects on site traffic: randomize 2-days based on day-of-year & pre-generated randomness; offset by 8 because started on 2016-01-08 --><script>    var now = new Date(); var start = new Date(now.getFullYear(), 0, 0); var diff = now - start;    var oneDay = 1000 * 60 * 60 * 24; var day = Math.floor(diff / oneDay);    randomness = [1,0,0,0,1,1,0,0,1,1,0,0,0,0,1,1,0,0,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,1,0,0,1,1, 1,1,1,1,0,0,0,0,1,1,1,1,0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0,1,1,0,0,1,1,1,1,0,0,1,1,0,0,0, 0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,1,1,1,1,1,1,0,0,1,1,0,0,1,1,0,0,0,0,1,1,0,0,1,1,1,1,1,1,0,0,1,1,0,0,0,0,0, 0,1,1,1,1,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,1,1,1,1,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,1,1,1,1,0,0,0,0,1,1,0,0,1,1,1,1,0,0,0,0,1,1,1, 1,1,1,1,1,0,0,0,0,1,1,0,0,0,0,1,1,1,1,0,0,0,0,1,1,0,0,1,1,0,0,1,1,1,1,1,1,1,1,0,0,0,0,1,1,0,0,0,0,1,1,0, 0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,1,1,0,0,1,1,0,0,0,0,1,1,1,1,0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,1, 1,1,1,0,0,1,1,0,0,0,0,1,1,0,0];    if (randomness[day - 8])        {       (adsbygoogle = window.adsbygoogle || []).push({});       }

Этот код прост, статичен и не страдает от проблем с кешами, но один подводный камень я всё-таки пропустил. Судя по отчёту AdSense, число показов рекламы растёт и падает по расписанию, но не падает до нуля. Это вообще-то странно: код A/B-теста исполняется до рекламного кода, а браузеры с отключенным JS в любом случае не видят рекламу. Как так получилось, что код AdSense исполнился, а мой код нет? В конце концов до меня дошло: реклама показывается в зависимости от даты, да, но от чьей даты? От той, которая стоит на компьютере пользователя. В один и тот же момент браузер с одной стороны линии перемены дат смотрит в список, видит там единицу и показывает рекламу, а браузер с другой стороны видит ноль и не показывает. По-хорошему надо было бы переписать тест с учётом часовых поясов, но к тому времени, как я разобрался, было уже поздно перезапускать эксперимент. К тому же на основании отчёта AdSense можно посчитать процент некорректно учтённых просмотров и сделать поправку.

Баннеры и теория принятия решений

Теория принятия решений позволяет оценить стоимость эксперимента и результаты, при которых мне нужно будет удалить (или оставить) баннеры. Цена самого эксперимента считается довольно просто: каждый день без рекламы обходится мне в 1$, её нет в 50% дней, так что эксперимент длиной в 200 дней будет стоить ~100$. В качестве общего дохода можно принять дисконтированную стоимость рекламы. Если считать, что доход с трафика не будет сильно меняться, и принять коэффициент дисконтирования в 5%, она составляет 360/log(1.05)=7378$. Вроде бы немало.

С другой стороны, реклама может причинять значительный ущерб трафику. ~40% посетителей видят рекламу; если она отпугнёт хотя бы 5% тех, кто её увидел, то при посещаемости в 635123 человека (за 2016 год) это означает потерю 6351230.400.05=12702 посетителей, что эквивалентно примерно неделе трафика. Это, конечно, неприятно, но насколько неприятно? Доллары надо сравнивать с долларами, а не с моими эмоциями.

Если бы у меня был коммерческий сайт, то я бы использовал средний доход с одного посетителя (через вероятность продажи или количество показанной рекламы) и умножил его на объём потерянного трафика. Вот только в отсутствие рекламы прямой доход с одного посетителя буквально равен нулю. Остаётся только перевести эмоции в деньги: готов ли я пожертвовать 1 неделей трафика ради 360$? Или, что то же самое, соглашусь ли я на предложение удалить свой сайт за >$18720 в год? Может, удалю, может, нет. Или, что то же самое, готов ли я платить 0.02$ за одно посещение? Я не могу позволить себе выбрасывать сотни тысяч долларов на трафик, но пара центов за читателя звучит разумно.

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

Общий доход выглядит вот так:

(360-635123\times0.4\times t\times0.02)\over log(1.05)

t это уменьшение трафика в процентах. Так что долгосрочный эффект при разных t составит: 1% = +$4775; 5% = +$2171; 10% = -$3035; 20% = -$13449 и т.д. Получается, проблема сводится к простому вопросу: теряю ли я больше 2.8% трафика за счёт рекламы? Если да, то я её удалю; если нет то 360 баксов в год всё-таки не лишние.

Обзор литературы

Очевидно, что реклама снижает трафик, но насколько сильно?

К сожалению, до начала первого эксперимента в 2017 году мне не удалось найти хороших статей по поводу влияния рекламы на общий трафик. На доход или per-page engagement да, а вот на трафик увы. Такие исследования проводились (см. таблицу ниже), но они либо вышли после моей работы, либо я их просто не нашёл.

Есть немного литературы насчёт избегания рекламы, по большей части основанной на опросах пользователей и экономических моделях. Основные результаты такие: люди утверждают, что им сильно не нравится реклама в интернете и на ТВ; они не любят персонализацию, но персонализированная реклама их раздражает несколько меньше, чем обычная; заметная часть пользователей активно избегает рекламы на ТВ (5%-23% в зависимости от метода оценки); реклама особенно сильно раздражает людей, когда они ищут что-то конкретное; в рабочем контексте (Amazon Mechanical Turk) люди готовы терпеть немного рекламы и не требовать повышенной оплаты (Goldstein et al 2013/Goldstein et al 2014).

Эти результаты подтверждают, что часть пользователей иногда готова прилагать некоторое количество усилий, чтобы не смотреть на рекламу (о том же свидетельствует высокое количество пользователей адблока), но они ничего не говорят о том, побуждает ли реклама уйти с данного сайта или телеканала на какой-нибудь другой, где рекламы не будет. Исследователи фокусируются на чём угодно, кроме идеи убрать рекламу вовсе; её присутствие принимается как данность (Abernethy 1991, Bayles 2000, Edwards et al 2002, Brajnik & Gabrielli 2008 и Wilbur 2016, Michelon et al 2020). Это отмечается и в исследовании от Google за 2015 год Focusing on the Long-term: Its Good for Users and Business: Самая простая и очевидная идея оптимизировать то, какую именно рекламу показывать, на основании краткосрочной доходности. Но этот подход может навредить в долгосрочной перспективе, если окажется, что мы пожертвовали комфортом пользователя. Поскольку у нас нет методов оценки долгосрочного эффекта, остаётся только использовать метрики довольства пользователей и считать их косвенным показателем долгосрочной успешности. По итогам исследования они решили снизить рекламную нагрузку в мобильном интерфейсе поиска на 50%, и активность пользователей действительно увеличилась.

В целом, негативные последствия рекламы не должны быть особенно велики. Во-первых, в противном случае адблок стоял бы вообще у всех пользователей. Если людям лень потратить полчаса на то, чтоб избавиться от почти всей рекламы на годы вперёд то не так уж она и плоха. Это касается и меня самого: любые манипуляции с рекламой на моём сайте коснутся только тех 40% посетителей, у которых нет адблока.

Во-вторых, сайты сильно различаются по качеству дизайна, и даже безумно успешные проекты могут быть полным шлаком с точки зрения UI/UX (Amazon тому пример). Возможно, пользователям вообще плевать на то, как сайт выглядит и удобен ли он в использовании. A/B-тестирование любых правок на сайте обычно показывает изменения в единицы процентов не в десятки процентов и уж тем более не в разы (см.What works in e-commercea meta-analysis of 6700 online experiments, Brown & Jones 2017; p-Hacking and False Discovery in A/B Testing, Berman et al 2018).

В-третьих, рекламные системы хорошо оптимизированы: AdSense подгружает рекламу асинхронно и не тормозит рендеринг страницы (а лаги точно отпугивают пользователей куда сильней, чем плохой дизайн). Google вкладывает миллиарды долларов в то, чтобы подбирать для пользователя максимально подходящую и, соответственно, минимально раздражающую рекламу. Баннеры не влияют на SEO и ранжирование в PageRank и его аналогах. Есть масса исследований про то, как оптимизировать доставку рекламы. Так что если реклама плоха то она плоха в принципе, а не потому что сделана криво.

Ну и наконец, если реклама такое уж большое зло с точки зрения владельца сайта, то как так вышло, что никто про это не пишет? Можно ожидать, что в таком случае все бы давно уже знали, что рекламу надо ставить, только если вам очень сильно нужны деньги.

Ещё несколько работ вышло уже после того, как я закончил эксперимент (или я нашёл статьи, которые мне раньше не попадались). Результаты в таблице ниже.

Авторы и платформа

Дата

Метод

Объект исследования

Тип рекламы

n (млн чел)

Эффект

Что измеряли

Huang et al. 2018, Pandora

Июнь 2014 - февраль 2016

Рандомизированное исследование

Мобильное приложение

Вставки в аудио

34

7.5%

Общее время прослушивания

Miroglio et al. 2018, Mozilla

Февраль - апрель 2017

Анализ корреляции

Десктопный браузер

Все типы

0.358

28%

Общее время в интернете

Yan et al. 2019, LinkedIn

Март - июнь 2018

Рандомизированное исследование

Мобильное приложение

Рекламные посты в ленте

102

12%

Общий уровень взаимодействия с лентой

McCoy et al. 2007

2004?

Рандомизированное исследование

Десктопный браузер

Баннеры и всплывающие окна

0,000536

11%

Готовность посетить сайт ещё раз (результаты опроса)

Hohnhold et al. 2015, Google

2013-2014

Рандомизированное исследование

Поиск гугла (десктопная и мобильная версия)

Текстовая реклама в результатах поиска

500?

50-70% (?)

Общее число поисковых запросов

Google

2007?

Рандомизированное исследование

?

Реклама AdSense

>>1?

~5%?

Общий трафик

Schiller et al. 2017, PageFai

Июль 2013 - июнь 2016

Анализ корреляции

Веб-сайты

Все типы

<535?

<19%

Общий трафик (место в рейтинге Alexa)

Yan et al. 2020, анонимная газета

Июнь - сентябрь 2015

Анализ корреляции

Зарегистрированные пользователи сайта

Баннеры

0.08

20%

Общий трафик

Aral&Dhillon 2020, New York Times

Июнь 2013 - январь 2014

Анализ корреляции

Все посетители страницы

Тривиально обходимый пэйволл

29.7

9.9%

Просмотры статей

Исследования в разных областях жизни (Интернет в целом, новости, музыка, рабочие сайты), на разных платформах (мобильные и десктопные), с разными метриками и разными типами рекламы дают примерно одинаковые результаты. Всё, что измеряется, становится на 10-15% хуже при появлении рекламы. Посмотрим, так ли это для gwern.net.

Результаты A/B-теста

Для начала взглянем на общий трафик до начала тестов в логарифмических координатах:

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

Посмотрим на сырые данные. Вот общий дневной трафик:

Поэтому я провёл байесовский анализ в Stan с использованием временной серии ARIMA(4,0,1). Эффект рекламы анализировался как множитель трафика; в качестве априорной модели принят слабый отрицательный эффект. Апостериорные оценки того, каким бы был трафик в дни с рекламой, если бы рекламы не было, сохранялись для дальнейшего анализа.

В результатах мы наблюдаем немаленький (и достоверный!) вред: в среднем трафик падает на 14.5% (95% доверительный интервал от -0.16 до -0.13, p-значение согласно тесту перестановок 0.01). Если использовать упомянутые выше апостериорные оценки и посчитать средние то трафик падает на 9.8%.

Как ни считай, получается явно больше выбранного порога в 2.8%, так что 11 сентября 2017 года я остановил эксперимент и навсегда удалил баннеры с gwern.net.

Обсуждение

Результаты меня удивили. Я, конечно, ожидал, что реклама снижает трафик, но не на десять же процентов!

Точность оценки довольно велика, так что это почти наверняка не какой-то выброс в данных (если уж на то пошло, я собрал их даже больше, чем было необходимо). Больших пиков или провалов трафика в исследуемый период не было. Это почти наверняка не артефакт математической модели: во-первых, даже самые грубые методы дают тот же результат (хотя и с низкой достоверностью); во-вторых, разница видна на графике невооружённым глазом. В-третьих, я долго ковырялся в своей модели в Stan (должен признаться, я им до того почти не пользовался) и мне не удалось ни найти багов, ни изменить модель так, чтобы она перестала показывать тот же результат. Так что по крайней мере для моего сайта реклама действительно снижает трафик на ~10%.

Верно ли это для других сайтов? Gwern.net штука довольно узкоспециализированная. Он предназначен для показа лонгридов на технические темы безо всякого динамического контента; дизайн очень минималистичный и оптимизирован под быструю загрузку и рендеринг; целевая аудитория англоговорящие айтишники и учёные, преимущественно американцы. Вполне возможно, что для всех остальных эффект рекламы будет ниже. Если, например, сайт и так тормозной, то время загрузки рекламы будет незаметно на фоне его собственных лагов. Если на странице и так есть куча кричащих элементов то реклама будет одним из многих источников раздражения, а не единственным. Возможно, чья-то аудитория более терпима к рекламе или получает более релевантные баннеры, чем моя. В конце концов, у меня есть Patreon, так что реклама не является единственным источником дохода. Не могу говорить наверняка результаты могут отличаться от одного сайта к другому и вам лучше провести тестирование самим. С другой стороны, остальные исследования (см. табл.) показывают очень похожие результаты.

Если потери порядка 10% (даже больше, потому что моя аудитория использует адблок чаще среднего) есть и на всех остальных сайтах, то из этого следуют интересные выводы. С точки зрения пользователей реклама создаёт чистые издержки; с точки зрения владельцев сайтов она может приносить больше вреда, чем пользы. Мягко говоря, маловероятно, что каждый сайт на свете содержит ровно столько рекламы, сколько необходимо для максимальной эффективности. Но даже если им и стоило бы убрать рекламу, полностью или частично, они могут никогда об этом не узнать. Стандартное A/B-тестирование с разделением пользователей на подгруппы может не показать достоверного результата, потому что в данных много шума, или потому что реклама влияет скорее на популярность сайта в целом, чем на метрики данной конкретной страницы, или потому что вместо подобающего анализа временных серий используются простые статистические тесты. Изменение в 10% трафика это явно не копейки, но при этом трафик может меняться куда сильнее из-за внешних причин, так что даже такие драматические изменения остаются незамеченными.

Подробнее..

Avito Analytics meetup

18.06.2020 14:14:33 | Автор: admin

Привет, Хабр! 30 июня в18:00 поМоскве мы проведём онлайн-митап дляаналитиков. Спикеры расскажут прорегиональные A/B-тесты, управление выдачей товаров винтернет-магазине, предсказание профита отновых фичей и data science вдоставке товаров.


Подкатом, как и всегда, тезисы докладов и все нужные ссылки.



Доклады


Региональные A/B-тесты. Зачем нужны и как устроены Игорь Красовский, Авито


image


Что делать, если тестовая группа вA/B-тесте точно неизвестна, а воздействие напользователя производится оффлайн, например, врегиональной ТВ-рекламе? Как сформировать контрольную группу длясмещённой тестовой? Как измерить эффект и отличить его отслучайной ошибки? Расскажу, как мы ответили наэти вопросы вАвито и скакими проблемами столкнулись.

О спикере: ВАвито чуть более 2лет, доэтого успел поработать вeCommerce и IT-консалтинге. Сейчас работаю вкоманде Core Analytics, которая отвечает затакие направления как Data Management, Strategic Analytics, Core Analytics Platform, Key Account Analytics.



Лучшие data-продукты рождаются вполях Марина Калабина, Леруа Мерлен


image


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

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

О спикере: 9лет работы вЛеруа Мерлен. Сначала открывала магазины, потом вних работала, а сейчас навожу порядок втоварных запасах. Собрала команду и запустила data-продукт за6недель.



Модель роста предсказываем профит от фич для приоритизации Павел Михайлов, Ostrovok.ru


image


  • Строим модель роста фреймворк наоснове когорт и ключевых метрик, который среднесрочно моделирует выручку.
  • Переводим продуктовые и бизнесовые метрики вденьги спомощью модели.
  • Оцениваем потенциальный профит отфичей напримерах.


О спикере: Head of growth вEmerging Travel Group (Ostrovok.ru) саналитическим бэкграундом. Генерирую, разрабатываю и тестирую гипотезы роста.



Как data science Авито Доставке помогал Дима Сергеев, Авито


image


Или история отом, как перестать предлагать пользователям купить Кабину Камаза сДоставкой. НаАвито уже более 60млн. товаров. Не для каждого изних удаётся слёгкостью определить, сможет ли продавец положить его вкоробку размером 1208050 и отправить покупателю вдругой город.

Временами мы такие ошибки допускаем: предлагаем доставку там, где её быть заведомо не должно и наоборот. Расскажу немного отом, как мы сэтой проблемой справляемся и каких результатов получилось достичь.

О спикере: Последний год занимаюсь аналитикой вАвито Доставке. Доэтого на протяжении трёх лет занимался аналитикой вOZON.



Задавайте вопросы вчате трансляции насамые интересные ответим вэфире. После каждого доклада можно будет отдельно пообщаться соспикером.


Пароли и явки


Трансляция нанашем ютуб-канале стартует вовторник 30июня в18:00. Планируем закончить к20:40. Натрансляции можно сразу нажать кнопку напомнить, чтобы ничего не пропустить.


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


Увидимся в онлайне!

Подробнее..

Материалы с митапа для аналитиков модель роста, AB-тесты, управление стоком и доставкой товаров

03.07.2020 12:17:33 | Автор: admin

Хабр, привет! Впоследний день июня прошёл наш митап дляаналитиков. Нанём выступали спикеры изЛеруа Мерлен, Ostrovok.ru и, конечно же, Авито. Обсуждали региональные A/B-тесты, управление выдачей товаров вбольшом интернет-магазине, предсказание профита отновых фичей и data science вдоставке.


Под катом видеозаписи выступлений стаймкодами и ссылки напрезентации.



Региональные A/B-тесты. Зачем нужны и как устроены Игорь Красовский, Авито


На примере задач изАвито Игорь рассказал, что такое региональные А/В-тесты, когда они нужны аналитику, какие алгоритмы и математика лежат вих основе и как измерить точность этих алгоритмов.



00:00 Представление спикера и темы
00:44 Длякаких задач можно применять региональные A/B-тесты
04:21 Омодели региональных А/B-тестов: этапы проведения теста, метрика близости контрольной и тестовой групп
09:51 Алгоритм подбора тестовой группы и оценка его точности
18:03 Что можно улучшить впредложенном процессе: точки роста


Посмотреть презентацию Игоря

Модель роста предсказываем профит отфич дляприоритизации Павел Михайлов, Ostrovok.ru


Из доклада вы узнаете, как работает концепция модели роста, как она помогает перевести продуктовые метрики вденьги и оценить потенциальный профит отновых фичей.


Скачать эксельку спримером модели роста.



00:00 Представление спикера и темы
01:10 Фреймворк ICE (impact, confidence, ease)
02:26 Что такое модель роста и как с её помощью измерить влияние фичи
05:55 Как построить простую модель роста снуля
18:55 Примеры гипотез, которые можно оценить спомощью модели роста
25:22 Как можно улучшать базовую модель и зачем вообще этим заниматься


Посмотреть презентацию Павла

Лучшие data-продукты рождаются вполях Марина Калабина, Леруа Мерлен


Большая часть интернет-заказов вЛеруа Мерлен собираются вторговых залах магазинов. Из-завысокой скорости оборота товаров это нередко приводило ктому, что заказ не получалось собрать. Тогда команда Data Accelerator придумала инструмент, который позволил автоматически находить проблемные артикулы и корректировать их количество передпубликацией насайте.



00:00 Представление спикера и темы
01:37 Леруаизмы термины длялучшего погружения вконтекст доклада
02:40 Как собирают заказы изинтернет-магазина, и какие проблемы могут возникнуть усборщика
04:07 Запуск подразделения Data Accelerator, чтобы принимать data-driven решения
04:46 Продукт гарантированный сток: его цели и процесс реализации
13:34 Итоги внедрения гарантированного стока


Посмотреть презентацию Марины

Как data science Авито Доставке помогал Дима Сергеев, Авито


Ежедневно наАвито продаётся несколько миллионов самых разных товаров. Не длякаждого изних можно слёгкостью определить, сможет ли продавец положить его вкоробку размером 1208050 и отправить покупателю. Временами мы такие ошибки допускаем и предлагаем доставку там, где её быть заведомо не должно и наоборот. Дима рассказал отом, как мы сэтой проблемой справляемся и каких результатов получилось достичь.



00:00 Представление спикера и темы
01:11 История появления доставки вАвито и первые проблемы
06:32 Оценка масштабов неправильного определения возможности доставить товар
11:29 Классификация товаров как способ решить проблему: data science SWAT спешит напомощь
17:44 Первые успехи и побочные эффекты
25:47 Ближайшие планы


Посмотреть презентацию Димы

До встречи на новых митапах!

Подробнее..

Switchback-эксперименты в Ситимобил Часть 1. Зачем это нужно

03.06.2021 20:19:56 | Автор: admin

Содержание

  1. Введение

  2. Про эксперименты

  3. Что такое сетевой эффект?

  4. Почему switchback помогает?

  5. Зачем так сложно, может, у вас нет сетевого эффекта?

  6. Убедили, как подобрать окно переключения по расстоянию и времени?

  7. Слабые стороны Switchback

  8. О следующей статье

Введение

Сегодняс вами на связи отдел динамического ценообразования Ситимобил. И мы начинаем серию статей о том, как мы проводим и оцениваем ценовые эксперименты внутри нашего маркетплейса.

Наша основная задача балансировка объёмов спроса и предложения в городе с помощью выставления определенной цены поездки. Если говорить проще, то нам необходимо подобрать такую цену, чтобы поддерживать хороший уровень сервиса, как для водителей, так и для пассажиров: водители могли не сталкиваться с большим холостым ходом и не простаивать в ожидании заказа, а пассажиры уезжать за короткое время и по приемлемым ценам. Подробнее об алгоритме и его необходимости мы уже писали, и если вы не читали, то приглашаем сюда.

Разработка алгоритма это творческий процесс, поэтому в своей работе мы генерируем и проверяем много гипотез, часть из которых потом-таки попадают в продовую версию алгоритма. Каждая такая идея проходит путь от аналитики и dry-mode (так мы называем что-то вроде backtesting'а) до экспериментов на реальных городах и, в лучшем случае, раскатки на всю Россию.

Про эксперименты

Мы стремимся максимизировать счастье водителей и пассажиров,поэтому гипотезы, которые мы проверяем, могут быть совершенно разными, от измерения влияния на баланс маркетплейса в определенной географической области до длительной проверки реакции пользователей, выраженной, например, через retention.

До середины 2019 года чаще всего мы проводили рандомизированные A/B-тесты сосплитованием по hash (id), реже W2W (week-to-week, то есть когда производится сравнение выборок за одно время и один день недели, но в разные периоды), или diff-in-diff (подробнее см. здесь) эксперименты. Но все эти подходы для наших задач имеют ряд больших недостатков.

В W2W и diff-in-diff оценках может быть сложно обеспечить сопоставимые условия в тестовой и контрольной группах. Как-то мы хотели провести W2W-оценку, а в нашем тестовом городе на второй неделе была песчаная буря.

Кроме этого, в diff-in-diff сезонность часто оказывает большой эффект, и не всегда его возможно точно оценить и компенсировать, что может повлиять на выводы. В таких случаях изменения в алгоритме не всегда настолько велики, чтобы их качественно оценить.

С рандомизированными A/B-тестами проблемы не такие очевидные. Когда вы запускаете рандомизированный А/В-тест в двух-трёх-n-стороннем маркетплейсе, то у вас может возникнуть сетевой эффект (не бойтесь, об этом термине поговорим в следующем разделе), который ставит под вопрос валидность теста в целом.

В итоге мы пришли к использованию геохроносплитования (в переводе со сложного означает разбиение районов города на экспериментальные группы, с перемешиванием каждые n минут), а затем обнаружили, что этот подход популярен, и называется этот загадочный зверь switchback. К нему мы ещё вернёмся.

Что такое сетевой эффект?

Главное условие валидности А/В-теста stable unit treatment value assumption (SUTVA), которое говорит, что измененные условия воздействуют только на группу, к которой они были применены, и не воздействуют на пользователей из других групп.

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

Слишком сложная схема, давайте на примере:

Пусть Миша с Колей живут в соседних домах напротив друг друга и каждое утро примерно в одно время едут на такси до метро. Наша команда динамического ценообразования начала эксперимент, и так получилось, что Миша и Коля оказались в разных группах. Для Коли цена будет рассчитываться старым алгоритмом, а для Миши новым, который по каким-то причинам снизил утром на 5 % цену поездки до метро. Наступает очередное утро, и Миша с Колей заказывают такси примерно в одно время. Цена у Миши ниже обычного, и он принимает решение о заказе такси быстрее, тем самым отнимая водителя у Коли. Коля оказывается без машины, и мы вынуждены изменить для него цену, чтобы он отказался от поездки, так как свободных машин в округе больше нет. Получается, что конверсия Коли занижена из-за Миши, то есть измененные условия повлияли не только на решение Миши, но и на Колю, и SUTVA не выполняется.

Это и есть сетевой эффект. Если формулировать более научно, то:

Сетевой эффект это ситуация в экспериментах, когда поведение одного потребителя услуги или товара может влиять на характеристики или даже возможность предоставления услуги/товара для другого потребителя. Этот эффект особенно актуален для двустороннего маркетплейса, потому что предположение об отсутствии влияния (SUTVA) здесь не может быть принято.

Спасительный Switchback

SUTVA не выполняется, рандомизированный А/В-тест под угрозой. Как же нам теперь проводить честные эксперименты?

Здесь нам на помощь приходит тип эксперимента, который называется Switchback.

Switchback метод геохроносплитования контрольных и тестовых групп с гиперпараметрами в виде длительности применения группы на все наблюдения и площади применения группы.

Суть метода Switchback заключается в следующем:

  1. Имеющиеся районы разбивают на контрольные и экспериментальные группы. К экспериментальным применяется тестируемый алгоритм.

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

  3. Показатели за время, когда алгоритм действовал и бездействовал, считаются в разные корзины.

  4. Показатели из двух корзин сравниваются, что позволяет оценить влияние алгоритма на различные ситуации.

Теперь Миша и Коля с бОльшей вероятностью оказались бы в одной группе, так как они близко друг к другу по расстоянию и времени. Решение они принимали бы в одинаковых условиях, и SUTVA не нарушилось бы.

Почему Switchback помогает?

В какой ситуации сетевой эффект максимален? Когда пассажиры могут забирать друг у друга машины, то есть близки друг к другу по времени и расстоянию. А теперь попробуем визуализировать сетевой эффект и посмотрим, что делает Switchback. Обозначим взаимное влияние между пассажирами через линию. Она есть, если пассажиры относятся к разным группам то есть влияют своим измененным поведением на неизменных участников; и линии нет, если пассажиры относятся к одной группе. В первом случае пользователи разбились на группы случайно, и внутри одной геозоны есть пользователи из разных групп; во втором случае вся геозона полностью относится к одной группе. Как видите, во втором случае количество взаимодействия (сиреневых линий) резко сократилось, это и есть главный эффект Switchback.

Мы даже можем оценить сокращение взаимодействия численно!

Немного математики для бесстрашных

Взаимное влияние пассажиров друг на друга

Пусть пассажир определяется вектором:

r = \begin{bmatrix} t \\ latitude \\ longitude \end{bmatrix}, \\

где

  • t время, в которое клиент зашел в приложение;

  • latitude долгота точки заказа;

  • longtitude широта точки заказа.

Тогда взаимное влияние пассажиров друг на друга interaction введем следующим образом: как будто L_2 и мы считаем расстояние между точками, только одну из координат заменили на время:

interaction = \frac{1}{\beta}, \\ \beta = \sqrt{\alpha_1^2(t_1-t_2)^2 + \alpha_2^2(\Delta d)^2} \\ \Delta d = f(lat_1, lat_2, lon_1, lon_2)Почему interaction это дробь?

Interaction обратно пропорционален расстоянию между клиентами и временем между калькуляциями, то есть чем "дальше" друг от друга клиенты по расстоянию или времени, тем меньше они влияют друг на друга.

Поэтому подходящие виды зависимостей для определения interaction могут быть следующие:

y = \frac{1}{x^{\alpha}}, \alpha \geq 1 \\ y = e^{-x}

Для определения interaction в данном примере была выбрана зависимость \frac{1}{x} так как она убывает медленнее всего, значит позволит учитывать с бОльшим весом влияние между клиентами, которые находятся друг от друга далеко по времени или расстоянию, по сравнению с другими функциями. Интуитивно, кажется, что даже "далекие" к друг другу клиенты всё равно влияют на друг друга, поэтому мы и выбрали самую медленно убывающую функцию.

Зачем нужны веса?

Для того, чтобы время и расстояние вносили одинаковый вклад в метрику, необходимо их перевзвесить.

В обычных метриках, например, L_2 , мы сравниваем между собой координаты x и y , эти величины имеют одинаковый масштаб. В нашем случае мы сравниваем метры и секунды. Поэтому чтобы они вносили одинаковый вклад их необходимо привести к одному масштабу. Здесь мы поступили очень просто и посмотрели на наших реальных данных отношение среднего времени между заходами клиентов в приложение, к среднему расстоянию между ними, и получили 1:16. Это соотношение и подставим в наши \alpha_1, \alpha_2 при расчетах.

Эта метрика не существует в нуле, но на наших данных и не было таких случаев, когда числитель был нулевым. Иначе можно было бы прибавить в знаменателе 1.

Сравним, как пассажиры влияют друг на друга в рандомизированном А/В и Switchback.

Теперь поступим так же, как в примере с кругами. Если пользователи относятся к разным группам, то взаимное влияние между ними есть, и мы его считаем по формуле для interaction выше. Если к разным, то считаем, что его нет. По сути, мы проставляем веса на черные линии из картинки выше и суммируем их для некоторого промежутка времени. Стоит отметить, что также для упрощения и ускорения подсчетов мы ограничили дельту между клиентами, когда учитываем их взаимное влияние, 6 минутами и 3 км, их также получили на реальных данных.

Если такое проделать на Москве в течение одного дня и сравнить уровень взаимодействия для рандомизированного эксперимента и Switchback, то Switchback снижает сетевой эффект более чем на 70%.

Конечно, сетевой эффект можно снижать не только с помощью Switchback,нам подходит любая разбивка, которая уменьшает уровень взаимодействия между клиентами количество черных линий. Например, для социальных сетей удобно проводить А/В-тест на кластерах клиентов, но в таких случаях сложнее добиться сходимости между группами, да и не для всех бизнесов они подходят, собственно, как и Switchback.

Зачем так сложно, может, у вас нет сетевого эффекта?

Может, действительно нет, потому что мы не проверяли этого честным экспериментом (но, скорее всего, есть). В ближайшее время мы хотим оценить наличие у нас сетевого эффекта способом, предложенным вот в этой статье.

Краткая идея статьи

Авторы предлагают такой подход, который одновременно позволит выяснить, соблюдается ли для нашего эксперимента SUTVA и позволит правильно оценить его результаты в обоих случаях: когда SUTVA соблюдается и когда нет. А еще авторы предлагают свой статистический тест для проверки результатов эксперимента.

Идея следующая:

  • запускаем эксперимент в двух сетапах параллельно, первый сетап классический, полностью рандомизированный, второй для уменьшения сетевого эффекта, например, на кластеризованных группах.

  • измеряем разницу между группами по статистическому тесту, предложенному авторами. Если разница статистически значима, то сетевой эффект присутствует и оценивать результаты эксперимента можно только по второму сетапу. Если разницы нет, то эффект оценивается по совокупным данным.

Убедили, как подобрать окно переключения по расстоянию и времени?

При определении длины временного промежутка и размера географической зоны основной вопрос заключается в качестве данных, которые мы соберем с выделенного кусочка. Глобально идея заключается в том, что нам необходимо найти компромисс между смещением данных (Bias) и предельной погрешностью выборки (Margin). Подробнее об этом можно почитать вот тут, но давайте кратко обсудим идею.

Сформулируем, что есть Bias, а что Margin of Error.

Разница в средних между нашими группами при семплирования назовем Bias смещение. Например, когда мы делаем АА-тест нам бы очень хотелось, чтобы разница в средних между группами А1 и А2 не было, иначе мы не сможем запустить наш тест. Имеется в виду, конечно, что не будет статистически значимой разницы.

Margin of Error (предельная погрешность выборки) - насколько наше среднее в выборке будет отличаться от среднего в генеральной совокупности. Если уйти от точных определений и сказать простыми словами, то Margin of Error показывает, насколько широким мы получим доверительный интервал для оцениваемой величины. Здесь нам бы очень хотелось, чтобы коридор для среднего был узким, и мы как можно точнее оценили наше среднее.

Теперь опустимся на практику и поговорим про параметры сплитования, и как они связаны с Bias и Margin. Для более удобных формулировок введем понятие Unit. Unit кусочек времени и пространства, который отсекается определенным промежутком времени и геозоной.

Теперь обсудим связь размера Unit'a c Bias. Когда мы уменьшаем географическую зону и промежуток переключения групп, выборка уменьшается, и мы с большей вероятностью соберем нерепрезентативные смещенные данные. Представим ситуацию, где мы хотим протестировать два алгоритма, один из которых обрабатывает заказы по мере поступления, а другой - обрабатывает сначала короткие поездки, а уже потом все остальные. Тогда при слишком быстром переключении мы можем получить ситуацию, при которой один алгоритм будет обрабатывать только короткие поездки, а другой будет пытаться исправить ситуацию после выбора другого алгоритма. При этом сделать какие-то обобщающие выводы мы не сможем, так как в данных по поездкам будет заложено смещение, которое возникло из-за слишком частой смены групп. То есть при уменьшении размера Unit'a (уменьшаем окно сплитования, например, было 20 минут стало 10, и уменьшении геозоны стали работать с более маленькими гексагонами) растет Bias.

С Margin капельку сложнее, но мы справимся. Margin зависит от двух вещей от разброса данных, с которыми мы работаем и от их количества (снова см. подробнее тут).

 Margin \sim \sqrt{\frac{D}{n}},

где D дисперсия выборки, а n сколько Unit'ов у нас есть. При уменьшении периода переключения или работе с более мелкими геозонами растет количество Unit'ов, с которых мы собираем наблюдения. Но при этом растет и дисперсия нашей выборки маленькие Unit'ы менее похожи друг на друга и содержат больше выбросов. При увеличении сплита и, как следствие, объема данных внутри него эти выбросы сглаживаются, дисперсия снижается.

Зависимость, конечно, не однозначная, но на практике всё-таки дисперсия растёт не так быстро, как количество зон, потому что города ведут себя относительно стабильно, за исключением, каких-то особых периодов, например, дождя или вечера 31-го декабря. Поэтому в целом можно сказать, что при уменьшении размера Unit'а Margin падает. Но важно иметь ввиду, что природа этой зависимости на ваших данных может оказаться другой.

Получается вот такая сложная зависимость, с которой нам нужно как-то жить, если хотим запустить Switchback):

Как же жить с такой сложной зависимостью на практике:

Можно провести АА-тест на исторических данных и посмотреть, за какое время он сходится и какой разброс в метриках мы получаем, чтобы сделать выводы о том, насколько вас это устраивает.

CookBook для запуска первого в вашей жизни Switchback-теста такой (такие вводные работают для нас):

  • держим тест около 2 недель в зависимости от объема рынка;

  • проводим сплитование по гексагонам размером 6 (то есть по районам площадью 36 кв. км.);

  • переключение происходит раз в 20 минут.

Выглядит это примерно так:

Теперь самое время пойти и запустить с первыми вводными AA-тест в Switchback на исторических данных для своего маркетплейса!

Слабые стороны Switchback

Конечно, Switchback не безгрешен и имеет несколько особенностей, с которыми стоит быть внимательными.

Сохранение сетевого эффекта

Сетевой эффект выше среди пользователей, которые находятся друг к другу близко по времени и расстоянию. И если мы вернемся к картинке 2 (с кругами), то увидим, что в случае со Switchback у нас всё равно сохранилось взаимодействие между пользователями из разных групп несколько черных линий. То есть на самом деле Switchback не убирает сетевой эффект полностью, а сокращает его, но очень сильно. То есть сетевой эффект сохраняется на границе групп по расстоянию как на картинке, или по времени, в момент переключения групп.

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

Осторожно, вы в эксперименте

Также есть вероятность, что участники эксперимента заметят закономерности эксперимента и изменят свое поведение из-за этого. Например, пассажир окажется на границе геозон или будет совершать заказ в начале часа или в конце часа и заметит, что цена сильно изменилась. И примет решение не на основе самой цены, а на основе ее изменения, то есть изменит свою конверсию.

Бороться с этим можно такой же очисткой данных, как и в предыдущем случае.

Мощность ниже

Чистка может негативно повлиять на мощность эксперимента. Кроме этого, на мощность switchback негативно влияет и единица рандомайза пара регион+время.

Сложность экспериментов с визуальными изменениями

Представим, что вы тестируете два пользовательских интерфейса в Switchback. Если пользователь зайдет в момент, близкий к переключению групп в гексагоне, и увидит и тестовую, и контрольную визуализацию интерфейса, то это может стать для него неожиданностью, также как и эффект от его действий в вашем приложении. В оценке эксперимента можно удалить этих пользователей, но возможны денежные потери, выраженные в снижении конверсии этих пользователей из-за таких неожиданностей.

Долгосрочный эффект

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

Сходимость групп

АА-тест стоит использовать не только для подбора окна или геозоны агрегации, но даже если вы уже проводили тест на городе и точно знаете, какие периоды переключения вас устраивают. Не стоит пренебрегать АА-тестом для проверки равномерности разбиения на группы.

Почему так? На практике города часто бывают неравномерны по объёмам спроса и предложения, есть разные особые точки или области, например, большие спальные районы или точки с многочисленными офисами, которые по стечению обстоятельств могли попасть в одну из групп больше раз и сместить выборки.

Завести А/А-тест в дизайн вашего эксперимента можно двумя путями. Если вы уверены, что ваш маркетплейс стабилен во времени, то можно подержать А/А-тест перед А/В-тестом и убедиться, что разбиение на группы равномерное. Если же такой уверенности нет, то можно сразу провести А/А/В-тест. Но здесь хорошо бы проверить, что вам хватит данных, чтобы честно сравнить группы А1 и А2 между собой.

Если всё-таки ваш выбор пал на А/А/В-тест, то распределение по группам лучше держать 25 %/25 %/50 %, так в теории мощность вашего теста будет выше (по сравнению с менее сбалансированными группами), подробнее об этом можно почитать вот тут.

О следующей статье

А теперь самое важное. В этой статье мы обсудили теорию о сетевом эффекте и Switchback и почти не касались математики и практического применения описанных идей. Например, какие есть способы оценки А/В-теста, запущенного в Switchback, или какой конвейер подготовки и проверки эксперимента стоит пройти. Ответы на эти вопросы мы дадим в нашей следующей статье, которая будет уже совсем скоро!

В подготовке статьи участвовали Артём Солоухин, Ксения Мензорова, Николай Ишмаметьев. Также выражаем благодарность за помощь в подготовке статьи ребятам из expf.ru, Искандеру Мирмахмадову и Виталию Черемисинову.

Подробнее..

Материалы с митапа для аналитиков роль аналитика в развитии продуктов

26.03.2021 16:04:17 | Автор: admin

Недавно прошёл наш митап для аналитиков, а значит, пора делиться презентациями и видеозаписями выступлений. В них спикеры из Skyeng, Ситимобил и Авито на боевых примерах показывают пользу аналитики для запуска, тестирования и развития продуктов.

Поиск точек роста в продукте с помощью аналитики на примере Избранных продавцов Иван Жучков, Авито

Авито позволяет подписаться на интересующих вас продавцов. Иван рассказал, как аналитика помогала масштабировать и развивать этот продукт и каких результатов удалось достичь.

00:00 Представление спикера и плана доклада

01:08 Продукт: Избранные продавцы

02:16 Стартовые метрики и первые проблемы с ними

04:13 Рекомендации подписок на продавцов

08:10 Воронка продукта и инициативы из неё

11:13 Применение анализа поведения пользователей

13:54 Сравнительная ценность подписок на продавцов

16:31 Итоговый рост метрик продукта

17:41 Ответы на вопросы

Посмотреть презентацию Ивана

Оценка потенциала кикшеринга в сервисе Ситимобил Андрей Лекомцев, Ситимобил

История о том, что такое кикшеринг, зачем он нужен такси, и как Ситимобил через аналитику пришёл к тому, чтобы его интегрировать.

00:00 Представление спикера и темы

00:30 Проблемы руководителей проектов и воронка продуктовой фичи

02:32 Что такое кикшеринг и в чём его особенности

04:25 Оценка задачи по интеграции самокатов

09:40 Как использовали результаты

10:20 Ответы на вопросы

Посмотреть презентацию Андрея

Аналитика в продуктовой разработке на примере Автопубликации объявлений Мария Перетрухина, Авито

Мария рассказала о пути создания инструмента для автоматического продления объявлений. Из доклада вы узнаете, какую проблему мы хотели решить, как проверяли гипотезу, как оценивали риски и какие результаты получили.

00:00 Представление спикера и план доклада

00:43 Проблема: упущенный контент в объявлениях

04:12 Оценка потенциального прироста базы контента

05:33 Поиск решения: как терять меньше контента

07:07 Проверка гипотезы с помощью MVP

10:30 Многоразовая автопубликация: оценка и предотвращение рисков

17:35 Результаты внедрения Автопубликации

20:46 Ответы на вопросы

Посмотреть презентацию Марии

Поиск точек роста в новом продукте с помощью алертов Михаил Михайлов, Skyeng

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

00:00 Представление спикера и темы

01:57 Skyeng до нового продукта

04:06 Идея нового премиум-продукта и поиск составляющих для него

10:13 Внедрение алертов

15:49 Как устроена работа с алертом: кейсы из практики

21:51 Выводы: как аналитик может помочь продукту выстрелить

22:48 Ответы на вопросы

Посмотреть презентацию Михаила

На сегодня всё. До встречи на новых митапах!

Подробнее..

Категории

Последние комментарии

  • Имя: Макс
    24.08.2022 | 11:28
    Я разраб в IT компании, работаю на арбитражную команду. Мы работаем с приламы и сайтами, при работе замечаются постоянные баны и лаги. Пацаны посоветовали сервис по анализу исходного кода,https://app Подробнее..
  • Имя: 9055410337
    20.08.2022 | 17:41
    поможем пишите в телеграм Подробнее..
  • Имя: sabbat
    17.08.2022 | 20:42
    Охренеть.. это просто шикарная статья, феноменально круто. Большое спасибо за разбор! Надеюсь как-нибудь с тобой связаться для обсуждений чего-либо) Подробнее..
  • Имя: Мария
    09.08.2022 | 14:44
    Добрый день. Если обладаете такой информацией, то подскажите, пожалуйста, где можно найти много-много материала по Yggdrasil и его уязвимостях для написания диплома? Благодарю. Подробнее..
© 2006-2024, personeltest.ru