TGViewer
.ml .ml @mltochka · 4.23K subscribers
Post #117 2.54K
Построение модели Next Best Action

Это продолжение серии постов о построении NBA. В прошлом посте мы рассказывали, что классическое uplift-моделирование плохо подходит для банковских продуктов. Чтобы получить статистически значимый результат, нужно провести кучу A/B-тестов и отправить миллионы сообщений.

Поэтому мы сделали несколько инженерных допущений:

1. Стали считать эффект только после взаимодействия с коммуникацией. Если клиент вообще не открыл письмо или не кликнул по баннеру, это приравнивается к отсутствию коммуникации:

P(Y_Pr=1|Z=0, At=1,C,x) ≈ P(Y_Pr=1| At=0,x)

Z — {0, 1} — факт клика на коммуникацию.


Это допущение упрощает дальнейшее моделирование и позволяет отказаться от сложного персонального Uplift. Теперь его можно рассчитать по формуле:

Δ(x,C,Pr) ≈ P(Z=1|At=1,C,x) * (P(Y_Pr=1|Z=1, At=1,C,x) - P(Y_Pr=1| At=0,x))


2. Оценили влияние канала на продукт без персонализации по пользователю. Для этого перешли в пространство логитов. Теперь базовая модель предсказывает вероятность подключения продукта без каких-либо коммуникаций, а влияние канала рассматривается как добавка к этому прогнозу, которая зависит не от конкретного человека, а от связки «канал + продукт»:

logit (P(Y_Pr=1|Z=q, At=1,C,x)) = logit (P(Y_Pr=1| At=0,x))+ δ_C,Pr

δ_C,Pr — добавка к логиту подключения от канала C для продукта Pr.


После этого значение снова переводится в обычную вероятность, а Expected Value рассчитывается через обновлённую формулу:

EV(x,C,Pr) ≈ P(Z=1|At=1,C,x) * [σ(logit (P(Y_Pr=1|At=0,x)) + δ_C,Pr) - P(Y_Pr=1|At=0,x)] * LTV(x, Y_Pr) - Cost(C)


Формула для сигмоиды (σ):

sigma(x)=\frac{1}{1+e^{-x}}

sigma(x) — результат функции (значение от 0 до 1);
e — математическая константа (число Эйлера, ≈2.71828);
x — входное число, например, результат линейного уравнения модели.


3. Разделили задачу на компоненты. После всех преобразований большая задача фактически распалась на три отдельные модели:

• Модель отклика на продукт — показывает вероятность подключения без дополнительных коммуникаций.

P(Y_Pr=1 | At=0,x)


• Модель клика в канале — предсказывает вероятность того, что клиент вообще взаимодействует с выбранным каналом.

P(Z=1 | At=1,C,x)


• Модель эффекта канала — оценивает, насколько канал способен увеличить вероятность подключения.

δ_C,Pr


Такой подход оказался практичнее прямого uplift-моделирования и позволил построить систему, которую можно обучать на реальных данных.

Но появилась новая проблема: так как вероятность подключения продукта рассчитывается отдельной моделью, то при работе с 66 продуктами нужно обучить и поддерживать десятки моделей одновременно. В следующем посте расскажем, как автоматизировать этот процесс.

💜 Этот пост написал Евгений Наговицын, ML-разработчик в Точка Банк
  • ❤ 13
  • 👍 6
  • 🔥 6
  • 👀 2
More from @mltochka
  1. Sep 4, 2026Post #126
  2. Sep 4, 2026Друзья, переголосуйте, пожалуйста, в вопросе про контент — сделали множественный выбор
  3. Sep 3, 2026Post #123
  4. Sep 3, 2026Post #122
  5. Sep 3, 2026Опрос о вас 💜 Канал существует уже два года, и нам хочется лучше понимать, кто именно нас…
  6. Aug 28, 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 →