# Аналитика и отчёты

Три вкладки, и они отвечают на разные вопросы.

| Вкладка | Вопрос |
|---|---|
| **Посещения** | откуда идут люди и куда они смотрят |
| **Отчёты** | как идёт учёба |
| **Сквозная аналитика** | что приносит деньги |

## Посещения школы

«Аналитика» → вкладка **«Посещения»**. Вопрос вкладки — откуда идут люди и куда они смотрят.
Ответ — четыре числа и пять списков одного вида: название, число, доля полоской.

**Кто считается.** Люди, а не страницы: вошедший — по профилю, гость — по метке браузера
(кука на год). Гость вошёл или завёл профиль — его прежние заходы с этого браузера становятся
его. **Сотрудники не считаются**: владелец, проверяющий свой лендинг, — не заход школы. Вход
под пользователем и роботы поисковиков — тоже.

**Что записывается.** Кабинет, страницы курсов, уроки, страницы из конструктора, оплата, вебинары,
регистрация, проверка сертификата. Админка, виджет на чужом сайте и страница входа — нет.
Название берётся из школы в момент захода: переименованный урок прошлое не переписывает.

| Число | Что значит |
|---|---|
| **Заходили** | сколько людей открывало страницы школы за период; рядом — разница с прошлым таким же периодом |
| **Впервые** | чей первый заход пришёлся на период; рядом — сколько из них с рекламы |
| **Открыто уроков** | сколько разных уроков открыли люди, и в среднем на ученика |
| **С телефона** | доля людей, чей последний заход в периоде — с телефона |

- **Страницы** и **уроки** — самые открываемые. Урок, который открыли меньше половины тех,
  кто открыл предыдущий по программе, отмечен цветом, а под списком сказано, где обрыв:
  «Обрыв между модулем 1 и модулем 2 — 301 против 96». Меньше десяти открывших — не статистика,
  обрыв не отмечается.
- **Источники** — откуда люди пришли **впервые**: реклама («Реклама · «осень»» — метка с платным
  средством `cpc`, `cpm` и подобными или рекламной площадкой), метка («Метка · «пост»»), метка
  письма («Метка · рассылка «эфир-17»»), партнёр, ссылка из мессенджера, поиск, чужой сайт или
  «Прямой заход». Люди, заведённые до начала учёта посещений, — по меткам из карточки, а без них —
  «Источник не определён», последней строкой.
- **Города** — по своей базе городов на сервере школы (DB-IP Lite, лицензия CC BY 4.0): адрес захода
  ищется в файле на своём диске, наружу не уходит и не хранится. Частые города — по-русски, редкий
  зарубежный — как в базе и со страной («Mountain View, США»). База скачивается сама в течение часа после
  установки и обновляется раз в месяц; прошлые заходы города не получают — адресов не осталось.
- **Устройства** — Android, iPhone, Windows, Mac, прочее; доли складываются в сто процентов.

**Период** — день, неделя, месяц (последние 30 дней) или свой: две даты в календаре. Сравнение —
с таким же отрезком прямо перед ним. Учёт начался недавно — сверху «Считаем с …» и «сравнивать не
с чем», а не ноль.

**Метки ложатся в карточку сами.** Первый заход по ссылке с метками `utm_*` становится первым
касанием человека, если профиль заведён после этого захода, — отсюда строки «Денег по источникам».
Переход по партнёрской ссылке так же привязывается к человеку, который завёл профиль после него.

**Сколько хранится** — год; старшие заходы убираются ночью сами.

### Посещения человека

Во вкладке **«Посещения»** карточки — лента по дням: время, что открыл, откуда и с чего. Сверху
отдельной строкой — **первый заход**: когда, откуда, на какую страницу. Он отвечает на вопрос
«откуда этот человек взялся», и следующие визиты его не меняют. По умолчанию показаны два
последних дня с заходами, остальной месяц — «Показать весь месяц». У человека, заведённого до
начала учёта, первая строка так и говорит: «посещения тогда ещё не записывались».

Агент отвечает теми же функциями: `visits_summary` — сводка за период, `person_visits` — лента
человека.

## Деньги по источникам

Экран «Аналитика» показывает, сколько людей пришло с каждого источника,
сколько из них купило и на сколько.

Источник берётся из меток в ссылке. Разметьте рекламу — и строки появятся
сами:

```
https://school.example.ru/course?utm_source=vk&utm_campaign=osen
```

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

### «Источник неизвестен» — первая строка, а не сноска

Это главное решение раздела, и оно объясняет, почему числа здесь
не сходятся к красивым ста процентам.

