Таблица фактов

Материал из Энциклопедия интернет-маркетинга MarketWiki

Таблица фактов (fact table) - это центральная таблица в схеме данных хранилища данных или витрины данных, которая содержит количественные показатели, подлежащие анализу. Каждая запись в таблице фактов соответствует событию или транзакции, произошедшей в бизнесе: продаже, клику по рекламе, звонку, регистрации, добавлению товара в корзину.

В контексте интернет-маркетинга таблица фактов становится основой для анализа эффективности рекламных кампаний, поведения пользователей и финансовых результатов. Вместе с таблицами измерений (справочниками) она образует хорошо известную схему «звезда», которая позволяет быстро и гибко строить отчёты и дашборды в BI-системах.

Зачем нужна таблица фактов

[править]

Таблица фактов выполняет несколько ключевых функций в аналитической архитектуре.

Хранение событий

[править]

В таблице фактов фиксируются все значимые события бизнеса. Это может быть каждая продажа, каждый клик по рекламному объявлению, каждый звонок клиента. Детальная запись событий позволяет потом анализировать их в любых разрезах.

Основа для расчёта метрик

[править]

Все количественные показатели, которые используются в отчётах - выручка, количество лидов, стоимость клика, конверсия - рассчитываются на основе данных из таблицы фактов. Без неё невозможна никакая серьёзная аналитика.

Связь с измерениями

[править]

Таблица фактов содержит ссылки (ключи) на таблицы измерений, которые описывают, кто, где, когда и при каких обстоятельствах произошло событие. Это позволяет группировать и фильтровать данные по любым признакам.

Структура таблицы фактов

[править]

Таблица фактов имеет типовую структуру, которая отличает её от других таблиц в базе данных.

Количественные показатели (меры)

[править]

Это числовые поля, которые содержат измеряемые значения. Они могут быть:

  • Аддитивными: можно складывать по всем измерениям. Например, выручка, количество кликов, расходы на рекламу.
  • Полуаддитивными: можно складывать по одним измерениям, но нельзя по другим. Например, остатки на складе можно складывать по товарам, но нельзя по времени (остаток на конец дня не равен сумме остатков).
  • Неаддитивными: нельзя складывать вообще. Например, проценты, рейтинги, средние значения.

Примеры мер в маркетинговой таблице фактов:

  • Сумма расхода (в рублях).
  • Количество кликов.
  • Количество показов.
  • Количество лидов.
  • Количество продаж.
  • Сумма выручки.

Внешние ключи на измерения

[править]

Это ссылки на таблицы измерений. Каждый ключ соответствует одному из аспектов описания события. Например:

  • Дата ID (ссылка на таблицу дат).
  • Канал ID (ссылка на таблицу каналов трафика).
  • Кампания ID (ссылка на таблицу рекламных кампаний).
  • Продукт ID (ссылка на таблицу товаров).
  • Регион ID (ссылка на таблицу регионов).

Совокупность этих ключей образует составной первичный ключ таблицы фактов.

Дополнительные атрибуты

[править]

Иногда в таблицу фактов включают поля, которые не являются ни мерами, ни ключами, но нужны для фильтрации или группировки. Однако в правильно спроектированной схеме такие поля стараются выносить в измерения.

Типы таблиц фактов

[править]

В зависимости от характера данных выделяют разные типы таблиц фактов.

Транзакционные таблицы фактов

[править]

Самый распространённый тип. Каждая запись соответствует одной транзакции или событию. Например, каждая продажа, каждый клик, каждый звонок. Такие таблицы содержат максимально детальную информацию и обычно очень большие по объёму.

Таблицы фактов снимков состояния

[править]

Фиксируют состояние объекта на определённый момент времени. Например, остатки товаров на складе на конец каждого дня или количество активных подписчиков на начало месяца.

Таблицы фактов накопленных снимков

[править]

Отслеживают процесс выполнения бизнес-процесса от начала до конца. Например, заказ может проходить через этапы: создан, оплачен, передан в доставку, доставлен, получен. Такая таблица будет содержать одну запись на заказ с датами каждого этапа.

Таблица фактов в схеме «звезда»

[править]

Таблица фактов является центром схемы «звезда», вокруг которой располагаются таблицы измерений.

Схема «звезда»

[править]

В центре - таблица фактов с мерами и ключами измерений. От неё лучами расходятся таблицы измерений, каждая из которых содержит подробную информацию об аспекте события.

Преимущества схемы «звезда»:

  • Простота понимания для бизнес-пользователей.
  • Высокая скорость выполнения запросов, так как используется меньшее количество соединений таблиц.
  • Оптимальна для большинства BI-инструментов.

Пример для интернет-маркетинга

[править]

Представим таблицу фактов «Клики по рекламе» со структурой:

  • Дата ID (ключ на таблицу «Дата»)
  • Канал ID (ключ на таблицу «Каналы»)
  • Кампания ID (ключ на таблицу «Кампании»)
  • Пользователь ID (ключ на таблицу «Пользователи»)
  • Страница ID (ключ на таблицу «Страницы»)
  • Стоимость клика (мера)

Таблицы измерений:

  • Дата: год, квартал, месяц, день, день недели, праздник.
  • Каналы: название канала, тип канала, рекламная система.
  • Кампании: название кампании, бюджет, менеджер, дата запуска.
  • Пользователи: ID, регион, устройство, браузер, новый или вернувшийся.
  • Страницы: URL, тип страницы, категория товара.

С помощью такой модели можно ответить на множество вопросов:

  • Сколько кликов было вчера?
  • Какой канал даёт самые дешёвые клики?
  • Какие кампании работают лучше всего по выходным?
  • С каких устройств приходит самый дорогой трафик?

Требования к таблицам фактов

[править]

При проектировании таблиц фактов нужно соблюдать несколько важных правил.

Гранулярность

[править]

Гранулярность (уровень детализации) должна быть чётко определена и соответствовать бизнес-требованиям. Одна запись в таблице фактов должна соответствовать одному событию на самом низком уровне детализации. Лучше хранить детальные данные и при необходимости агрегировать их, чем потерять возможность детализации.

Неизменяемость

[править]

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

Минимум текстовых полей

[править]

Таблица фактов должна содержать в основном числовые меры и внешние ключи. Все текстовые описания должны храниться в таблицах измерений. Это экономит место и ускоряет запросы.

Индексация

[править]

Внешние ключи должны быть проиндексированы для быстрого соединения с таблицами измерений.

Иллюстрация маркетинговой таблицы фактов

[править]

Конкретный пример для интернет-магазина.

Таблица фактов «Продажи»:

Продажа ID Дата ID Клиент ID Товар ID Канал ID Количество Цена Сумма
1001 20260301 501 101 1 2 500 1000
1002 20260301 502 102 2 1 1200 1200
1003 20260302 501 103 1 1 300 300

Таблица измерений «Клиенты»:

Клиент ID Имя Город Возраст Пол Дата первой покупки
501 Юрий Москва 34 М 2025-11-15
502 Айгуль Казань 28 Ж 2026-02-20

Таблица измерений «Товары»:

Товар ID Название Категория Бренд Себестоимость
101 Смартфон X Электроника Samsung 350
102 Наушники Y Аксессуары Sony 800
103 Чехол Z Аксессуары Apple 150

Таблица измерений «Каналы»:

Канал ID Название канала Тип канала
1 Яндекс.Директ Контекстная
2 VK Реклама Таргет

Такая структура позволяет анализировать продажи в любых разрезах: по времени, по клиентам, по товарам, по каналам, а также комбинировать эти разрезы.

Связанные термины

[править]