В 2018 году в Авито появилось in-house-решение для автоматизации A/B-экспериментов. За несколько лет платформа выросла в зрелый продукт, с помощью которого производятся почти все релизы нового функционала Авито — это 4000+ экспериментов в год.
Одна из «фишек» нашей платформы — мы даем возможность пользователям собирать очень много информации по эксперименту: тысячи продуктовых и технических метрик, сотни разрезов (категория товара, регион и т. д.).
* Каждый день в Авито активны сотни экспериментов.
* Объем сырых данных (кликстрим и т.д.) исчисляется миллиардами строк.
* В одном эксперименте — до 30 тыс. метрико-разрезов.
* На выходе имеем около полумиллиарда рассчитанных стат. тестов (дисперсии, p-value и т.д.).
При этом весь compute мы успеваем провести за несколько часов на относительно небольшом (в масштабах Авито) кластере Trino. Расскажу об основных способах оптимизации, которые позволяют эффективно утилизировать вычислительные ресурсы.