The post has been translated automatically. Original language: Russian
How to cut a mailing in half, keep 87% of opens — and why nobody at an ML conference asked about the models.
A personal account based on a talk at the K-Tech conference
I recently spoke at K-Tech about ML in marketing. The reviewers asked me to add more technical depth, so I did: pipelines, datasets, memory, gradient boosting.
Then, after the talk, every question from the audience was about something else entirely. How do you split a ranked customer base — where do the cutoffs go? What strategy fits each part? Who do you exclude from mailings, and when?
Almost nobody asked about the models themselves.
That's the main takeaway I brought home from the conference: ML in marketing has stopped being a technology topic and become an operational one. The business no longer asks "how does the model work." It asks "how do I use this tomorrow morning."
So that's the logic I'll follow here: as little as possible on what's under the hood, as much as possible on how to actually use it.
"Using a shotgun approach"
We regularly interview marketers. One phrase comes up almost word for word:
"We're firing buckshot into a flock of sparrows — annoying the people who don't need this, and under-delivering to the people who do."
The mechanics are familiar to any CRM marketer. The base gets sliced by one or two signals: "purchased in the last 90 days," "hasn't opened in six months — into reactivation," "VIP by order value." At best, a full RFM model. Then a blast to everyone inside the segment. And hope.
The problem is that recency and spend don't predict behavior. An active buyer will still grab the cheap offers. And segments recalculated on the first of the month are already stale by the fifth.
This has a direct price tag — one of our interview respondents put a number on it. A blast "to everyone" costs roughly 1% of the base in unsubscribes. Do the math: a base of 100,000, customer acquisition cost of $1. One mailing burns 1,000 subscribers.
$1,000 of already-paid-for base — for a handful of extra sales. And a lost subscriber is almost never coming back.
Why does this happen? Manual segmentation has three limits, and none of them get fixed by trying harder:
Segmentation answers the wrong question. It tells you who this customer is. It doesn't tell you whether they're ready right now.
Data piles up but doesn't work. The average Western business pays $50,000–100,000 a year for a CDP platform, with some estimates running as high as $150,000 (Hightouch, Ingest Labs). Meanwhile, most of that accumulated behavioral history never makes it into an actual decision — a human simply can't find patterns across millions of rows.
An ML team starts at $300 000 a year. That's an edge only large enterprise can walk through.
What the Predictive Approach Changes
The model answers a different question. Not "which segment does this customer fall into," but "how likely is this specific customer to take the target action in this specific campaign."
Every customer gets a score. The base is ranked from the "hottest" prospects down to those who won't respond to the campaign at all.
Important: the score is raw material, not a ready-made interface. Next I'll show two ways to turn it into decisions: deciles and an expected-profit calculation.
Under the hood — briefly, for anyone curious. It runs on gradient boosting across four data sources: the CRM customer profile, communication history, the content of those communications, and transactions. 200+ features in total, a year of history, a 90/10 train-test split. Quality threshold: ROC AUC > 0.7.
By the way, that's why the entry bar is lower than it looks. The model doesn't learn on customers — it learns on "send × reaction" events. A base of 10,000 with a year of active mailings already produces hundreds of thousands of training examples.
Funnily enough, the hardest engineering problem wasn't training the model — it was assembling the dataset: 150 million rows across 200+ features simply don't fit in memory. We got by with Dask; Polars is next on our radar.
But, as K-Tech made clear, the interesting part starts after the score is calculated.
Three Audiences, Three Strategies
This is the answer to the main question from the audience.
Deciles are a ranked base cut into 10 equal parts. The first decile holds the top 10% of customers by score. The tenth holds the lowest. In practice, the ten deciles collapse into three zones, and each needs a different playbook.

Top, deciles 1–3 — engaged. They respond to almost any communication. This is where monetization lives: cross-sells, tests of new products, limited-run promotions. Frequency: 2–3 touches a week.
Middle, deciles 4–7 — unstable. They respond only to what's relevant. This is the personalization zone: subject lines matched to interests, products pulled from purchase history, delivery-time optimization, content instead of a hard sell. Frequency: 1–2 times a week. The goal is activation and warm-up.
Tail, deciles 8–10 — passive. Conversion probability is low, and frequent touches only burn the sender's reputation. One strong reactivation offer a month, a channel switch — and if there's no response, exclusion from mailings.
"Don't send" is also a decision. And often the most profitable one.
One caveat: three zones is a starting template, not the one correct way to cut the base. Our clients slice it differently. One simply drops the bottom two deciles from every mailing — and already sees value in that alone. Another does the opposite, targeting only the top few.
The score doesn't dictate the decision. It gives the marketer a dial, and where to set it depends on campaign goals, channel economics, and risk appetite. ML here is the marketer's assistant, not an autopilot.
The key principle: the score is recalculated regularly. Customers migrate between deciles, and the strategy adjusts itself — no manual resegmentation on the first of every month.
What This Delivers, in Numbers
Two results from real data. Real mailings, from a large brand, data anonymized. The first result comes from a series of A/B tests; the second, from a retrospective analysis.
Case 1: Higher Conversions
Control group: a random 25% of the macro-segment. Test group: the top 25% of customers from that same macro-segment, by score.
Average Click Rate lift across the test series: ×3.6.
In one of these tests we traced the chain all the way to revenue: purchase conversion of 0.58% versus 0.24% in the control. 2.4x more purchases from the same campaign.
It's worth clearing up a common misconception here: ML doesn't create conversions out of thin air. Click-to-purchase conversion stayed identical in both groups — the same segment-wide average. All the lift came from the top of the funnel: the test group clicked far more often, and those extra clicks then converted at the same ordinary rate into purchases.
We didn't change the content, the channel, or the frequency. We simply found the people more likely to convert. The funnel's own math did the rest.
Case 2: Reach Efficiency
A marketer built a segment of 20,264 emails. The mailing went out to everyone, as usual. We scored that segment with a model trained on data from before the mailing, and looked at how the actual opens broke down across deciles.
It turned out that if the send had gone only to the top 6 deciles — 9,305 emails — the segment would have kept 87% of opens at −54% of sends. And +27% Open Rate.
Nearly all the response came from half the segment. The other half was just accumulating list fatigue.
"Free" Channels Have a Cost
The "list fatigue" from the previous case isn't a figure of speech — it's a line item that never shows up in your reports.
Email and push feel free, which is exactly why they get overused. But you pay for them anyway: in unsubscribes, spam complaints, and campaigns cannibalizing each other. Try planning 200,000 promotional sends against a base of 100,000 customers, and the question of "who gets what" becomes impossible to ignore.
This is where Net Expected Profit helps — the expected profit from sending a specific campaign to a specific customer.

