Условие
Юзеры приходят из 3 каналов:
- Search: 50%, conversion 8%.
- Social: 30%, conversion 4%.
- Direct: 20%, conversion 12%.
Какова общая средняя конверсия?
Решение
Формула полной вероятности
P(conv) = Σ P(conv | channel_i) × P(channel_i)
P(conv) = 0.08 × 0.5 + 0.04 × 0.3 + 0.12 × 0.2
= 0.04 + 0.012 + 0.024
= 0.076 = 7.6%
Обратная задача: дан clicker, откуда он
P(channel | conv) через Bayes:
P(Search | conv) = P(conv | Search) × P(Search) / P(conv)
= 0.08 × 0.5 / 0.076
= 0.526 ≈ 53%
Хотя Direct даёт самую высокую conversion rate (12%), он составляет только 32% всех конверсий (0.024/0.076).
Где это полезно
- Аллокация бюджета: не «куда вкладывать», а «откуда реально приходят деньги».
- A/B тест: при изменении mix каналов общая конверсия может вырасти без изменения per-channel rates.
- Anomaly detection: «conversion упала» — это потому что упала per-channel или потому что mix сместился?
Simpson's paradox в этой картине
Может оказаться, что общая conversion упала, хотя per-channel выросла. Это происходит, когда mix сместился в плохо-конвертящие каналы.
Пример:
- Search 8% → 10% (выросла), но доля 50% → 30%.
- Social 4% → 5%, доля 30% → 60%.
- Direct 12% → 13%, доля 20% → 10%.
Old: 0.08×0.5 + 0.04×0.3 + 0.12×0.2 = 0.076
New: 0.10×0.3 + 0.05×0.6 + 0.13×0.1 = 0.073
Каждый канал улучшился, общая упала. Mix shift важнее per-channel дельт.
Подводные камни
- Без знания mix P(channel) усреднение per-channel метрик даёт мусор.
- Simpson: смотреть и weighted average, и per-segment.
- P(channel | conv) ≠ P(conv | channel) — путаница типичная.
- Сегменты должны быть mutually exclusive и покрывать 100%; иначе сумма ≠ 1.
- При marginal mix shift нужны fixed-mix метрики или counterfactual («что было бы при старом mix»).
Эталонный ответ
P(conv) = Σ P(conv|seg)·P(seg). Обратная задача — Bayes. Watch out для Simpson: средняя может падать при росте каждого сегмента из-за shift в mix.