fbpx
  • ABlaze: как проводят A/B тесты в Netflix

    ABlaze — это проприетарный фреймворк для проведения A/B тестов. Netflix рассказали, как в компании работает система аналитики. Перед внедрением ML-моделей в продукт компании оценивают с помощью A/B тестов, как модель работает в реальном времени.

    Структура системы аналитики

    Архитектура системы

    Фреймворк делится на три части:

    1. Выгрузка данных с помощью модуля Metrics Repo;
    2. Проверка статистических гипотез;
    3. Визуализация результатов с Plotly

    Фреймворк имеет модульный дизайн, чтобы его можно было дополнять с помощью Python, R и SQL без лишних временных издержек. Пользователи системы имеют право добавлять метрики и методы напрямую в систему. 

    Выгрузка данных и метрик

    Metrics Repo — это внутренний фреймворк для Python, который позволяет запускать SQL запросы и определять метрики. Этот модуль содержит все описания метрик, которые были добавлены в систему. Ключевое дизайн-решение Metrics Repo в том, что он отходит от ETL пайплайнов к динамически изменяемому SQL. Такая архитектура более гибкая.

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

    Статистика и каузальные модели

    Causal Models — это библиотека с статистическими тестами для Python, в которой реализованы основные каузальные модели. Каузальная модель — это модель, которая выявляет причинно-следственную связь между переменными. Этот модуль также позволяет добавление новых статистических моделей пользователями на R или Python. Чтобы увеличить эффективность работы кода, пользователи имеют возможность реализации моделей на pybind11 (для Python) и Rcpp (для R).

    Визуализация результатов с Plotly

    В старой версии фреймворка визуализации экспериментов создавались через UI на React. Новая архитектура позволяет добавлять визуализации с помощью библиотеки Plotly.