> **Любая сквозная аналитика знает часть правды.** Люди приходят с телефона
> и покупают с компьютера, чистят историю, приходят по совету. Система,
> которая раскладывает 100 % выручки по источникам, **врёт красиво** —
> и владелец, поверив, отключает работающий канал.

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

### Модель атрибуции одна, и она названа

Источник — тот, откуда человек пришёл **впервые**. Первое касание живёт
в карточке человека и не переписывается.

Выбора моделей («последнее касание», «линейная») мы не даём намеренно:
он превращает отчёт в спор о методике, а числа — в непроверяемые. Правило
написано прямо на экране, там, где на числа смотрят.

Отсюда следствие: метка **заказа** в отчёт не идёт. Человек пришёл
из рекламы месяц назад, а заказ оформил, перейдя из письма, — по метке
заказа реклама осталась бы без единой продажи.

**Выручка считается по дате оплаты**, а не по дате заказа: заказ, созданный
в августе и оплаченный в сентябре, — сентябрьские деньги, и бухгалтерия
считает так же.

### Чего в этом отчёте нет и не будет молча

**Заходов.** Этот отчёт — про деньги; сколько людей заходило и откуда — на вкладке
«Посещения». Колонка заходов с нулём здесь значила бы «по этому источнику никто
не заходил», а это другое — и на экране так и написано.

## Расходы на рекламу

Выручку по источникам продукт считает сам. Сколько за неё заплачено —
знает только школа, и пока это не вписано, окупаемость считать не из чего.

Вписываются в «Аналитика → Вписать расход»: источник, кампания (можно
не заполнять), сумма и период.

> **Источник пишется ровно как в ссылке.** `utm_source=vk` — значит `vk`,
> а не «ВКонтакте». Иначе расход не найдёт свои заказы, и окупаемость
> останется пустой без всякого объяснения.

**Период двумя датами, а не одной.** Расход на рекламу — это всегда
отрезок: неделя, месяц, «пока крутили».

**Сумма в рублях.** Копейки в рекламном бюджете не набирает никто.

Забора расходов из рекламных кабинетов у нас нет. Это сказано и здесь,
и на самом экране: пустая колонка без объяснения выглядит ленью школы,
а не пробелом продукта.

### Окупаемость пуста, пока расход не введён

И это не ноль. Ноль означал бы «потратили и не отбили»; «расход не введён»
означает «считать не из чего», и это разные новости.

**Общей окупаемости нет вовсе, пока расход есть не у всех источников.**
Одно красивое число, собранное из половины данных, — самая опасная ячейка
в таблице: по ней принимают решения, не зная, что половины в ней нет.

### Кто может вписывать

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

Каждая правка расхода ложится в журнал действий: у вопроса «кто вписал сюда
полмиллиона» есть ответ.

## Когорты

Вторая вкладка того же экрана. Когорта здесь не про удержание, а про
**задержку между приходом и оплатой**.

Это единственный отчёт, отвечающий на вопрос «реклама не работает или ещё
не дозрела»: если считать выручку в день расхода, канал с отложенными
покупками выглядит убыточным и его выключают.

**«Рано» — это не ноль.** У когорты недельной давности в колонке «к 30-му
дню» стоит «рано», а не «0 %»: срок ещё не наступил, и ноль здесь означал бы
провал там, где ничего не случилось.

## Отчёты по учёбе

Отдельный раздел, и устроен он не как конструктор дашбордов, а как список
вопросов. Ответ стоит прямо в карточке: «где отваливаются ученики?» —
«урок 7».

Плитка с одним названием требует открыть её, чтобы узнать, есть ли внутри
что-то интересное, и восемь раз из десяти ничего нет.

**Обрыв в прохождении называется, а не оставляется на глаз.** Порог —
не «упало сильнее всех», а «упало сильно относительно обычного шага»:
курс, где после каждого урока уходит десятая часть, не должен подсвечивать
случайный урок как проблему.

Конструктора своих отчётов нет, и на экране сказано почему.

## Выгрузка в таблицу

Люди, заказы, платежи и доходимость выгружаются в CSV — кнопкой на
соответствующем экране.

Файл открывается в Excel и «Google Таблицах» без плясок с кодировкой:
разделитель — точка с запятой, кодировка с меткой BOM.

> **Значения, начинающиеся со знака равенства, обезврежены.** Имя вида
> `=1+1` — это формула для Excel, и в чужой таблице она выполнится.
> Выгрузка ставит перед такими значениями апостроф.

## Что из этого видно ученику

Ничего. Все отчёты — внутренние.
