Оглавление
Время чтения: 7 минут
Один из важнейших инструментов для анализа бизнеса — это дашборд с прибылью и убытками (P&L). Он позволяет контролировать рентабельность, понимать финансовое состояние, находить точки роста и выстраивать прогнозы. В этом кейсе расскажем, как мы реализовали такой инструмент с помощью open-source BI-платформы Metabase и сделали это всего за неделю.
Зачем нужен P&L-дашборд и кто им пользуется
Этот дашборд помогает ответить на ключевые вопросы:
- Как изменилась прибыль по кварталам?
- Насколько фактические показатели отличаются от запланированных?
- Что повлияло на снижение прибыли за последнюю неделю?
- Есть ли убытки и стоит ли переходить к антикризисному управлению?
- Когда бизнес достигнет точки безубыточности или окупаемости?
- Почему расходы на фонд оплаты труда растут быстрее выручки?
- Почему не учтены доходы от нового контракта?
Обычно такой инструмент используется руководителями направлений, финансовыми менеджерами, продактами, CTO и командой продаж — всеми, кто принимает решения на основе финансовых показателей.
Как выглядит готовый дашборд
Визуально — это интерактивная таблица, где можно кликнуть на любое значение и провалиться в подробности. Основной KPI — рентабельность бизнеса, и мы стараемся удерживать её выше 20%. Вся структура настраивается один раз, а данные затем обновляются автоматически.
День 1. Инфраструктура и подключение сервисов
Мы построили инфраструктуру из нескольких компонентов:
- Grist — редактор таблиц, похожий на Google Sheets, но с возможностью интеграции в бэкенд.
- Authentik — для управления доступами и правами.
- Apache Airflow — для автоматизации ETL-процессов.
- PostgreSQL — основная база хранения данных.
- Metabase — визуализация и аналитика.
К PostgreSQL мы подключили источники: CRM, таск-трекеры, отделы маркетинга и производства, финансы. Первичный сетап занял примерно день.
День 2. Сбор и подготовка данных
Следующий шаг — внесение данных в Grist и подготовка структуры БД. Мы заносим:
- Доходы
- Зарплаты
- Закупки
- Капвложения
Причём в разрезе: план / факт, сотрудники / отделы, сроки сдачи / оплаты и т.д.
Мы ведём учёт по методу начислений, а не кассовому. Это значит, что расходы признаются в момент получения дохода, а доход — когда работа сдана, а не когда поступили деньги. Grist в этом плане — мощный инструмент: справочники, фильтры, календарь, метки — всё как в Google Sheets, но с возможностью безопасно работать с базой и без риска блокировок.
День 3. SQL-запросы и сборка дашборда
Когда данные готовы, переходим к написанию SQL-запросов и созданию сводных таблиц в Metabase.
Пример запроса:
WITH
Revenue AS (...),
Purchases AS (...),
Salary AS (...)
SELECT
cost_month,
coalesce(Revenue, 0) AS revenue,
coalesce(Purchases, 0) AS purchases,
coalesce(Salary, 0) AS salary,
revenue - purchases - salary AS profit,
(revenue - purchases - salary) / NULLIF(revenue, 0) AS profitability
FROM ...
ORDER BY cost_month;
Такой запрос позволяет в один клик получить свод по прибыли, расходам и рентабельности по месяцам. Мы также используем снапшоты (DIM-таблицы) — это исторические копии данных, которые сохраняются ежедневно. Это позволяет анализировать, как менялись показатели, и находить отклонения от плана.
День 4. Автоматизация обновлений и алерты
Metabase по умолчанию обновляет данные по расписанию. Но это не всегда удобно — внесли данные, а обновления ещё нет. Решение — добавить кнопку «Обновить» прямо в дашборде. Она триггерит обновление через Airflow.
Также настраиваем алерты — если появляются отклонения, например, просроченные платежи или перерасход, отправляется уведомление на почту или в Slack. Каждому элементу таблицы можно задать ссылку — клик по строке ведёт к детальному отчёту по этой позиции.
День 5. Запуск, регулярные встречи и персонализация
Система готова, и мы переходим к внедрению в ежедневную работу. Проводим регулярные срезы с руководителями отделов — смотрим показатели по P&L, обсуждаем отклонения, ставим задачи. Это помогает не только в операционном управлении, но и в развитии культуры работы с данными.
Персональные P&L-дашборды
Для каждого отдела создаём фильтрованную версию дашборда. Расходы, доходы, зарплаты — только те, что относятся к конкретному подразделению. Косвенные затраты (например, офис, IT, бухгалтерия) распределяются пропорционально общим расходам отдела.
Мы добавляем в SQL специальную логику для распределения:
(coalesce(indirect_purchases, 0) + coalesce(indirect_salarys, 0)) *
(расходы отдела / сумма всех расходов) AS allocated_indirect_costs
Это позволяет корректно рассчитать прибыль и рентабельность по каждому направлению.
Что дальше?
- Разграничить доступы по ролям.
- Обучить команды пользоваться дашбордом.
- Расширять использование Metabase на другие отделы (продажи, маркетинг, QA и т.д.).
Такой подход позволяет принять управленческий учёт как стандарт: все решения опираются на данные, и они всегда под рукой.
Что даёт эта система
- Чёткий контроль за прибылью и затратами
- Возможность прогнозировать финансовое будущее
- Повышение прозрачности и ответственности в командах
- Мотивация руководителей — часть KPI и бонусов рассчитывается на базе этих данных
Вывод
Создание P&L-дашборда за 5 дней — реальный и достижимый результат, если использовать правильные инструменты и подход. Это не просто отчёт, а инструмент управления, который помогает бизнесу быстрее адаптироваться, находить слабые места и принимать решения на основе цифр, а не интуиции.