# Декомпозиция падения выручки и лаг-корреляции: методика ИИ-анализа продаж

> Аналитику: как устроена арифметическая декомпозиция изменения выручки, пороги значимости, лаг-корреляции и почему нельзя вычитать вложенные периоды.

published: 2026-08-05
updated: 2026-08-05

Разбор падения продаж на Wildberries — это не поиск одной виноватой цифры, а раскладка изменения выручки на факторы, каждый из которых можно измерить: стало меньше трафика, хуже конверсия, кончился товар, изменился расход рекламы, изменилась цена. ИИ-ассистент делает эту раскладку одним вопросом: сам сравнивает период с предыдущим той же длины, считает вклад каждого фактора в деньгах и показывает, что весит больше. Вместо пяти открытых отчётов и сведения цифр вручную — один ответ с готовым выводом.

## Коротко

- Вопрос «почему упали продажи» закрывается одним запросом с раскладкой по причинам в деньгах.
- Сравнение всегда строится как два соседних окна равной длины, а не вычитанием вложенных пресетов.
- Причиной признаётся только значимое изменение, мелкие колебания не выдаются за объяснение.
- Гипотезу «реклама влияет на заказы» проверяет корреляция со сдвигом по дням: эффект часто виден не сразу.
- История остатка показывает подтверждённые дни нуля, история цены — точные моменты её изменения.
- Разбор ведёт [ИИ-агент для маркетплейсов](/docs/ii-agent-dlya-marketpleysov); общий обзор — [«Автоматизация работы с Wildberries»](/docs/avtomatizatsiya-wildberries).

## Как устроена раскладка

<details>
<summary>Подробно: пять факторов и их вес</summary>

Ассистент берёт выбранный период, строит непересекающееся окно той же длины перед ним и раскладывает разницу выручки на компоненты:

- **Трафик** — сколько людей заходило в карточки. Меньше показов и переходов — меньше заказов при той же конверсии.
- **Конверсия** — доля тех, кто дошёл до корзины и заказа. Падение конверсии при том же трафике означает проблему в карточке, цене или отзывах.
- **Остаток** — дни, когда товара физически не было. Продажи не падают, а обнуляются, и никакая реклама этого не компенсирует.
- **Реклама** — изменение расхода. Сокращение бюджета почти всегда тянет за собой заказы, но с задержкой.
- **Цена** — изменение цены со скидкой, которое двигает и конверсию, и выручку с единицы.

Каждый фактор переводится в деньги, чтобы их можно было сравнивать между собой. Это принципиально: спор «что важнее, конверсия или реклама» бессмысленен, пока обе величины не приведены к рублям.

</details>

<details>
<summary>Подробно: почему в ответе не всё подряд</summary>

Хороший разбор отличается от плохого не количеством упомянутых причин, а отсечением шума. Фактор попадает в ответ только если он действительно двигает результат: изменение на десять процентов и больше в деньгах, конверсия — на процентный пункт и больше, отсутствие товара — от одного полного дня в нуле.

Есть и нижний порог по базе: на околонулевой выручке проценты бессмысленны, и в этом случае платформа скажет об этом прямо, а не выдаст «падение на 400%».

Ещё одна ловушка снимается автоматически: пресеты «последние 7, 30 и 90 дней» вложены друг в друга, поэтому вычитать один из другого нельзя — разница между ними не является периодом сравнения. Сравнение всегда строится как два соседних окна.

</details>

## Проверка гипотез

Отдельный класс вопросов — не «что изменилось», а «связано ли одно с другим». Здесь ассистент сравнивает два дневных ряда и проверяет не только совпадение день в день, но и сдвиги: от минус семи до плюс семи дней. Затем называет сдвиг, при котором связь сильнее всего.

Это не формальность. На реальных данных магазина связь расхода рекламы и заказов день в день оказалась практически нулевой, а при сдвиге в два дня — почти полной. Продавец, посмотревший только на совпадение в тот же день, сделал бы вывод «реклама не работает» и отключил бы кампанию, которая на самом деле работала.

Платформа при этом честно предупреждает, что корреляция — гипотеза, а не доказанная причина, и не считает связь на слишком короткой выборке, где коэффициент нестабилен.

## Проверка версии «товар кончился»

<details>
<summary>Подробно: остатки и цена по дням</summary>

