Урок 15 · 15 мин чтения

Ловушки агрегации — где модель тихо врёт

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

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

Идея урока

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

Ловушка 1. Начисление и касса в одном флаконе

P&L строится по методу начисления (выручка — по отгрузке), ДДС — по кассе (деньги по факту). Это две разные системы измерения (см. урок 03 и 11), и смешивать их в одном показателе нельзя.

«Выручка минус платежи» — это ничто

Классическая ошибка — посчитать «прибыль» как выручка (начисление) − оплаченные расходы (касса). Получится гибрид, который не равен ни прибыли, ни денежному потоку, и не сходится ни с одним отчётом. Выручку сравнивают с расходами по начислению (→ прибыль), поступления сравнивают с платежами (→ денежный поток). Эти два мира соединяет только косвенный метод через изменения оборотного капитала (урок 03), а не прямое вычитание.

Защита в модели: помечать каждую меру и факт-таблицу признаком базиса (начисление/касса), не давать им смешиваться в одном визуале, а переход между мирами показывать явным мостом (waterfall «прибыль → денежный поток»).

Ловушка 2. Внутригрупповые обороты и элиминация

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

Сумма выручек юрлиц ≠ выручка группы

Если просто сложить выручку всех компаний группы, внутренние продажи посчитаются дважды: как выручка продавца и потом как выручка конечной перепродажи. Консолидированная выручка группы должна исключать внутригрупповые обороты — это называется элиминация. То же с внутренними долгами (дебиторка одной = кредиторка другой) и внутренней прибылью в запасах. Без элиминации группа выглядит крупнее и прибыльнее, чем есть.

Как заложить элиминацию в модель

Нужны два признака: какой компании принадлежит оборот и кто контрагент. Если контрагент — тоже компания группы, оборот помечается как внутренний. Консолидированные меры считают всего − внутренние:

Выручка группы =
CALCULATE (
[Выручка],
Контрагент[ВнутриГруппы] = FALSE
)

Это требует, чтобы в справочнике контрагентов был флаг принадлежности к группе. Без него консолидация невозможна — и это снова вопрос аналитики в источнике (урок 12).

Ловушка 3. Мультивалюта

Операции в разных валютах нельзя складывать «по номиналу»: 100 $ + 100 ₽ ≠ 200 чего-либо. Нужен пересчёт по курсу — но по какому?

Курс на дату операции против курса на дату отчёта
  • Обороты (выручка, расходы, потоки) пересчитываются по курсу на дату операции — так фиксируется реальная стоимость в момент сделки.
  • Остатки в валюте (валютный счёт, валютная дебиторка) переоцениваются по курсу на дату отчёта — иначе баланс не отразит текущую стоимость.
  • Разница между ними — курсовая разница, которая идёт в прочие доходы/расходы (счёт 91) и сама по себе влияет на прибыль, не будучи операционной.

Защита в модели: хранить сумму и в валюте операции, и в валюте отчёта (с курсом на дату); никогда не суммировать суммы в разных валютах одной мерой без пересчёта; курсовые разницы выделять отдельной статьёй, чтобы не путать с операционным результатом.

Ловушка 4. Разная гранулярность фактов

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

План помесячно, факт подневно — сравнивать только на общем уровне

Если план задан по месяцам, а факт — по дням, то на уровне дня плана просто нет, и Отклонение = Факт − План покажет «факт минус пусто» = весь факт как перерасход. Сравнивать план и факт можно только на той гранулярности, на которой существуют оба (здесь — месяц и выше). В модели это решают приведением фактов к общему зерну или мерами, которые сравнивают только на совместимом уровне (через ISINSCOPE/проверку уровня).

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

Общий принцип защиты

Складывать можно только однородное

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

Как это проверить

Те же три равенства из урока 05 ловят большинство таких ошибок: задвоенная внутригрупповая выручка или непересчитанная валюта почти всегда рассыпают сходимость баланса и связку «прибыль → капитал». Служебная страница с инвариантами — ваш детектор тихого вранья.

Что дальше

Модель данных готова и защищена от ловушек. Дальше — самое визуальное: как нарисовать каждый отчёт, чтобы он отвечал на вопросы первого лица. Начнём с P&L как водопада и декомпозиции отклонения план-факт. Следующий модуль.

В группе из трёх юрлиц сложили выручку всех компаний. Почему это, скорее всего, завышение?
Если компании группы торгуют между собой, внутренние обороты попадают в выручку и продавца, и конечного продавца — двойной счёт. Консолидированная выручка = сумма выручек минус внутригрупповые обороты (элиминация). Для этого в модели нужен флаг «контрагент внутри группы». Без элиминации группа выглядит крупнее и прибыльнее реального.
Прогресс сохраняется в вашем браузере.
§ Power BI под ключ

Нужно внедрить
это в компании?

Соберём DWH, модель и дашборды под ваши данные. Бесплатная консультация — 30 минут.

Телефон+7 918 042 34 43