Заскуль питона (Data Science)
6.15K subscribers
109 photos
15 videos
4 files
142 links
Канал про Python, Data Science, SQL и многое другое

По вопросам сотрудничества и рекламе: @m459n9

Чат: https://t.iss.one/my_it_frogs
Download Telegram
Causal Inference from Observational Data, или как провести А/В-тест без А/В-теста.

В данной статье рассмотрены различные методы Causal Inference без проведения 🆎

Это и матчинг, и propensity score, diff-in-diff, Time-Series, IPW, RDD и другие.

Раскидано очень много материалов в статье + есть различные кейсы применения.

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

Ссылки на ноутбуки

Я уверен, что буду возвращаться к это статье не один раз, так как материалов слишком много и всё написано достаточно приятно.

А вы видели эту статью? Пишите в комментариях 😑
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥933🆒1🦄1👾1
Подкаст: Единая A/B платформа, её плюсы, плюсы и подводные камни

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

😯 У ребят есть собственный критерий для расчета множественного тестирования. Сейчас в ручном формате все рассчитывается

Как качественно понять, что A/B платформа лучше компании аналитиков без A/B платформы?


❤️ Рассказали про Hold-out, глобальный контроль пользователей на квартал. Необходим для честной оценки эффектов на всех A/B тестах (про это говорили на aha’24)

Что делать, если ты не бигтех-компания, но ты хочешь data-driven? Какие варианты для меня? Нужна ли мне продуктовая история?


A/B платформа будущего? Не сузится ли она до локального применения в каждом домене?


🤸 Цитатами я выделял интересные вопросы, которые могут быть полезны и вам.

Если вы хотели понять всегда как устроена 🆎 платформа изнутри, к прослушиванию.
Please open Telegram to view this post
VIEW IN TELEGRAM
107🔥5👍1
😂 статистика интересная штука. Нормальные распределения, критические области доверительные интервалы и всё.

but...
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥20😁1311🤡3💅2🤬1
Так-с, пока я вливаюсь в рабочие процессы Яндекс 💙 Лавки, пишите, что хотите видеть тут, в каком направлении в дальнейшем. Возможно, какие-то продуктовые кейсы, теоретическое, возможно разбавить определенным лайфстайлом.

Пока кидаю классный тренажер от 😀 (типа симулятор). Там есть различные разделы по типу аналитика данных, машинное обучение. Так что на выходных можно пройти 😼
Please open Telegram to view this post
VIEW IN TELEGRAM
35🔥6
Видели уже новый ребрендинг СберМаркета? Что думаете?

«Купер»

🏦 «От слова купить»

Пост РБК
ТАСС
Please open Telegram to view this post
VIEW IN TELEGRAM
🥴50🤔8🤡7😱3🎃2👍1🔥1🤣1
Это должен быть 💙, но…
Please open Telegram to view this post
VIEW IN TELEGRAM
😁39💅10💔61👍1🔥1
Уже видели перфоманс? 💙
Я считаю, что это взаимный маркетинг для обеих компаний. Вообще шикарно, будем ждать ответочку Лавки (или нет)
Please open Telegram to view this post
VIEW IN TELEGRAM
52🔥74🤣2
Закажу пожалуй себе доставку домой, нормальная тема ❤️

Я думал, что машины - это максимум, но нет, возьму себе с аванса или в рассрочку, пока не придумал 🙊

Линк на товар
Please open Telegram to view this post
VIEW IN TELEGRAM
😎24😁104🤷‍♀1🤡1🤣1
Заскуль питона (Data Science)
🆎 CUPED как метод сокращения дисперсии для проведения A/B экспериментов. 🤭 Всем привет! В этом посте хочу рассказать о том что такое CUPED, зачем он нужен? 🤩 CUPED (Controlled-experiment Using Pre-Experiment Data) - один из методов сокращения дисперсии при…
Возвращаемся к CUPED.

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

Отсюда вопрос, как можно корректно оценивать метрику CUPED? Относительно чего считать относительное MDE? При расчете MDE мы тоже используем стандартное нормальное распределение, хотя должны использовать по-хорошему t-распределение.

Тогда еще один вопрос, зачем проводить тесты, если можно взять просто значения средних и сравнивать? Можете запустить симуляцию и проверить. В некоторых компаниях есть ограничения к MDE (если у метрики он большой, значит выбираем другую метрику). К абсолютному MDE вопросов нет, мы не используем среднее, а дисперсии у метрик CUPED равны. Как раз это возникает еще из-за того, что мы берем значение ковариации и дисперсии выборочно. В реальном же мире мы не знаем истинного значения матожидания ковариаты, поэтому поправка, с точки зрения математики неверна.


