AI-дашборд для клиента: автоотчёты с инсайтами

Каждую пятницу приходит сообщение от клиента: «Ну как там сайт?». Вы открываете GA4, Яндекс.Метрику, Search Console, смотрите цифры, формулируете текст — и час жизни ушёл. Умножьте на 10 клиентов и 52 недели. Это 520 часов в год на ручную работу, которую можно полностью автоматизировать.

В этой статье — конкретная схема: собираем метрики из нескольких источников, прогоняем через промпт к Claude или GPT-4o, получаем человекочитаемый инсайт и отправляем клиенту в Telegram или на почту.

Что болит у клиента (и у вас)

Клиент не понимает цифры. Ему неинтересно, что «bounce rate составил 64,3%». Ему важно: стало лучше или хуже, почему, что делать. Именно это и генерирует AI.

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

Источники данных

Минимальный набор для большинства бизнес-сайтов:

Источник Что берём API/инструмент
Google Analytics 4 Сессии, конверсии, источники трафика GA4 Data API
Яндекс.Метрика Визиты, отказы, цели Metrika API v1
Google Search Console Клики, показы, средняя позиция Search Console API
PageSpeed Insights LCP, CLS, INP, общий балл PSI API (бесплатно)
UptimeRobot / BetterStack Время доступности, инциденты REST API

Для e‑commerce добавляем:

  • Данные из CRM (новые заказы, выручка за неделю)
  • Данные рекламных кабинетов (Яндекс.Директ, VK Реклама) — CPL, ROAS

Архитектура пайплайна

Cron (каждое воскресенье 08:00)
  → Сборщик метрик (Python / n8n)
    → Агрегация в JSON
      → AI-промпт (Claude API / OpenAI)
        → Форматирование отчёта
          → Отправка (Telegram Bot / Email)

Два варианта реализации: n8n (no-code, быстрее стартовать) и Python-скрипт (гибче, дешевле при масштабе).

Вариант 1: n8n

Если вы уже используете n8n — это самый быстрый путь. Создаёте workflow:

  1. Schedule Trigger — каждое воскресенье в 8 утра
  2. HTTP Request — запрос к GA4 Data API (POST https://analyticsdata.googleapis.com/v1beta/properties/{id}:runReport)
  3. HTTP Request — Яндекс.Метрика (https://api-metrika.yandex.net/stat/v1/data)
  4. HTTP Request — PageSpeed (https://www.googleapis.com/pagespeedonline/v5/runPagespeed?url=...)
  5. Code node — агрегация всех данных в один JSON объект
  6. HTTP Request → Claude API или OpenAI
  7. Telegram node — отправка клиенту

Из минусов: n8n на бесплатном тарифе ограничен по исполнениям. На self-hosted (Docker) — без ограничений, ~500 руб/мес на VPS.

Вариант 2: Python-скрипт

Больше контроля, проще отлаживать, проще запускать через cron на сервере.

import httpx
import json
from datetime import datetime, timedelta
from anthropic import Anthropic

client = Anthropic()

def collect_pagespeed(url: str) -> dict:
    api_url = f"https://www.googleapis.com/pagespeedonline/v5/runPagespeed"
    r = httpx.get(api_url, params={"url": url, "strategy": "mobile"})
    data = r.json()
    cats = data["lighthouseResult"]["categories"]
    return {
        "performance": round(cats["performance"]["score"] * 100),
        "lcp": data["lighthouseResult"]["audits"]["largest-contentful-paint"]["displayValue"],
        "cls": data["lighthouseResult"]["audits"]["cumulative-layout-shift"]["displayValue"],
    }

def generate_insight(metrics: dict) -> str:
    prompt = f"""
Ты — аналитик веб-студии. Клиент получит этот отчёт напрямую.
Пиши на русском, деловым языком, без технического жаргона.
Объём: 150-200 слов.

Данные за неделю:
{json.dumps(metrics, ensure_ascii=False, indent=2)}

Напиши:
1. Главный вывод (одно предложение)
2. Что выросло / упало и почему (предположение)
3. Одна конкретная рекомендация на следующую неделю
"""
    message = client.messages.create(
        model="claude-opus-4-5",
        max_tokens=400,
        messages=[{"role": "user", "content": prompt}]
    )
    return message.content[0].text

Полный скрипт с отправкой в Telegram — ещё ~80 строк. Запускается через crontab -e:

0 8 * * 0 /usr/bin/python3 /opt/reports/weekly_report.py >> /var/log/reports.log 2>&1

Промпт для AI: принципы

Сырые данные в промпт не помогут. Важно дать контекст:

Клиент: интернет-магазин женской одежды, Москва
Основная цель сайта: продажи (цель «purchase» в GA4)
Сезонность: март — начало весеннего сезона, рост спроса ожидаем

Данные прошлой недели vs позапрошлой:
- Сессии: 1240 → 1380 (+11%)
- Конверсия: 2.1% → 1.8% (-14%)
- Средняя позиция (GSC): 18.4 → 16.1 (улучшение)
- PageSpeed mobile: 62 → 58 (ухудшение)

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

Что отправлять разным типам бизнеса

Лендинг / услуги:

  • Заявки/звонки (конверсии) — главное
  • Источники трафика
  • Позиции по ключевым запросам

Интернет-магазин:

  • Транзакции, выручка, средний чек
  • Брошенные корзины
  • ROAS рекламных кампаний

Корпоративный сайт:

  • Время на сайте, глубина просмотра
  • Страницы с высоким отказом
  • Прирост органического трафика

Реальные цифры

Время на постройку пайплайна: 4 – 6 часов (Python) или 2 – 3 часа (n8n).

Ежемесячные расходы:

  • Claude API (claude-opus‑4 – 5, 10 клиентов x 4 отчёта): ~$3 – 5
  • VPS для cron/n8n: 300 – 500 руб
  • PageSpeed, GSC, Metrika API: бесплатно

Итого: ~700 руб/мес за полную автоматизацию vs 40+ часов ручного труда.

Пример: сырые данные vs AI-инсайт

Сырые данные:

sessions: 1240, bounce_rate: 67.3, goal_completions: 22,
pagespeed_mobile: 58, avg_position: 18.4

AI-инсайт:

На этой неделе сайт посетили 1240 человек, из которых 22 оставили заявку — это хороший результат для марта. Однако 67% посетителей уходят после первой страницы, что выше нормы. Скорость загрузки на мобильных снизилась до 58 баллов — это может быть причиной. Рекомендую проверить, не появились ли новые тяжёлые изображения на главной, и оптимизировать их до следующей недели.

Разница очевидна. Клиент понимает второй вариант без объяснений.

Есть идея? Реализуем

Разрабатываем проекты, которые решают задачи бизнеса — от лендинга до сложного сервиса. Расскажите о своей задаче, подберём решение.

Написать в Telegram

20.03.2026

Нужна консультация?

Оставьте свои контактные данные, или свяжитесь с нами удобным для вас способом

Привет! Меня зовут Багира. Пишите, я все передам хозяевам!

Привет! Меня зовут Багира. Пишите, я все передам хозяевам!

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