We calculate NEP for every customer × campaign pair, which gives us a table showing the value of every single touch. From there, the decision is mechanical: sort, cut anything negative, and build the audience for each mailing from what's left.
A honest caveat: the current version of NEP doesn't account for unsubscribe cost — the real price of that "free" channel. That requires an unsubscribe-probability model, and it's next in development.
A nice side effect: in NEP's language, marketing can finally talk to the CFO without translating open rate "from Greek."
Is This You?
Two questions to check:
- Does your base have more than 10,000 customers with at least a year of communication history?
- Are your segments still rebuilt by hand — by recency, order value, or "hasn't opened in six months"?
Double yes, and a predictive approach on your data will likely pay for itself. You can test this without any risk: run Second Case's math against your own last big mailing and see which slice of it actually drove the response.
What's Next
Right now the model predicts opens and clicks. Next in development: unsubscribe probability. Layered on top of the base score, it lets you strip out the people in your hot audience who are likely to unsubscribe anyway — protecting the base even in an aggressive campaign. Churn, LTV, and Uplift are next in the queue after that.
Uplift answers the trickiest question of all: who buys only because of a communication, versus who would have bought anyway — and who shouldn't get a discount at all.
We're building the Predictive Studio as a product for teams that have the data and the ambition, but not an in-house ML team.
If you recognized your own marketing in "buckshot at sparrows," and you answered yes to both questions above — reach out. I'm looking for early adopters I can argue with, get things wrong with, and figure out what actually works, together.
Boris Sokolov, Product Manager, Predictive Studio
Как сократить рассылку вдвое, сохранив 87% открытий, — и почему на ML-конференции никто не спросил про модели.
Личный рассказ по мотивам выступления на конференции K-Tech
Недавно я выступал на K-Tech с докладом про ML в маркетинге. Ревьюеры попросили добавить технических подробностей — я добавил: пайплайны, датасеты, память, градиентный бустинг.
А после выступления все вопросы из зала оказались про другое. Как разделить отранжированную базу — где проводить границы? Какие стратегии применять к каждой части? Кого и когда исключать из рассылок?
Про сами модели не спросил почти никто.
Для меня это главный вывод конференции: ML в маркетинге перестал быть технологической темой и стал операционной. Бизнес больше не спрашивает «как устроена модель». Он спрашивает «как мне этим пользоваться завтра утром».
Дальше я расскажу ровно в этой логике: минимум про то, что под капотом, максимум про то, как это применять.
"Пушка по воробьям"
Мы регулярно проводим интервью с маркетологами. Одна фраза повторяется почти дословно:
«Мы пуляем из пушки по воробьям — раздражаем тех, кому это не нужно, и недожимаем тех, кому нужно».
Механика знакома каждому CRM-маркетологу. База режется по одному-двум признакам: «купившие за 90 дней», «полгода не открывал — в реактивацию», «VIP по чеку». В лучшем случае — полноценный RFM. Дальше рассылка на всех внутри сегмента. И надежда.
Проблема в том, что давность и деньги не предсказывают поведение. Активный покупатель всё равно берёт дешёвые предложения. А сегменты, пересчитанные первого числа месяца, устаревают уже к пятому.
У этого есть прямая цена — её назвал один из респондентов наших интервью. Большая рассылка «на всех» стоит примерно 1% базы в виде отписок. Считаем: база 100 тысяч, привлечение клиента обошлось в 470₸. Одна рассылка сжигает 1 000 подписчиков.
470 000₸ уже оплаченной базы — ради нескольких дополнительных продаж. И вернуть потерянного подписчика почти невозможно.
Почему так происходит? У ручного подхода три ограничения, и они не лечатся усердием:
Сегментация отвечает не на тот вопрос. Она говорит, кто этот клиент. Но не говорит, готов ли он сейчас.
Данные копятся, но не работают. Средний бизнес на Западе платит за CDP-платформу $50–100 тысяч в год, с некоторыми оценками до $150 тысяч (Hightouch, Ingest Labs). При этом большая часть накопленной истории поведения так и не участвует в решениях: человек физически не находит паттерны в миллионах строк.
Своя ML-команда — от $300 тысяч в год. Это доступно только крупному enterprise.
Что меняет предиктивный подход
Модель отвечает на другой вопрос. Не «в какой сегмент попадает клиент», а «с какой вероятностью этот конкретный клиент совершит целевое действие в этой конкретной кампании».
Каждый клиент получает скор. База ранжируется от самых «горячих» к тем, кто на кампанию не отреагирует.
Важно: скор — это сырьё, а не готовый интерфейс. Дальше покажу два способа превратить его в решения: децили и расчёт ожидаемой прибыли.
Под капотом — коротко, для тех, кому интересно. Работает градиентный бустинг на четырёх источниках данных: профиль клиента из CRM, история коммуникаций, контент этих коммуникаций и транзакции. Всего 200+ признаков, год истории, разбивка 90/10 на обучение и тест. Порог качества — ROC AUC > 0.7.
Кстати, порог входа поэтому ниже, чем кажется. Модель учится не на клиентах, а на событиях «отправка × реакция» — база в 10 тысяч с годом активных рассылок даёт сотни тысяч обучающих примеров.
Забавно, что главной инженерной сложностью оказалось не обучение, а сборка датасета: 150 млн строк на 200+ признаков в память не помещаются. Спасались Dask'ом, дальше смотрим на Polars.
Но, как показал K-Tech, самое интересное начинается после того, как скор посчитан.
Три аудитории — три стратегии
Это ответ на главный вопрос из зала.
Децили — это отранжированная база, порезанная на 10 равных частей. В первом дециле — 10% клиентов с самым высоким скором. В десятом — с самым низким. На практике десять децилей складываются в три зоны, и с каждой нужно работать по-разному.

