Statist — платформа продуктовой аналитики
Statist — единая платформа Тинькофф для сбора продуктовой аналитики и телеметрии с мобильных и
Statist позволяет собирать, обрабатывать и визуализировать данные о поведении клиентов, а также анализировать технические данные о работе клиентских приложений.
Данные из Statist дают возможность следить за изменениями в продукте и производительностью клиентских приложений, искать инсайты для улучшения UX в приложениях, своевременно реагировать на проблемы и искать пострадавших во время сбоев.
В отличие от других аналитических продуктов, в Statist применяются практики data governance. Введение общих стандартов, таких как разметка событий метаданными и разделение событий по клиентскому приложению и его версии, повышает качество данных на уровне всей компании.
Все решения о развитии продуктов Тинькофф принимаются на основе данных, полученных и проанализированных при помощи Statist.
Как и почему появился Statist
В 2022 году было принято решение о разработке собственного инструмента анализа данных, к этому привела совокупность следующих факторов:
Бизнес-ценность
Statist помогает бизнесу получить качественные знания о поведении клиентов с минимальным привлечением
Statist предоставляет инструменты для решения большого спектра
Архитектура
Архитектуру системы можно представить в виде четырех основных компонентов.
Events (Schema Registry & Data Catalog). Инструмент декларирования и описания аналитики. Позволяет объявлять типы событий и атрибуты, которые будут отправляться в аналитику из клиентских приложений, следить за актуальностью аналитики, ответственными, качеством интеграций.
SDK (IOS, Android, Web). SDK позволяет реализовать сбор и отправку аналитических событий с клиентских приложений. Одна из особенностей SDK Statist — статическая типизированность. Для каждого типа события у нас есть необходимая сигнатура функции с типизированными атрибутами, а все SDK версионируются по Semver при изменении структуры событий. Это возможно благодаря инструменту декларирования и описания аналитики Events.
Collector & Event Processing & Analytics Storage. Часть системы, которая обеспечивает надежную доставку событий и метрик в хранилище данных с момента получения их из клиентских приложений. В процессе доставки обрабатываются события и телеметрия: их валидация, обогащение информацией о геопозиции и устройстве и запись в хранилище для последующего анализа.
Visualization Tools — собственный UI-инструмент для анализа данных, где можно без специальных знаний SQL и подключения BI-инструментов создать отчет ad-hoc. Дополнительно можно использовать другие инструменты, которые есть в компании, для более детального анализа и изучения данных клиентской аналитики. Например, Helicopter (аналог Zeppelin), ETL и BI-инструменты.
Основной сценарий выглядит так: на уровне сервиса администрирования событий определяются любые продуктовые события. Далее с помощью SDK настраивается сбор и отправка объявленных событий в клиентских приложениях. Все данные из приложения поступают в коллектор событий. На следующем этапе они обрабатываются: валидация, обогащение и роутинг данных. В итоге данные поступают в аналитическое хранилище. Доступ к данным есть напрямую через запросы к базе данных и через собственный UI-инструмент с удобной визуализацией.
Команда и стек
Продуктовая команда Statist распределена по России и СНГ, состоит из продакта, дизайнера и команды разработки (frontend, backend,
Golang | Основной язык программирования. На нем разрабатываются все |
Typescript | Основной язык программирования для |
Swift/Kotlin | Разработка SDK под |
Clickhouse | Основное хранилище аналитики |
Kafka | Очередь, обслуживающая Data Pipeline |
Почему Statist — это интересно
У нас есть масштабные технические задачи, которые требуют разработки надежных и производительных систем, позволяющие обрабатывать десятки, а в будущем, вероятно, и сотни миллиардов событий в месяц.
Мы используем инструменты для Data Discovery и Data Governance. В части Data Discovery продвигаем стандарты и хорошие практики для аналитики. Чтобы повысить однородность и качество данных, мы разрабатываем инструменты для визуализации и проведения более гибкого анализа. В части Data Governance у нас есть сервис Events для определения метаданных и разметки аналитики.
Через наш продукт можно напрямую влиять на качество принимаемых решений на уровне всей компании.
Statist в цифрах
Особенности продукта и задач