Ситуация AS IS
Аналитический слой отсутствует, данные находятся в разрозненном состоянии: разбиты по разным серверам (Teradata, Oracle), разным схемам. При обогащении данных требуется многократное соединение таблиц между собой. Существует множество команд, осуществляющих аналитику по данным из различных источников.
Цели
Формализовать существующие алгоритмы в скриптах расчета откликов в единую методологию, удобную для пользователей, даже не посвященных в тонкости функционирования инструмента. Создать аналитический слой путем сведения всех данных в самодостаточные витрины, хранящиеся в единой схеме и требующие минимум соединений с остальными источниками. На основе витрин аналитического слоя построить управленческую отчетность (в BI инструментах).
Решение
- Проведено бизнес-обследование системы и опрос пользователей;
- Согласована единая методология расчета откликов, которая поддерживалась в актуальном состоянии;
- Разработана Архитектура Аналитического слоя, проведен сайзинг итоговых данных;
- Провели работы по загрузке исторических данных в слои стейджинга и детальных данных (STG/DS) из Teradata в Oracle Exadata (начиная с 2021 года). Для этого был модифицирован framework, автоматизирующий формирование интерфейсных объектов в Teradata (возможность ручной постановки выгрузки исторических периодов в регламентный режим) и универсальный механизм репликации данных в Oracle (Забор данных из _arc таблиц Teradata в основные таблицы Oracle);
- Выполнили описание реплицированных объектов слоев STG/DS в Confluence (порядка 200 страниц были приведены к единообразию формулировок и оформления);
- Создали механизм учета удаленных данных из источника, который на основе таблиц логирования и маппинга помечает на стороне Oracle удаленными записи, физически удаленные из таблиц Teradata;
- Сформировали набор статических справочников, набор справочников каналов/откликов, обновляющихся из внешних excel файлов ответственных пользователей при помощи разработанных пакетов Oracle Data Integrator, набор маппингов к идентификаторам источника, витрины аналитического слоя и pl/sql пакеты их наполняющие;
- Провели сверку с отчетностью каналов и различных подразделений Заказчика, занимающихся аналитикой;
- Создали систему контроля качества реплицируемых из Teradata в Oracle источников для аналитического слоя. С ETL частью в Терадате и Oracle, и дашбордами в SAS Viya;
- Сделали дашборд в SAS Viya для оперативного мониторинга потока формирования данных в аналитическом слое. Настроили рассылку об актуальности всех витрин;
- Разработали механизм создания резервных копий целевых таблиц с целью проведения сверок при внедрении новых релизов;
- Внесли исправление в пакеты, формирующие данные детального слоя, в 7 раз ускоряющее процесс подмены партиций;
- Провели работы по переводу пакетов ODI с ежедневного забора данных на периодический инкрементный. С целью уменьшения поставки данных с двух дней до одного;
- Спроектировали и внедрили витрину клиентского профиля;
- Разработали витрины с подозрительными откликами в системах Teradata CIM и RTIM, по которым можно заранее отслеживать странное поведение;
- Актуализировали требования по аллокации откликов на мероприятия;
- Провели полный аудит интеграции каналов. В результате аудита было выявлено, что по каналу роботы не фиксируются до 30% откликов, — проблема была локализована на стороне микросервисов канала. Так же, в результате аудита полностью переделали маппинг откликов по данному каналу, чтобы фиксируемые отклики соответствовали требованиям отчетности CVM. Разработана и согласована методология учета «недозвонов».
- Проанализировали причины «долетов» откликов спустя несколько дней;
- Провели ревизию и актуализировали маппинг откликов по всем каналам;
- Выполнили рефакторинг и задокументировали логику определения каналов запуска. В результате был создан справочник каналов, через которые направляется коммуникация;
- Сопоставили все разделы приложения Личный кабинет;
- Сформировали маппинг откликов нулевого типа;
- Проанализировали ошибки при запуске кампаний через Universal Channel;
- И многое другое…
Результат
- Cоздан аналитический слой, включающий 24 витрины данных разной гранулярности. Разработаны ручные витрины, позволяющие в отчетности исправлять ошибки запусков кампаний на уровне отчетных таблиц;
- Разработано 7 справочников и 3 маппинга;
- Создан механизм, который помечает на стороне Корпоративного Хранилища Данных (КХД) физически удаленные из таблиц записи, тем самым обеспечивая качество конечных данных и прозрачность отчетности без повторных выгрузок;
- Разработана эксплуатационная документация по внедренным объектам;
- Создан прототип дашборда по контролю качества;
- Осуществлен переход доступности отчетности с формы Т-4 на форму Т-2