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.

Подписаться
Уведомить о
guest

0 Comments
Межтекстовые Отзывы
Посмотреть все комментарии

gogpt