Топ, децили 1–3 — вовлечённые. Реагируют почти на любую коммуникацию. Здесь живут монетизация, кросс-продажи, тесты новых продуктов, акции ограниченным тиражом. Частота — 2–3 касания в неделю.
Середина, децили 4–7 — нестабильные. Реагируют только на релевантное. Это зона персонализации:
- темы писем под интересы
- товары из истории
- оптимизация времени доставки
- контент вместо лобовой продажи
Частота — 1–2 раза в неделю. Цель — активация и прогрев.
Хвост, децили 8–10 — пассивные. Вероятность конверсии низкая, а частые касания только жгут репутацию отправителя. Один сильный реактивационный оффер в месяц, смена канала — и, если реакции нет, исключение из рассылок.
«Не слать» — тоже решение. И часто самое прибыльное
Оговорюсь: три зоны — это стартовый шаблон, а не единственно верная нарезка. Наши клиенты режут базу по-разному. Один просто отсекает два нижних дециля от каждой рассылки — и видит ценность уже в этом. Другой, наоборот, берёт в кампанию только несколько верхних.
Скор не диктует решение. Он даёт маркетологу ручку, а куда её выставить — зависит от целей кампании, экономики канала и аппетита к риску. ML здесь ассистент маркетолога, а не автопилот.
Ключевой принцип: скор пересчитывается регулярно. Клиент мигрирует между децилями, стратегия подстраивается сама — без ручной пересегментации первого числа каждого месяца.
Что это даёт в цифрах
Два результата на реальных данных. Рассылки настоящие, крупного бренда, данные обезличены. Первый результат — из серии A/B-тестов, второй — из ретроспективного анализа.
Кейс 1: рост конверсий
Контрольная группа — случайные 25% из макросегмента. Тестовая — топ-25% клиентов того же макросегмента по скору.
Средний рост Click Rate по серии тестов — ×3.6.
А в одном из кейсов мы проследили цепочку до денег: конверсия в покупку 0.58% против 0.24% в контроле. В 2.4 раза больше покупок при той же кампании.
Здесь важно развеять частое заблуждение: ML не рождает конверсии из ниоткуда. Конверсия из клика в покупку в обеих группах осталась той же, средней по сегменту. Весь прирост дал верх воронки: в тестовой группе кликнули в разы больше, и дальше эти клики с обычной конверсией «провалились» в покупки.
Мы не меняли контент, канал или частотность. Мы лишь нашли тех, кто вероятнее сконвертируется. Математика воронки сделала остальное.
Кейс 2: экономия охвата
Маркетолог собрал сегмент на 20 264 письма. Рассылка ушла всем, как обычно. Мы проскорили этот сегмент моделью, обученной на данных до этой рассылки, и посмотрели, как фактические открытия распределились по децилям.
Оказалось: если бы отправка ушла только в топ-6 децилей — это 9 305 писем, — сегмент сохранил бы 87% открытий при −54% отправок и +27% к Open Rate.
Почти весь отклик давала половина сегмента. Вторая половина только копила усталость базы.
У «бесплатных» каналов есть цена
«Усталость базы» из прошлого кейса — не риторическая фигура, а строка расходов, которой нет в отчётах.
Email и push кажутся бесплатными, поэтому ими злоупотребляют. Но платить всё равно приходится: отписками, жалобами на спам, каннибализацией собственных кампаний. Попробуйте составить план на 200 000 продающих отправок для базы в 100 000 клиентов — и вопрос «кому что слать» встанет в полный рост.
Здесь помогает метрика Net Expected Profit — ожидаемая прибыль от отправки конкретному клиенту конкретной кампании.

Считаем NEP для каждой пары «клиент × кампания» — получаем таблицу, где видна ценность каждого касания. Дальше решение механическое: сортируем, отсекаем отрицательные значения, собираем аудиторию под каждую рассылку.
Честная оговорка: в текущей версии NEP не учитывает стоимость отписки — ту самую цену «бесплатного» канала. Для этого нужна модель вероятности отписки, и она следующая в разработке.
Приятный побочный эффект: на языке NEP маркетинг наконец может разговаривать с финдиректором, не переводя open rate «с китайского».
Это про вас?
Два вопроса для проверки:
- В базе больше 10 000 клиентов с историей коммуникаций хотя бы за год?
- Сегменты до сих пор пересобираются руками — по давности, чеку или «не открывал полгода»?
Оба «да» — предиктивный подход на ваших данных, скорее всего, окупится. Проверить можно без риска: прикиньте кейс 2 на своей последней большой рассылке — какая её часть дала почти весь отклик.
Что дальше
Сейчас наш продукт предсказывает открытия и клики. Следующая в разработке — вероятность отписки: наложив её поверх основного скора, можно убрать из горячей аудитории тех, кто с высокой вероятностью отпишется, — и защитить базу даже в агрессивной кампании. Дальше в очереди Churn, LTV и Uplift.
Uplift отвечает на самый тонкий вопрос: кто купит только благодаря коммуникации, а кто купил бы и так — и на кого скидку тратить не надо.
Мы строим Предиктивную студию как продукт для команд, у которых есть данные и амбиции, но нет своей ML-команды.
Если вы узнали в «пушке по воробьям» свой маркетинг и ответили «да» на оба вопроса — буду рад пообщаться. Ищу early adopters, с которыми можно спорить, ошибаться и находить работающие сценарии вместе.
Борис Соколов, Product Manager Предиктивной студии