TGViewer
Лидерство и ИИ [Артем Бондарь] Лидерство и ИИ [Артем Бондарь] @artemonml · 835 subscribers
Post #58 5.61K
Пару слов про аплифт моделирование

То ли я криво ищу, то ли на тему индустриального аплифт моделирования преступно мало информации. Обычно пишут что: ну вот раздайте рандомно тритмент, часть данных в обучение, часть в холдаут, учите из стандартной либы 3 стандартных лёрнера и выберите тот, что выбивает наибольшую площадь под аплифт кривой. Если поковыряться поглубже, то можно найти про CATE, что он может быть не в конверсиях а в любой скалярной величине, и как выглядит лосс, чтобы напрямую оптимизировать CATE. На этом все.

А практика обычно такая: тебе надо не конверсии аплифтить, а денег заработать. И вот один твой товарищ построил аплифт в конверсиях (и потом предполагает его множить на средний LTV-скидка), а другой оптимизировал напрямую апдифт в LTV. Продуктовая команда настаивает, что раздавать надо по гороскопу (скидку всем девам). Принесли все они какие-то свои метрики в разных попугаях. И с этим чето надо делать.

Вот мой простой рецепт, что делать:

1. Зафиксируйте метрику приемки А/Б
Это в конечном итоге должна дать одна цифра по которой можно однозначно принять решение. В идеале LTV/cash-flow/PnL. А то оказывается что хочется и конверсия чтоб выросла и отток не нарастить и денег потратить не очень много, и нет однозначного понимания что делать если одна метрика выросла и другая упала. Тут стоит запариться и построить одну единственную метрику для оптимизации. Или одну таргет, вторую как boundary на крайний случай.

2. Соберите офлайн, который позволяет сравнивать разные стратегии раздачи тритмента (включая не аплифтовые)
По факту этот бенч должен давать оценку ожидаемой таргет метрики с прошлого шага на холдауте (сходиться хотя бы по матожиданию к ней). Причем для любой стратегии раздачи тритмента: не только ранжирующих всю базу, но и ту которая раздает тритмент по фазе луны. Любая стратегия на этот бенчмарк - это просто метки тритмента на каждого пользователя. Можно через пересечение с реальными наблюдениями получить оценку тотал эффекта, можно оценивать CATE в когорте - выбирайте где дисперсия меньше.

3. Пробуйте декартово произведение разных лернеров на разные таргеты
Это прямо рутина аплифта. Нет никакого идеального лернера и идеального подхода к выбору таргета. Иногда скалярный таргет слишком шумный и лучше разбить на конверсионный аплифт и помножить потом на скаляр. Иногда лучше учить аплифт сразу на таргет. Надо экспериментировать.

4. Выбирайте модель и когорту по своим бизнес требованиям а не про квини и аплифт кривой
Мой хот тейк: если ты решаешь индустриальную задачу, то забудь про рок ауки и прочие площади под кривыми. Это для учебников. У тебя есть либо ограничение по количеству тритмента: тогда сравнивай модели по uplift@k а в когорту бери K. Либо у тебя задача максимизировать аплифт без ограничения: тогда бери argmax_k(uplift@k) пользователей в когорту, а сравнивай модели по max(uplift@k). Ну либо выбирай k вообще перебором об финальный бенч с шага 2 (что кстати правильнее всего, с точностью до дисперсии).

5. Бектесты, бектесты, бектесты
В идеале нужны холдауты за разные периуды времени. И это возможность полностью зафиксировать стратегию обучения модели и посмотреть как они бы сработали в разные моменты времени (именно стратегию обучения а не конкретную модель). Это позволит оценить устойчивость вашего подхода во времени. Это вообще бич аплифта, что пол года назад эта страта бы дала огромный плюс, а год назад загнала бы в минус. Если стратегия не приносит стабильно аплифта хотя бы в 80% перуида бектаста, то запуск будет скорее русской рулеткой.

6. Постепенная раскатка
Если не уверены в себе: то запустите не на всю базу а не 10% базы. Так у бережете себя от сильного даунлифта, а если все будет хорошо: то доберете следующим скорингом.

Вот как-то так и выживаем. Ну и Casual inference - это один из последних оплотов classical ml, где происходит что-то интересное: искренне рекомендую почитать статейки 20-х годов (этого века) на эту тему.
  • 👍 8
  • ❤ 1
More from @artemonml
  1. Sep 28, 2026Появилось немного времени и наконец погрузился в вопросы агентизации SDLC. У нас в Т есть…
  2. Sep 23, 2026Очень смущают регулярные статьи вида «опенсорс всего на пол шага отстают от проприетарных…
  3. Sep 21, 2026Я сначала кринжевал с Барсика, купившего автомобиль в тбанке, а потом осознал весь постмод…
  4. Sep 19, 2026А зачем вообще вести тг канал? Иногда меня про это спрашивают знакомые, но чаще я сам зада…
  5. Sep 16, 2026Попугая научили говорить «эскалация» и он стал senior engineering manager’ом Какое-то врем…
  6. Sep 12, 2026Я думал, что буду писать «обо всём», но оказалось, что глубоко занимают меня на деле тольк…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →