Собесов

Контур — план-факт анализ продаж Бухгалтерия.Контур для ИП на УСН

Кейсы и метрикиPlan-fact analysisСредняяMiddle

Условие

Контур.Бухгалтерия — веб-сервис отчётности для ИП. Целевая аудитория — ИП на УСН в 77 регионе. Конкурируют несколько сервисов; средние цены на рынке = средняя цена Контура. Оплата зависит от тарифа.

Дано: данные о плане и факте продаж (шт. + рубли) и данные об ИП за ряд лет.

Задачи:

  1. План-факт анализ продаж.
    • (а) Отчёт с визуализацией.
    • (б) Укрупнённая и детализированная группы тарифов.
    • (в) Логика и последовательность.
    • (г) Выводы и рекомендации.

Решение

Каркас отчёта

Block 1 — Total:

  • Plan vs Fact (шт. и руб.) по периоду (помесячно).
  • % выполнения плана.
  • Δ Plan-Fact (рост/спад).

Block 2 — Tariff mix:

  • Укрупнённые группы тарифов: Старт / Базовый / Расширенный.
  • Детализированные: внутри каждой — точные SKU.
  • Доля каждого тарифа в выручке и в шт.
  • Сравнение с планом по группам.

Block 3 — ИП-сегменты:

  • По обороту, типу деятельности, дате регистрации.
  • Какие сегменты активнее покупают.
  • Какие недопродают (gap to plan).

Block 4 — Drivers of variance:

  • Декомпозиция: revenue = quantity × ASP × tariff_mix.
  • Что упало/выросло относительно плана?

Логика и последовательность

  1. Сверить данные: есть ли gaps, несовпадение справочников между планом и фактом.
  2. Total: сначала картина в целом — выполнен ли план в общем.
  3. Декомпозиция: что отвечает за дельту — quantity или ASP.
  4. Tariff mix: какая группа тарифов недоперформит.
  5. ИП сегмент: где целевая аудитория. Если пере- / недо-перформит — это структурный insight.
  6. Сезонность: налоговая отчётность сильно сезонна (Q1, Q3, Q4 — пики). Сравнение должно учитывать этот эффект.
  7. Внешние причины: повышение комиссии, ИП регистрационная активность.

Группы тарифов

Укрупнённая (3 группы):

  • Старт (минимальный — для микробизнеса, низкий ARPU).
  • Базовый (средний — массовая аудитория).
  • Расширенный (премиум — с консультацией бухгалтера).

Детализированная (внутри каждой):

  • 1-3 SKU с разной длительностью подписки (3 / 6 / 12 мес).
  • Bundle с фискальным накопителем / СБИС.

Выводы / рекомендации (примеры)

  • Если Старт перевыполняет план, но Расширенный недо-: цены конкурентов выгоднее для премиум; нужны промо или новый функционал.
  • Если в Q1 (отчётность) сильный fact > plan — план был неадекватен; пересмотреть планирование.
  • Если в одном сегменте ИП (например, по обороту 2-10 млн) большая дельта в минус — таргетная маркет-кампания.
  • Cross-sell: ИП на Старте → апгрейд до Базового через 6 мес.

SQL для отчёта

-- Plan vs Fact по тарифной группе и месяцу
WITH plan AS (
  SELECT DATE_TRUNC('month', period) AS mth,
         tariff_group,
         SUM(plan_qty) AS plan_qty,
         SUM(plan_rev) AS plan_rev
  FROM sales_plan
  GROUP BY 1, 2
),
fact AS (
  SELECT DATE_TRUNC('month', sale_date) AS mth,
         tariff_group,
         SUM(qty) AS fact_qty,
         SUM(amount) AS fact_rev
  FROM sales_fact
  GROUP BY 1, 2
)
SELECT
  COALESCE(p.mth, f.mth)                  AS mth,
  COALESCE(p.tariff_group, f.tariff_group) AS tariff_group,
  COALESCE(p.plan_qty, 0)                  AS plan_qty,
  COALESCE(f.fact_qty, 0)                  AS fact_qty,
  (COALESCE(f.fact_qty, 0) - COALESCE(p.plan_qty, 0)) * 1.0
   / NULLIF(p.plan_qty, 0)                 AS qty_var_pct,
  COALESCE(p.plan_rev, 0)                  AS plan_rev,
  COALESCE(f.fact_rev, 0)                  AS fact_rev,
  (COALESCE(f.fact_rev, 0) - COALESCE(p.plan_rev, 0)) * 1.0
   / NULLIF(p.plan_rev, 0)                 AS rev_var_pct
FROM plan p FULL OUTER JOIN fact f
  ON p.mth = f.mth AND p.tariff_group = f.tariff_group
ORDER BY mth, tariff_group;

Проверка / интерпретация

  • Sanity: если план был «оптимистичным» (рост 30% YoY), а фактический рынок дал 5%, дельта будет всегда отрицательной.
  • ASP fact vs ASP plan: возможно, mix сместился к дешёвым тарифам.

Подводные камни

  1. Отсутствует план для нового тарифаLEFT JOIN даст NaN, не игнорируйте.
  2. Tariff_group в плане ≠ в факте: разные справочники. Mappping table обязательно.
  3. Возвраты / отказы: fact - returns ≠ fact billed. Уточняйте бизнес-определение.
  4. Сезонность отчётности: апрель, июль, октябрь — пики (квартальные отчёты). План YoY должен отражать.
  5. Многоканальная атрибуция: продажа через партнёров vs сайт — разные ASP.
  6. Промо и discount: fact_rev в нетто; plan может быть в gross.

Эталонный ответ

Логика: total → декомпозиция (qty × ASP × mix) → tariff group → segment → drivers + recommendations. Рекомендации зависят от data, но шаблон — gap analysis, актуализация плана, кросс-селл, target marketing.

Хочешь увидеть разбор?

Зарегистрируйся бесплатно — откроется развёрнутое решение этой задачи и ещё 4 на выбор.

Зарегистрироваться и увидеть разбор
Уже есть аккаунт? Войти