Самое частое объяснение падения продаж — «наверное, товар кончился». Проверяется оно за один вопрос: ассистент показывает историю остатка по дням и выделяет подтверждённые интервалы, когда остатка не было. Это не оценка по среднему, а конкретные даты.

Порядок величин здесь обычно удивляет: на реальном товаре за месяц нашлись два подтверждённых интервала нулевого остатка длиной девять и три дня — то есть склад пустовал почти половину месяца, и на конец периода товара тоже не было. При такой картине искать причину в конверсии или в тексте карточки не имеет смысла.

Вторая типовая версия — «цена изменилась». История цены по дням показывает не только сам ряд, но и моменты изменения: дата, с какой цены на какую и на сколько процентов. Сопоставив её с рядом заказов, можно увидеть, совпало ли падение с повышением цены — или произошло раньше, что снимает эту версию.

</details>

## Что делать с результатом

Раскладка полезна тем, что превращается в разные действия:

- **Упал трафик** — смотрите поисковую видимость и рекламу: [«Поисковая аналитика»](/analytics/search) покажет позиции по запросам и высокочастотные запросы предмета, по которым вас нет вовсе.
- **Упала конверсия** — смотрите воронку товара, отзывы и изменения карточки: раздел [«Изменения»](/changes) показывает, какие правки давали эффект до и после.
- **Кончился товар** — смотрите [«Потребность»](/inventory/replenishment) и [«Оборачиваемость»](/inventory/turnover), чтобы стокаут не повторился.
- **Реклама** — раздел [«Реклама»](/ads): расход, выручка с рекламы, ДРР, ROAS, окупаемость по кампаниям и товарам.
- **Цена** — проверьте маржу перед следующим изменением: снижать цену при нулевой марже бессмысленно.

## Частые вопросы

**Почему упали продажи на Wildberries?**
Причин всего пять и они измеримы: меньше трафика, хуже конверсия, товара не было на складе, сократилась реклама, изменилась цена. ИИ-ассистент считает вклад каждой в деньгах и называет главную.

**Как быстро получить разбор?**
Одним вопросом «почему упали продажи» или «продажи просели, в чём причина» — сравнение с предыдущим периодом строится автоматически.

**Можно ли разобрать падение по конкретному товару?**
Да, укажите товар названием или артикулом; для товара доступны воронка, история остатка и история цены.

**Как проверить, влияет ли реклама на заказы?**
Спросите «влияет ли реклама на заказы» — платформа проверит связь со сдвигом от минус семи до плюс семи дней и назовёт лаг с самой сильной связью.

**Что если данных мало?**
Платформа скажет об этом прямо: на слишком короткой выборке связь не считается, а факторы ниже порога значимости не выдаются за причину.

**Можно ли сравнить произвольные периоды?**
Да: конкретные даты, месяц, квартал или событие вроде Чёрной пятницы. Максимальное окно — год.

## Коротко

- Декомпозиция арифметическая: вклад факторов считается, а не оценивается моделью.
- Окна сравнения — два соседних непересекающихся интервала равной длины, строятся на сервере.
- Пороги значимости отсекают шум: десять процентов в деньгах, процентный пункт по конверсии, полный день стокаута.
- Корреляция считается с перебором лагов от минус семи до плюс семи дней и подписывается как гипотеза.
- Короткая выборка не даёт коэффициента вовсе — это защита от значимых на вид случайностей.

## Устройство декомпозиции

<details>
<summary>Подробно: от дельты выручки к вкладам</summary>

Изменение выручки раскладывается на компоненты, каждая из которых имеет собственный измеримый источник: трафик (переходы в карточку), конверсия (доли перехода между этапами воронки), наличие товара (дни с подтверждённым нулевым остатком), рекламный расход и цена. Вклады приводятся к деньгам, что делает их сопоставимыми между собой.

Принципиальный момент: это арифметика над рядами, а не рассуждение модели. Задача языковой части — понять вопрос и выбрать период, товар и кабинет; расчёт выполняется запросом к данным. Из этого следует воспроизводимость: тот же вопрос с теми же границами даёт тот же ответ.

Второй принципиальный момент — построение базы сравнения. Платформа сама строит предыдущее окно той же длины, вплотную примыкающее к выбранному. Это снимает две распространённые ошибки: сравнение окон разной длины и вычитание вложенных пресетов. Окна «последние 7, 30 и 90 дней» вложены друг в друга, поэтому «тридцать минус семь» не является ни периодом, ни сравнением.

