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. Решение и следующая проверка

  1. Считать сильную связь двух SN-покупок с ecommerce установленной описательно, а полезность предварительного ML-сигнала — отдельным вопросом.
  2. Через ASK-0004 (../../questions.md#ask-0004) получить временной путь «признаки → оценка → отправка цели → ecommerce», версии и пример до покупки. Не объявлять сигнал прогнозом по одному названию или совпадению.
  3. После проверки доступности сигнала выбрать заранее один момент/окно и провести проверку на более позднем периоде без настройки на результат; сравнить с одной корзиной и простыми поведенческими признаками. Высокая связь после покупки не должна попадать в оценку качества.
  4. Только затем проверять связь с выкупом/маржой и фактическое применение в Директе. В 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.