* очистка и починка данных
* бизнес-логика - процессы и алгоритмы и всяческие нюансы, описанные заказчиком
* расчет метрик
* организация данных удобным для анализа образом
* костыли для совсем частных случаев
(Пока не будем трогать всякое машинное обучение и прочий рокет-саенс)
Для решения этих задач используются различные операции:
* объединение данных из разных источников, для обогащения информации
* агрегация
* сегментация
* фильтрация
* вычисления
* "уплощение", т.е. преобразование полей с массивом к множеству строк
* сопоставление (мэппинг)
и другие.
В качестве инструментов используются обычно SQL и/или Python.
Обновление витрин - это операция дополнения их вновь появившимися данными, а также перерасчет имеющихся в случае их изменения.
Частота обновления зависит от требовний к аналитике. Мы вот обновляемся раз в сутки.
Обновление каждой витрины производится одним из способов:
* полный перерасчет и перезапись всей таблицы
* дополнение таблицы новыми строками - возможно, если старые строки точно не должны меняться
* перезапись последних N периодов (например, 30 дней) - когда данные в источнике могут меняться задним числом некоторое время. Например, расходы в рекламных системах могут корректироваться - возвращаются деньги за фрод-клики.
Когда создан запрос, реализующий витрину, необходимо проверить корректность данных. Как это сделать - отдельный большой вопрос, о нем в следующий раз.