</details>

## Критерии значимости

<details>
<summary>Подробно: почему фильтр важнее полноты</summary>

Отчёт, перечисляющий все шевеления показателей, бесполезен: в нём всегда найдётся объяснение под любую версию. Поэтому фактор попадает в вывод только при выполнении порога:

- изменение в деньгах — от десяти процентов;
- изменение конверсии — от одного процентного пункта;
- отсутствие товара — от одного полного дня с подтверждённым нулевым остатком.

Дополнительно действует нижний порог по базе: при слишком малой выручке относительные изменения не интерпретируются, потому что дисперсия на малых числах перекрывает эффект.

Практическое следствие для аналитика: отсутствие фактора в ответе — это утверждение «его вклад ниже порога», а не «его не проверяли». Это позволяет использовать разбор как отсечение версий, а не только как поиск причины.

</details>

## Лаг-корреляции

<details>
<summary>Подробно: почему сдвиг обязателен</summary>

Связь между рекламным расходом и заказами почти всегда распределена во времени: между показом и оформлением заказа проходят часы и дни, а часть эффекта приходит через органическую выдачу. Поэтому корреляция без сдвига систематически занижает связь.

Платформа считает коэффициент Пирсона по дневным рядам и дополнительно перебирает сдвиги одного ряда относительно другого в диапазоне от минус семи до плюс семи дней, выбирая лаг с наибольшей силой связи. Замер на реальных данных: практически отсутствующая связь день в день и почти полная при сдвиге в два дня. Разница в интерпретации — противоположная.

Ограничения заявлены явно. При числе точек порядка десяти критическое значение коэффициента высоко, поэтому на коротком ряде результат не выдаётся вовсе, а вырожденные ряды (константа) дают пустой результат вместо числа. Итог всегда сопровождается оговоркой о том, что это гипотеза, а не установленная причинность.

</details>

## Сопутствующие ряды

Для доведения гипотезы до вывода полезны ряды, которые платформа отдаёт готовыми:

- **История остатка по дням** с выделенными эпизодами подтверждённого нуля — превращает версию «был стокаут» в интервалы с датами.
- **История цены по дням** с моментами изменения: дата, значения до и после, процент изменения — позволяет проверить, предшествовало ли изменение цены изменению спроса.
- **Дневная динамика выручки и рекламного расхода** — основа для любых сопоставлений.
- **Воронка товара** с конверсиями между этапами и топ товаров по конверсии без перебора карточек.
- **Изменения карточек** с оценкой эффекта до и после в окне около даты правки.
- **Поисковые запросы и разрыв с рынком** — трафиковая сторона гипотезы: где потеряна видимость и какие высокочастотные запросы предмета не покрыты вовсе.

## Границы применимости

Метод отвечает на вопрос «что изменилось и на сколько», а не «что произойдёт». Он не различает внешние причины (сезон, действия конкурентов, изменение алгоритмов выдачи) — они проявляются как изменение трафика или конверсии без внутренней причины, и это надо интерпретировать самостоятельно. Он не учитывает то, чего нет в данных: рекламу Ozon платформа не собирает, поэтому соответствующие показатели по этой площадке отсутствуют, а не равны нулю. И он не заменяет эксперимент: единственный способ доказать причинность — управляемое изменение с контролем.

## Частые вопросы

**Насколько декомпозиция точна?**
Она арифметическая и воспроизводимая, но её точность ограничена качеством входных рядов и порогами значимости, которые сознательно отсекают мелкие эффекты.

**Почему нельзя сравнить «30 дней» с «7 днями»?**
Эти окна вложены друг в друга. Корректная база — соседнее окно той же длины, и оно строится автоматически.

**Что означает пустой результат корреляции?**
Либо точек слишком мало для устойчивого коэффициента, либо один из рядов вырожден. Это честный отказ, а не ноль.

**Можно ли считать корреляцию доказательством?**
Нет, и платформа подписывает результат как гипотезу. Доказательство требует управляемого эксперимента.

**Как проверить сезонность?**
Сравнением с тем же периодом прошлого года в пределах допустимого окна и использованием базы «тот же день недели» в правилах наблюдения.

**Можно ли выгрузить ряды для собственной обработки?**
Да, показанную в чате таблицу или график можно выгрузить в Google Таблицу.
