HTML-дашборд по рекламе за час с Claude Code: воронка, графики и CRM в одном файле
Руководство хочет видеть картинку, а не таблицу. «Покажи, как идут дела с рекламой» — это не про 14 листов Excel с 80 000 строк. Это про дашборд: графики, воронка, ключевые цифры. Открыл — и всё понятно.
PowerBI, Looker, DataStudio — всё это умеет красиво, но требует настройки, подключения источников, прав доступа. А мне нужно было показать результат завтра утром. Я написал Python-скрипт, который берёт Excel-отчёт и генерирует интерактивный HTML-дашборд. Один файл, 300 КБ, открывается в любом браузере.
Что было на входе
Excel-отчёт по эффективности рекламы. 14 листов, 80 000+ строк. Данные из нескольких источников: рекламные кампании, лиды из CRM, сделки, статистика по устройствам и демографии.
Задача: превратить эти данные в визуальный отчёт, который можно отправить ссылкой или открыть на встрече. Без установки софта, без логинов, без подключения к базе.
Почему не PowerBI / Looker / DataStudio
BI-инструменты
- Нужно подключить источник данных
- Настроить модель и связи
- Нарисовать дашборд
- Раздать доступы
- Поддерживать при обновлении
2-4 часа на первый дашборд
HTML-дашборд
- Скрипт читает Excel
- Генерирует HTML с Chart.js
- Один файл, офлайн
- Обновление = повторный запуск
~1 час (включая написание скрипта)
BI-инструменты — правильное решение, если дашборд нужен на постоянной основе с автообновлением. Но если нужно один раз показать результат по проекту, HTML-файл выигрывает по скорости и простоте.
Что внутри дашборда
Воронка продаж
Таблица кампаний (сортировка, фильтр)
Восемь визуализаций в одном файле:
Расход по дням
Линейный график с трендом. Видно провалы в выходные и аномальные дни.
Воронка CRM
Визуальная воронка: лиды — квалификация — переговоры — сделки. С процентами отвала на каждом этапе.
Таблица кампаний
Сортировка по любому столбцу, фильтр по названию. Расход, клики, CTR, лиды, CPA.
Карточки сделок
Каждая сделка: источник, сумма, статус, менеджер. Кликабельные, с деталями.
Демография
Пол, возраст, устройства. Круговые диаграммы с подписями.
Топ ключевых слов
Горизонтальный bar chart: расход и конверсии по ключевикам. Worst first.
Площадки РСЯ
Где показывается реклама. Расход и CTR по площадкам.
KPI-карточки
Ключевые метрики сверху: лиды, сделки, конверсия, средний CPA.
Как устроен скрипт
Python-скрипт на ~400 строк. Читает Excel через openpyxl, формирует данные в JSON, вставляет в HTML-шаблон с Chart.js. На выходе — один .html файл со всеми стилями, скриптами и данными внутри.
Читаю отчёт: report.xlsx (14 листов)
✓ Кампании: 32 шт.
✓ Лиды CRM: 305 шт.
✓ Сделки: 15 шт.
✓ Ключевые слова: 1 247 шт.
✓ Площадки: 89 шт.
✓ dashboard.html (298 КБ)
Ключевое решение — всё в одном файле. Chart.js подключается через CDN (одна строка), данные встроены как JSON-переменные, стили в <style>. Файл можно отправить по почте, открыть на телефоне, показать на проекторе. Никаких зависимостей.
Тёмная тема
Дашборд сделан в тёмной теме — не для красоты, а для читаемости. Графики на тёмном фоне воспринимаются чётче, таблицы с чередованием строк легче сканировать. Плюс на встречах с проектором тёмный фон не слепит.
Честно про рекламу и маркетинг
Разбираю реальные кейсы, делюсь цифрами и инструментами в Telegram-канале. Без воды и мотивационных цитат.
Подписаться на каналГлавное преимущество: обновление
PowerPoint-отчёт устаревает в момент отправки. Пришли новые данные — пересобирай с нуля. С HTML-дашбордом иначе:
- Обновил Excel-отчёт (новые данные за неделю/месяц)
- Запустил
python dashboard.py - Получил новый
dashboard.html
Тридцать секунд. Никакой ручной пересборки графиков, никакого копирования цифр из таблицы в презентацию.
Когда HTML-дашборд лучше BI
- Разовый отчёт по проекту — не нужно поднимать инфраструктуру ради одного дашборда
- Отчёт для внешнего заказчика — не нужно давать доступ к BI-системе, файл автономный
- Быстрый прототип — собрать дашборд за час, показать, получить обратную связь, потом решить, нужен ли полноценный BI
- Презентация на встрече — один файл, офлайн, без логина и пароля
Выводы
Итого
- Один Python-скрипт превращает Excel с 80 000 строк в интерактивный дашборд
- Один HTML-файл — 300 КБ, 8 визуализаций, сортировка, фильтры, Chart.js
- Обновление — 30 секунд: новые данные в Excel, повторный запуск скрипта
- Не замена BI — но для разовых отчётов, внешних заказчиков и быстрых прототипов работает лучше
Я собрал шаблоны, которые использую в работе с клиентами: медиаплан, учёт рабочего времени, аналитические отчёты. Скачайте бесплатно на странице шаблонов.
Нужна помощь с визуализацией рекламных данных?
Написать мне