Ошибка нарушения стратификации при достижении лимита
Ошибка нарушения стратификации возникает, когда из-за установленного лимита система не может соблюсти пропорции между стратами при формировании локальной контрольной группы (ЛКГ). Предупреждение не блокирует работу кампании, но сигнализирует, что контрольная группа может быть сформирована с нарушением пропорций.
В примерах ниже используется база из 100 профилей. Такой небольшой объём выбран намеренно — на нём проще отследить логику возникновения ошибки. В реальных проектах базы могут быть намного больше, но принцип работы стратификации от этого не меняется.
Поля базы и их распределение:
| Поле | Значения | Распределение |
|---|---|---|
int_field | 20 / 80 | 20% / 80% |
region | Москва, СПб, Казань | ~34 / ~33 / ~33 профиля |
age | 18–54 | равномерно |
Уведомление об ошибке появляется только при достижении лимита при отборе ЛКГ. В процессе формирования ЛКГ могут быть отклонения, которые система пытается выровнять за счёт новых профилей, добавляемых в кампанию, но из-за установленного лимита не может это сделать.
Пример 1. Слишком маленький лимит для количества страт
Исходные данные
| Параметр | Значение |
|---|---|
| База | 100 профилей |
| Стратификация | int_field (20 / 80) и region (Москва, СПб, Казань) |
| Количество страт | 6 |
| Размер ЛКГ | 15% (должно быть 15 профилей) |
| Лимит ЛКГ | 12 профилей |
Распределение страт в базе
| Страта | В базе | Доля | Ожидаемо в ЛКГ (доля × лимит) |
|---|---|---|---|
| int_field=20 × Москва | 6 | 6% | 0.72 → ~1 |
| int_field=20 × СПб | 7 | 7% | 0.84 → ~1 |
| int_field=20 × Казань | 7 | 7% | 0.84 → ~1 |
| int_field=80 × Москва | 28 | 28% | 3.36 → ~3 |
| int_field=80 × СПб | 26 | 26% | 3.12 → ~3 |
| int_field=80 × Казань | 26 | 26% | 3.12 → ~3 |
Проблема
Из-за лимита 12 профилей ожидаемое значение для страты "20 × Москва" составляет 0,72 — меньше 1. Система не может гаранти рованно заполнить такую страту.
Как исправить
- Увеличить лимит (например, до 35 профилей) — при этом нужно пропорционально увеличить и размер ЛКГ;
- Убрать лимит совсем, оставив только процентный размер ЛКГ
- Упростить стратификацию, убрав поля с редкими значениями (например, оставить только
int_fieldбез разбивки по регионам).
Пример 2. Критическая неоднородность при стратификации по трём признакам
Исходные данные
| Параметр | Значение |
|---|---|
| База | 100 профилей |
| Сегмент | Профили до 25 лет — 21 профиль |
| Стратификация | int_field (20 / 80), region (Москва, СПб, Казань), age (18-21, 22-25) |
| Количество страт | 2 × 3 × 2 = 12 |
| Размер ЛКГ | 10% |
| Лимит ЛКГ | 8 профилей |
Распределение страт в сегменте и ожидаемое в ЛКГ
| Комбинация | В сегменте | Доля | Ожидаемо в ЛКГ |
|---|---|---|---|
| 20 × Москва × 18-21 | 0 | 0% | 0 |
| 20 × Москва × 22-25 | 1 | 4,8% | 0,38 → ~0 |
| 20 × СПб × 18-21 | 1 | 4,8% | 0,38 → ~0 |
| 20 × СПб × 22-25 | 1 | 4,8% | 0,38 → ~0 |
| 20 × Казань × 18-21 | 0 | 0% | 0 |
| 20 × Казань × 22-25 | 0 | 0% | 0 |
| 80 × Москва × 18-21 | 3 | 14,3% | 1,14 → ~1 |
| 80 × Москва × 22-25 | 2 | 9,5% | 0,76 → ~1 |
| 80 × СПб × 18-21 | 2 | 9,5% | 0,76 → ~1 |
| 80 × СПб × 22-25 | 5 | 23,8% | 1,90 → ~2 |
| 80 × Казань × 18-21 | 2 | 9,5% | 0,76 → ~1 |
| 80 × Казань × 22-25 | 4 | 19,0% | 1,52 → ~2 |
Проблема
Из-за лимита 8 профилей ожидаемое значение для страт с int_field=20 составляет 0 или близко к 0. Пустые страты сами по себе ошибкой не являются — это может соответствовать реальному состоянию базы данных, если в ней действительно нет таких профилей. Ошибка возникает из-за того, что ожидаемое количест во профилей в страту слишком маленькое и не может быть увеличено даже при расширении аудитории кампании, так как лимит это ограничивает, и соответственно теряется однородность стратификации.
Как исправить
Снять лимит — тогда система сможет добрать профилей из новых поступлений. Или упростить стратификацию: не использовать возраст или расширить возрастные отрезки.
Пример 3. Очень маленький лимит
Исходные данные
| Параметр | Значение |
|---|---|
| База | 100 профилей |
| Стратификация | по полю int_field (20 / 80) |
| Лимит ЛКГ | 1 профиль |
| Размер ЛКГ | 10% (доступно 10 профилей, но лимит ограничивает 1) |
Проблема
При лимите 1 профиль система не может соблюсти пропорции 20% и 80%. В выборке из одного профиля возможны только два варианта: 0%/100% или 100%/0%. Отклонение от идеальной пропорции составляет 100%.
Как исправить
Убрать лимит или увеличить его хотя бы до 10-20 профилей.