import numpy as np
from scipy.stats import norm

def generate_data(sample_size, corr, mean=2000, sigma=300):
"""Генерируем коррелированные данные исходной метрики и ковариаты.

sample_size - размер выборки
corr - корреляция исходной метрики с ковариатой
mean - среднее значение исходной метрики
sigma - стандартное отклонение исходной метрики

Возвращает:
'metric' - значения исходной метрики,
'covariate' - значения ковариаты.
"""
np.random.seed(1337)
means = np.array([mean, mean])
cov = sigma ** 2 * np.array([[1, corr], [corr, 1]])
data = np.random.multivariate_normal(means, cov, sample_size).astype(int)
metric, covariate = data[:, 0], data[:, 1]
return metric, covariate

def get_theta_for_cuped(values, covariate):
'''Функция получает значение theta
values - значения
covariate - значение ковариаты
Возвращает:
theta - значение theta'''
import numpy as np

cov = np.cov(values, covariate)[0][1]
var = np.var(covariate)
theta = cov / var
return theta

def get_mde(values, alpha = 0.05, beta = 0.2):
'''На вход получает значения метрики
На выходе
mde_abs - абсолютный MDE
mde_rel - относительный MDE'''

std = np.std(values)
mu = np.mean(values)
sample_size = len(values)

f = norm.ppf(1 - alpha / 2) + norm.ppf(1 - beta)

mde_abs = 2 * std * f / np.sqrt(sample_size)
mde_rel = mde_abs / mu * 100

return mde_abs, mde_rel

corr = 0.6
values, covariate = generate_data(20000, corr)
print(f' Коэффициент корреляции - {np.corrcoef(values, covariate)[0][1]}')
theta = get_theta_for_cuped(values, covariate)

print('')

cuped_metric = values - theta * covariate
cuped_metric_with_mu = values - theta * (covariate - np.mean(covariate))

print(f' Стандартное отклонение метрики - {np.std(values)}')
print(f' Стандартное отклонение CUPED метрики - {np.std(cuped_metric)}')
print(f' Старндартное отклонение CUPED метрики с поправкой - {np.std(cuped_metric_with_mu)}')
print('')
print(f' Среднее метрики - {np.mean(values)}')
print(f' Стандартное отклонение CUPED метрики - {np.mean(cuped_metric)}')
print(f' Старндартное отклонение CUPED метрики с поправкой - {np.mean(cuped_metric_with_mu)}')


mde_standard_abs, mde_standard_rel = get_mde(values)
mde_cuped_abs, mde_cuped_rel = get_mde(cuped_metric)
mde_cuped_with_mu_abs, mde_cuped_with_mu_rel = get_mde(cuped_metric_with_mu)

print('')

print(f' Абслютный и относительный MDE метрики {float(mde_standard_abs), float(mde_standard_rel)}')
print(f' Абслютный и относительный MDE CUPED метрики {float(mde_cuped_abs), float(mde_cuped_rel)}')
print(f' Абслютный и относительный MDE CUPED метрики с поправкой {float(mde_cuped_with_mu_abs), float(mde_cuped_with_mu_rel)}')


А что думаете вы? Ставьте реакции, пишите комментарии!
17🔥6👍4🤯3🤡2
блинб, такое ощущение, что нужно начать выкладывать какие-то посты про рабочие процессы и отойти от технической составляющей на какое-то время. Если так думаете, ставьте реакции, чего-нибудь придумаем про то, как я вливаюсь, что делаю и т.п. 🙊
Please open Telegram to view this post
VIEW IN TELEGRAM
60🔥26🌭6🥱4😁2😢2🐳2👨‍💻2👾2
Как проходит мой испытательный срок в Яндекс 🍫 Лавке?

Всем привет! Если говорить в общем, я жив. Если чуть глубже, то мне очень нравится то, чем занимаюсь сейчас. Изначально, я приходил из 💙, редко задумываясь над тем, а как вообще ведет себя пользователь, что ему нужно у нас и как мы можем повлиять на бизнесовые, продуктовые метрики. Напомню, что ранее я работал в направлении продавцов и коммерции OZON СНГ. Сейчас я отвечаю за различные интеграции, экосистемные подходы в Лавке. Если говорить про функционал, я немножко прифигел с того, что продукт неразрывно связан с аналитикой, так и должно быть, но, возможно, это специфика продуктовых аналитиков, точно сказать не могу. Можно предложить различные гипотезы, обосновав их как-то на цифрах и уже в дальнешйем связать с продуктом, весьма классно! 😏

