TGViewer
Математика Дата саентиста Математика Дата саентиста @data_math · 14.3K subscribers
Post #766 3.25K
🧠 Задача для дата-сайентистов: "Невидимая переменная"

У вас есть датафрейм с результатами тестирования модели A/B:


| user_id | group | conversion_rate |
|---------|--------|-----------------|
| 1001 | A | 0 |
| 1002 | A | 1 |
| 1003 | B | 0 |
| 1004 | B | 1 |
| ... | ... | ... |


По результатам A/B теста кажется, что разницы между группами нет. Вы проверили chi-squared test и Mann-Whitney — тоже ничего.

🧩 Однако ваш коллега утверждает, что в данных явно зарыта сильная зависимость, которую можно выявить, если «включить голову».

---

🔍 Вопрос:
Какой скрытый фактор мог полностью «маскировать» эффект от теста и как его можно вычислить, даже если он отсутствует в таблице напрямую?

💡 Подсказка: данные собирались в течение 30 дней, но колонка с датой/временем была потеряна при сохранении. Однако user_id — это не случайное число.

🎯 Что нужно сделать:

1. 🧠 Предположить, что user_id содержит зашумлённую информацию о времени регистрации (например, ID выдаются монотонно)
2. 🧮 Смоделировать зависимость результата от user_id и проверить, не является ли тест несбалансированным по времени
3. 📈 Построить метрику на основе сгруппированных окон по user_id и визуализировать смещение между группами A и B

🎯 Ключевая идея решения:

Хотя колонка с датой была потеряна, можно сделать разумное предположение:
🔸 `user_id` назначается **монотонно**, т.е. пользователи с меньшими ID пришли раньше.

Если эксперимент длился 30 дней, а пользователи приходили неравномерно, то:
- группа A могла доминировать в начале
- группа B — в конце

📉 А что, если в эти периоды поведение пользователей менялось? Например, была акция, баг, праздник?

🔍 **Решение: как восстановить эффект**

1. 🟤 Добавим к данным колонку `bucket = user_id // 100`, чтобы разбить пользователей на условные "временные окна"
2. 🟤 Для каждого `bucket` считаем среднюю `conversion_rate` отдельно по группам A и B
3. 🟤 Строим график `conversion_A - conversion_B` по bucket

Если кривая скачет — тест **несбалансирован по времени** и глобальное сравнение групп вводит в заблуждение.
  • 👍 7
  • 🔥 4
  • 🥴 2
More from @data_math
  1. Sep 25, 2026💰 У пяти крупнейших гиперскейлеров уже $2,8 трлн будущих обязательств По данным Moody’s,…
  2. Sep 25, 2026Avito DS Meetup: RL, AI-агенты и BidCorrection 🚀 🔸 Булат Шарипов расскажет, как в Авито…
  3. Sep 24, 2026arXiv получил $17,2 млн на следующие 3–5 лет. Деньги выделили Simons Foundation Internatio…
  4. Sep 23, 2026✔️ OpenAI расширила Academy до 14 курсов OpenAI добавила в свою образовательную платформу…
  5. Sep 23, 2026Почему универсального ML-алгоритма не существует? Теорема No Free Lunch утверждает: если у…
  6. Sep 22, 2026🚨 DeepSeek обучает модель на 2 трлн параметров и планирует следующую на 8 трлн Для сравне…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →