Когда аналитику (или ИИ-ассистенту) дают доступ к данным, половина ошибок рождается не в расчётах, а в непонимании: что означает поле, как считается метрика, с какой даты действует правило. Контекстный справочник закрывает этот пробел- это компактная «карта» ваших таблиц, которую можно приложить к любому аналитическому промпту как контекст. С ней ответы становятся воспроизводимыми, а не «на глаз».
Справочник описывает по каждой таблице: зачем она, какие поля ключевые, что они значат, как считаются метрики и с какого момента действуют правила. Поля, по которым нет пояснений, он честно помечает как неопределённые - чтобы никто не строил на них выводы вслепую.
Промпт
Составь контекстный справочник аналитических данных. Данные: [список таблиц и
полей], [пояснения о связях и правилах расчёта], [даты действия версий правил].
По каждой таблице опиши назначение, ключевые поля, смысл, правила расчёта метрик
и версионность. Выдай компактный справочник, пригодный как контекст для
аналитических промптов. Поля без пояснений отметь как неопределённые.
Как выглядит результат
Ниже - фрагмент такого справочника на примере (данные условные, для иллюстрации).
sales — продажи
Назначение: строка = факт продажи (абонемент, разовое, доп. услуга). Ключевые поля: sale_id (PK), client_id (→ clients), date, amount, category, manager_id, is_refund. Смысл: amount — сумма с НДС; is_refund = true — сторно, сумма отрицательная. Метрики: Товарооборот = Σ amount где is_refund = false − Σ возвратов. Средний чек = товарооборот ÷ число продаж (без возвратов). Версионность: до 01.03.2026 возвраты хранились отдельной таблицей; с 01.03.2026 — флагом is_refund здесь же.
memberships — абонементы
Назначение: активные и завершённые членства клиентов. Ключевые поля: membership_id (PK), client_id, start_date, end_date, type, status. Смысл: status ∈ {active, frozen, expired}; заморозка продлевает end_date. Метрики: Активная база = число status = active на дату среза. Отток = доля expired без продления в 30 дней. Версионность: статус frozen введён с 01.06.2026; ранее заморозки не выделялись.
calls — звонки (телефония)
Назначение: физические звонки, входящие и исходящие. Ключевые поля: call_id (PK), client_id, datetime, direction, status, workplace. Смысл: status ∈ {accepted, missed, lost}; lost — пропущенный и не перезвонили в тот же день. Метрики: Доля пропущенных = (missed + lost) ÷ все входящие. Восстановленные = missed, по которым позже был accepted. Версионность: признак lost рассчитывается с 15.07.2026; до этой даты все пропущенные помечались missed.
clients — клиенты
Назначение: справочник клиентов (обезличенный). Ключевые поля: client_id (PK), created_at, source, segment. Смысл: source — канал первого контакта; segment — маркетинговый сегмент. Неопределённые поля: flag_vip, region_code — пояснений во входных данных нет, смысл и правила заполнения не подтверждены. Использовать в расчётах не рекомендуется до уточнения.
Такой справочник держат рядом с датасетом и подкладывают в начало аналитических промптов — тогда ассистент считает по вашим правилам, а не по догадкам.