Еще доставляет то, что у Яндекса есть свои решения, используемые внутри. Взять тот же YQL, который используется для написания различных запросов + можно сразу в нем написать код на Python, что удобно, ты не будешь думать над тем, что по памяти где-то не пройдешь. Nirvana, используемая для оркестрации задач с понятным UI интерфейсом и различными сценариями. Python по-прежнему остался, можно что-то поделать в том же VS Code, Jupyter тетрадках 🥲

А еще тут очень много интересных ивентов, нетворкинг, ну и конечно же бейджик с компенсацией питания, как без него. Представьте, вы сидите на рабочем месте, хотите затестировать какой-то функционал на проде, просто берете, заказываете еду из Лавки, вам ее доставляют. Буквально можно пройти полный путь клиента, отловить различные проблемы и поесть нормально! 👍

Посмотрим, что будет со мной еще через какое-то время, но пока так. Помните свой испытательный срок в последней компании? Как это было, какие эмоции испытывали? Пишите в комментариях! 😎
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥297😍5👍1🖕1
This media is not supported in your browser
VIEW IN TELEGRAM
POV: когда пройду испытательный срок 👻
Please open Telegram to view this post
VIEW IN TELEGRAM
😁42🔥54🍌1
Признавайтесь, сколько натапали уже кабанов? ❤️
Please open Telegram to view this post
VIEW IN TELEGRAM
13🔥5😁5🤡2
✈️ Вдруг кто еще не видел, по ML есть хороший конспектик, красиво оформленный + понятно объясненный. Был бы еще код от руки написан, цены бы не было, а так, хорошо 🙊
Please open Telegram to view this post
VIEW IN TELEGRAM
16🔥3👏1🥴1
✈️ От гипотезы до инсайтов

Всем привет, сегодня я бы хотел написать о том как гипотезы вообще обретают бизнес-ценность на примере цикла HADI.

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

Пример: Если мы внедрим X, то это повлияет на Y с эффектом в Z% в течение T дней.

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

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

Data - метрики / показатели на которые мы хотим появлиять. Например, в контексте A/B тестирования это могут быть целевые метрики (AOV, ARPU, CR, ну вы поняли...)

👍 Insight - выводы, которые мы в дальнейшем можем отдавать в бизнес, либо использовать для дальнейших исследований. Например, при проведении A/B тестирования, мы увидели, как в стенде метрик (если он есть), как прокрасились какие-то метрики, но целевые нет => можно в дальнейшем с полученным знанием формулировать новую гипотезу и тестировать еще раз.

Советы по HADI:

1. Можно формулировать гипотезы по SMART.
2. Приоретизация результата, можно использовать RICE
3. Чем больше гипотез, тем лучше, можно тестировать много всего.

🥰 Если на посте наберется 100 реакций, напишу про стенд метрик более подробно!
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3912🔥7🍓3😐1
🧀 Ранее, когда я изучал разные материалы, связанные с A/B тестами, натыкался на интересный доклад (aka дискуссию) о том, как проводятся A/B тесты про специфику, проблемы.

А. Карпов, А. Сахнов, А. Байрамкулов, А. Хакимов — A/B-тесты. Источники данных и инструменты анализа

😑 Зачем нужно развивать культуру A/B тестов?
Нужны не всем. Например, чтобы увидеть результат в каком-то стартапе можно увидеть эффект практически сразу (если мы говорим о продуктовых изменениях). Микроизменения хочется смотреть крупным игрокам, такие показатели без A/B тестов поймать сложно. Скажу, что в целом достаточно классно, когда продукт мыслит в рамках экспериментов и такими шажками развивается (гипотез много, все сразу в прод не катнешь, а сезонность учитывать хочется).

🐈 В бизнесе решили, что нужен A/B тест. Нужна ли платформа?
Платформа сама по себе достаточно сложная, включает в себя очень много всего. Например, это и связь различных источников и метричница и бэкэнд, короче в общем много всего. Как будто мы должны понять окупится ли платформа (поддержание + внедрение). Можно сказать, что платформа нужна тогда, когда культура A/B тестов начинает прогрессировать и людям важно разделять тесты, например, на различные слои, следить за кучей метрик и т.д.

😱 Как разные сферы влияют на A/B тестирование?
... (думаю про это даже пост катнуть, если интересно, пишите).

🐶 Тут еще упоминалось о различных тестах, которые рассматривались (запись 2023 года). Говорили о разных платформах, в т.ч про Ambrosia. Почитал документацию, будто она не может бить по неравным размерам групп, не нашел correction какой-то по крайнем мере с отношением групп, как в статейке от Ozon. Ладно, еще упомянули Varioqub от ❣️

🆎 Если наберется 100 🐳, напишу про то, как можно оценивать влияние различных фич друг на друга или про возможности A/B платформ разных компаний.
Please open Telegram to view this post
VIEW IN TELEGRAM
🐳998🔥4🏆1
Всем привет! Сюда после моего прихода в Яндекс 💙 Лавку присоединилось большое количество человек. Хочу порекомендовать канал @start_ds Ромы Васильева, ранее он занимался коммерческой аналитикой в Лавке. Помню, как смотрел его видео на ютубчике про различные вопросы с собеседований, интервью с различными клевыми ребятами и мне всегда этот формат очень сильно заходил, а также разборы различных ML вопросов с собеседований и не только. По 🆎 есть также хорошие посты со ссылками на источники. Сейчас он перешел в большой Яндекс, но тем не менее, у человека еще есть время выкладывать годные посты, в общем вэлком 😤
Please open Telegram to view this post
VIEW IN TELEGRAM
12🐳9🔥3
Для чего нужен ML в аналитике?

Сразу же вопрос, можно ли решить продуктово задачу как-то без использования машинного обучения? Что решаете данной задачей? Да-да типичные вопросы "аналитика-душнилы", который постоянно хочет задать вопрос: "Зачем?" (и это правильно).

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

😐 Задача классификации. Хотим предсказывать какую-то бинарную величину (или оценивать вероятность). Нам нужно оценить, например, отток пользователей, какие-то дополнительные исследования в эту сторону. Пример ноутбука Kaggle

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

😤 Causal Inference aka причинно-следственные связи. Внедряем какую-то фичу, хотим честно замерить эффект на пользователей.❗️Про это могу рассказать в следующих постах, если наберется нормальное количество реакций❗️

😎 Матчинг. Поиск из базы наших пользователей тех людей, кто соответствует поставленной задачи. Например, те пользователи, которые имеют определенный паттерн, который нас устраивает и мы хотим найти похожих. Ноутбук Яндекса ❤️

😎 MMM (Marketing Mix Modeling). Это про то, когда нам нужно оценить различные маркетинговые каналы (но это больше к маркетинговой аналитике). Статьи на Хабр. Первая часть, вторая часть

🕺 Сегментация пользователей. Кластеризация какая-нибудь, есть пример тут с гайдом, как это можно сделать.
...
feaure importance ... и так далее.

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

😤 Все зависит от специфики команды, можно и динамическим ценообразоованием заняться, блин

👍 А в каких кейсах вы использовали ML? Если на этом посте наберется 150+ реакций, запилю какой-нибудь гайд с решением продуктовой задачи с помощью ML
Please open Telegram to view this post
VIEW IN TELEGRAM
🐳79👍25🔥2213🎄2
🆎 Демо платформы A/B тестов в Avito. Интересно реализовано, больше всего кайфанул от загруженности слоев при проведении экспа по разным разбивкам устройств. 5 минут и можно посмотреть, буквально свежая новость, к просмотру вэлком. https://www.youtube.com/watch?v=OppYNmYxCTg

Мое предложение все еще в силе: https://t.iss.one/zasql_python/240
👍124🔥3
😴 Давайте в выходные отдыхать, закину вам пару интересных фактов, которые произошли с Яндексом за последнее время

1. Для тех, кто хотел посмотреть на то, как работает Яндекс 🍫 Лавка изнутри, у ❤️ вышел 2 недели назад пост про это, очень интересно было посмотреть

2. У Яндексоидов вышла папка с большим количеством каналов (я там есть, кстати), можно посмотреть изнутри, как кто живет, о чем пишут. Для себя подметил некоторые каналы. Первая картинка была взята отсюда

3. Появилась новая фича у Лавки в виде дозаказа 🤑

4. Недавно была презентация нового тикера YDEX. Уже доступен на Московской бирже

👍 А еще… У меня есть много всего интересного, про что можно рассказать. Ставьте реакции, пишите комментарии, что бы вы хотели видеть в дальнейшем
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥3416👍10🥱2😈2😍1💘1😘1