M9 · 22.10 · GD: связь SN с ecommerce
Главная · Все таблицы · Исследования
M9 — Gerard Darel: связь Sales Ninja с ecommerce-покупкой
Уточнение вывода M8: большое число ML-целей и отсутствие покупки в части отмеченных визитов сами по себе не означают плохую модель. Для предварительного сигнала это допустимо. Проверяем связь с исходом, порядок событий и доступность сигнала до покупки. Аналогия с goalData — гипотеза о назначении, а не подтверждение устройства Sales Ninja.
Источник: сохранённые M6 Logs API, counter61921558, весь трафик. Основное окно 01.01–30.09.2026, контрольное 01.01–30.09.2025, Москва. Единица — уникальный визит, повторные достижения не увеличивают знаменатель. Ecommerce: покупка3061921558; во всех1 175 561прочитанных визитах её наличие совпало с непустым purchaseID. Это зарегистрированная покупка Метрики, не оплата/выкуп.
В2026: 639 578 визитов, 4 359 с покупкой; базовая доля 0.68%. В2025:535 983визита/4 796с покупкой; выбранные SN ID не наблюдались, качество этой модели за2025оценить нельзя.
Главное ограничение: в 89.92% / 90.34% визитов с покупкой и соответствующей SN-целью первая регистрация SN находится после ecommerce. Поэтому сильная совместная встречаемость не доказывает предварительный прогноз. Это вывод о времени целей в логах, не о времени внутренней оценки Sales Ninja.
1. Описательная связь в одном визите
«Доля покупок» = визиты с сигналом и ecommerce / все визиты с сигналом. Lift — отношение этой доли к доле покупок во всех визитах. Охват = доля покупающих визитов, в которых есть сигнал. Phi — корреляция двух бинарных признаков на уровне визита. Эти показатели используют весь завершённый визит, включая события после покупки, и не являются точностью прогноза.
| Сигнал | Визиты с сигналом | С покупкой | Доля покупок | Доля без сигнала | Lift к базе | Охват покупок | Phi |
|---|---|---|---|---|---|---|---|
| Корзина | 39 614 | 3 383 | 8.54% | 0.16% | 12.53× | 77.61% | 0.25 |
| SN: покупка | 11 457 | 3 543 | 30.92% | 0.13% | 45.37× | 81.28% | 0.50 |
| SN: покупка для мастера | 9 993 | 3 521 | 35.23% | 0.13% | 51.70× | 80.78% | 0.53 |
| SN: Антибот | 11 474 | 24 | 0.21% | 0.69% | 0.31× | 0.55% | -0.01 |
| SN: Холодный | 184 278 | 2 531 | 1.37% | 0.40% | 2.02× | 58.06% | 0.05 |
| SN: Средний | 87 935 | 420 | 0.48% | 0.71% | 0.70× | 9.64% | -0.01 |
| SN: Выше среднего | 42 386 | 429 | 1.01% | 0.66% | 1.49× | 9.84% | 0.01 |
| SN: Горячий | 61 743 | 1 471 | 2.38% | 0.50% | 3.50× | 33.75% | 0.07 |
| SN: Очень горячий | 45 403 | 1 605 | 3.54% | 0.46% | 5.19× | 36.82% | 0.10 |
Основные две SN-цели связаны с покупкой сильнее корзины по доле покупок среди отмеченных визитов. Это описательное сравнение групп разного размера/состава. «Средний» сегмент ниже общей базы, «Холодный» выше «Среднего»; названия не образуют доказанную шкалу вероятности. Цели могут пересекаться и срабатывать в разное время, их не складываем. Порогов30/50/70/90из пользовательского примера у SN здесь не предполагали.
Описательная связь и порядок событий (association.png)
2. Порядок сигнала и покупки
Среди визитов с обоими событиями сравниваем первое неотрицательное время SN и первое время ecommerce. Одинаковая секунда не даёт установить порядок. Время регистрации/привязки цели в логах не обязательно является временем вычисления/доступности ML-прогноза.
| Сигнал | Оба события | Сигнал раньше | В ту же секунду | Сигнал позже | Время не установлено |
|---|---|---|---|---|---|
| Корзина | 3 383 | 3 264 | 0 | 119 | 0 |
| SN: покупка | 3 543 | 339 | 18 | 3 186 | 0 |
| SN: покупка для мастера | 3 521 | 333 | 7 | 3 181 | 0 |
| SN: Антибот | 24 | 5 | 0 | 19 | 0 |
| SN: Холодный | 2 531 | 502 | 9 | 2 020 | 0 |
| SN: Средний | 420 | 56 | 0 | 364 | 0 |
| SN: Выше среднего | 429 | 59 | 1 | 369 | 0 |
| SN: Горячий | 1 471 | 248 | 4 | 1 219 | 0 |
| SN: Очень горячий | 1 605 | 292 | 5 | 1 308 | 0 |
События SN после ecommerce не подтверждают предварительный прогноз. Однако это не доказывает, что внутри Sales Ninja не было более ранней оценки: она могла передаваться другим способом/позже. Проверяется по журналам/коду через ASK-0004. Весь эффект на обучение/стратегии Директа пока неизвестен.
3. Проверка сигнала на 60-й секунде
Предварительно зафиксированный момент —60сек. Берём визиты длительностью≥60сек, без покупки к этому времени, без непригодных дат, с ecommerce в пределах расчётной длительности+2сек либо без покупки. Признак — цель уже зарегистрирована к60сек; исход — покупка позже60сек. Последующий SN не переводит визит в группу раннего сигнала. Все доли условны для такой активной аудитории; это ретроспективная проверка, а не проверка модели на независимой будущей выборке.
В2026 из-за ecommerce после расчётной длительности отмечены29визитов; это отдельное ограничение временного среза. В2025таких50, но ML-проверки2025не проводилось. Выход SN за duration сам по себе не исключает визит.
| Сигнал | Визиты в проверке | Сигнал к60сек | Из них купили позже | Доля с сигналом | Доля без сигнала | Lift к базе этого среза | Wilson95% |
|---|---|---|---|---|---|---|---|
| Корзина | 250 506 | 7 074 | 831 | 11.75% | 1.36% | 7.09× | 11.02%–12.52% |
| SN: покупка | 250 506 | 77 | 3 | 3.90% | 1.66% | 2.35× | 1.33%–10.84% |
| SN: покупка для мастера | 250 506 | 39 | 3 | 7.69% | 1.66% | 4.64× | 2.65%–20.32% |
| SN: Антибот | 250 506 | 152 | 2 | 1.32% | 1.66% | 0.79× | 0.36%–4.67% |
| SN: Холодный | 250 506 | 6 456 | 54 | 0.84% | 1.68% | 0.51× | 0.64%–1.09% |
| SN: Средний | 250 506 | 2 434 | 13 | 0.53% | 1.67% | 0.32× | 0.31%–0.91% |
| SN: Выше среднего | 250 506 | 1 316 | 10 | 0.76% | 1.66% | 0.46× | 0.41%–1.39% |
| SN: Горячий | 250 506 | 2 370 | 23 | 0.97% | 1.66% | 0.59× | 0.65%–1.45% |
| SN: Очень горячий | 250 506 | 2 092 | 23 | 1.10% | 1.66% | 0.66× | 0.73%–1.64% |
Wilson-интервалы описательные: повторные визиты одного клиента не учтены как зависимые. По небольшому числу последующих покупок нельзя выбирать «лучшую» цель или доказать её пригодность для автостратегии. Результаты30/120сек и разбивки по наличию корзины — в таблицах проверки (landmarks.md), порог по максимуму результата не подбирался.
4. Устойчивость по времени и трафику
| Сигнал | Первое наблюдение в окне | Дневная корреляция количеств | Дневная корреляция долей |
|---|---|---|---|
| Корзина | 2026-01-01 00:47:12 | 0.83 | 0.76 |
| SN: покупка | 2026-01-01 00:24:22 | 0.55 | 0.52 |
| SN: покупка для мастера | 2026-01-01 00:24:22 | 0.72 | 0.67 |
| SN: Антибот | 2026-01-31 11:08:40 | -0.06 | -0.10 |
| SN: Холодный | 2026-01-23 10:22:47 | 0.03 | 0.15 |
| SN: Средний | 2026-01-22 18:22:47 | 0.13 | 0.21 |
| SN: Выше среднего | 2026-01-22 18:22:47 | 0.15 | 0.23 |
| SN: Горячий | 2026-01-22 20:58:26 | 0.03 | 0.10 |
| SN: Очень горячий | 2026-01-22 20:58:26 | 0.11 | 0.19 |
По дням корреляция чисел может объясняться общим объёмом трафика. Корреляция долей уменьшает этот конкретный эффект, но не устраняет сезонность, смену каналов, повторных посетителей и версии модели. Причинного эффекта ни одна корреляция не устанавливает. В summary.json сохранены все9месяцев, каналы lastTrafficSource и устройства; эти разбивки тоже описательные и не доказывают независимую добавочную ценность модели.
Общее полное окно всех выбранных целей — февраль–сентябрь2026: последние первые наблюдения относятся к31января. Ниже дополнительное сравнение в этом окне; оно выбрано по покрытию, а не по лучшему lift. Пропуски/версии внутри окна неизвестны.
| Сигнал | Все визиты окна | Визиты с сигналом | С покупкой | Доля покупок | Lift к базе окна |
|---|---|---|---|---|---|
| Корзина | 546 956 | 33 988 | 2 819 | 8.29% | 12.48 |
| SN: покупка | 546 956 | 10 003 | 2 949 | 29.48% | 44.36 |
| SN: покупка для мастера | 546 956 | 8 519 | 2 934 | 34.44% | 51.82 |
| SN: Антибот | 546 956 | 11 473 | 24 | 0.21% | 0.31 |
| SN: Холодный | 546 956 | 184 245 | 2 530 | 1.37% | 2.07 |
| SN: Средний | 546 956 | 87 904 | 419 | 0.48% | 0.72 |
| SN: Выше среднего | 546 956 | 42 358 | 428 | 1.01% | 1.52 |
| SN: Горячий | 546 956 | 61 713 | 1 470 | 2.38% | 3.58 |
| SN: Очень горячий | 546 956 | 45 371 | 1 604 | 3.54% | 5.32 |
5. Что известно и чего не хватает
- Подтверждено: связь двух SN-целей покупки с ecommerce на уровне завершённого визита; полный охват/доли/порядок — таблицы выше. Просто число достижений против числа заказов не оценивает ML-модель.
- Подтверждено: у многих целей время позже расчётной длительности визита. Не называем эти даты ошибочными только из-за duration. Все неотрицательные времена сохранены для сравнения порядка; для фиксированного момента после него ничего не используется как признак. Диагностика и изменение первого чернового временного фильтра описаны в question.md.
- Неизвестно: фактическое время вычисления/публикации оценки; используются ли ecommerce/корзина/итог визита как входы; правила последующей отправки и пороги; версии по месяцам. Поэтому сильная совместная встречаемость ещё не доказывает хороший прогноз.
- Не установлено: калибровка вероятности (что означает конкретный score), точность на независимом будущем периоде, прибыльные оплаты/выкупы, дополнительный эффект в Директе. Для последнего нужен контролируемый эксперимент и CRM-исход.
- База сравнения неполна относительно всех реальных заказов: ecommerce M7 содержит только часть Битрикса. Мы валидируем связь с наблюдаемой целью, не со всеми реальными продажами. Ошибки регистрации целевого исхода могут влиять на оценку.
6. Качество данных и повторяемость
M6:14частей GD, хеши проверены, SQL-уникальность(year,visit_id), корректность длины массива времени. Новых API0. Источники не менялись. Производная БД visits-v2.sqlite — private с правами700/600; прежняя visits.sqlite — след первой локальной итерации, для итогов не используется. Публично нет ClientID/URL/IDвизитов.
Независимый пересчёт Python: 72 контрольных числа таблиц сопряжённости, 108 чисел60сек-среза и 18 сверок разбиения времени без расхождений. M8 по ecommerce/SN2 воспроизведён; integrity_check=ok.
Ниже расхождения сохранённых Reports API и Logs API для текущих ID. Они не уравнивались; причина неизвестна. Особенно Антибот: разница заметнее других целей, нельзя молча использовать знаменатели из разных источников в одной формуле.
| Год | Цель | Reports достижения | Logs элементы | Reports визиты | Logs визиты |
|---|---|---|---|---|---|
| 2025 | Ecommerce: добавление в корзину | 107 408 | 107 405 | 40 566 | 40 566 |
| 2026 | Ecommerce: добавление в корзину | 118 044 | 118 077 | 39 612 | 39 614 |
| 2026 | Sales Ninja - Односессионная - Ecommerce: покупка | 24 547 | 24 551 | 11 455 | 11 457 |
| 2026 | Sales Ninja - Односессионная - Ecommerce: покупка (для мастера и товарной) | 11 415 | 11 417 | 9 991 | 9 993 |
| 2026 | Sales Ninja - Антибот | 31 553 | 33 002 | 10 951 | 11 474 |
| 2026 | Sales Ninja - Аудиторный сегмент - Холодный | 211 702 | 211 692 | 184 285 | 184 278 |
| 2026 | Sales Ninja - Аудиторный сегмент - Средний | 95 570 | 95 567 | 87 937 | 87 935 |
| 2026 | Sales Ninja - Аудиторный сегмент - Выше среднего | 46 255 | 46 252 | 42 387 | 42 386 |
| 2026 | Sales Ninja - Аудиторный сегмент - Горячий | 68 710 | 68 708 | 61 745 | 61 743 |
| 2026 | Sales Ninja - Аудиторный сегмент - Очень горячий | 51 057 | 51 048 | 45 411 | 45 403 |
7. Решение и следующая проверка
- Считать сильную связь двух SN-покупок с ecommerce установленной описательно, а полезность предварительного ML-сигнала — отдельным вопросом.
- Через ASK-0004 (
../../questions.md#ask-0004) получить временной путь «признаки → оценка → отправка цели → ecommerce», версии и пример до покупки. Не объявлять сигнал прогнозом по одному названию или совпадению. - После проверки доступности сигнала выбрать заранее один момент/окно и провести проверку на более позднем периоде без настройки на результат; сравнить с одной корзиной и простыми поведенческими признаками. Высокая связь после покупки не должна попадать в оценку качества.
- Только затем проверять связь с выкупом/маржой и фактическое применение в Директе. В M9 целей/интеграций/кампаний не меняли, сообщения участникам не отправляли.
Артефакты
- Вопрос и определения (
question.md), все агрегаты JSON (summary.json), источники/хеши (sources.json), независимая проверка (verification.json), временные срезы (landmarks.md), все месяцы (monthly.md). - Рисунок: PNG (
association.png), SVG (association.svg), воспроизводимый исходник tools/report_gd_sn.py. - Пример пользователя: screenshot (
../../sources/user/2026-10-22/activ4plus-ml-goals-user-screenshot.png), происхождение и ограничения (../../sources/user/2026-10-22/activ4plus-ml-goals-user-screenshot.json). На нём есть частота разных score-целей, но нет связи с целевым исходом. Принадлежность activ4plus — по сообщению пользователя, не независимая проверка. - Методика метрик: precision/recall, утечка информации. Применён goaldata-intelligence; API goalData не вызывался, чужие параметры/ID не переносились.
Источник: analysis/2026-10-22-gd-sales-ninja-validation/report.md.