Привет! Я Ольга Матушевич, преподаватель курса «Нейросети для бизнеса», а в прошлом ментор Мастерской Яндекс Практикума. В e-commerce и маркетинге есть множество наработанных методик. Но как применить их там, где цель — не прибыль, а спасение жизней?
Хочу поделиться кейсом Мастерской: мы работали с DonorSearch — крупнейшим сообществом доноров крови в Рунете. Заказчик поставил задачу: сегментировать донорскую базу так, чтобы можно было вести адресную коммуникацию с разными группами доноров. Понять, кого считать активным донором, кто выпал из донорства, а кто только начинает свой путь — и что делать с каждой из этих групп.
Мы выбрали необычное решение — применить RFM-анализ, классический инструмент из маркетинга. В статье я расскажу:
почему мы отказались от машинного обучения в пользу RFM-анализа,
как переосмыслили классическое определение метода под некоммерческую задачу,
чем заменили «деньги», «покупки» и «покупателей» в RFM-анализе,
и к каким семи классам доноров в итоге пришли.
Статья будет интересна тем, кто работает с некоммерческими проектами: у кого часто есть данные, но нет готовых методологий. А ещё — тем, кто хочет посмотреть, как переосмыслить классические бизнес-инструменты для нестандартных задач.
Навигация по статье:
Для начала немного вводных
Мастерская — учебное агентство внутри Яндекс Практикума. Студенты и выпускники под руководством экспертов и продакт-менеджеров берут реальные задачи бизнеса и НКО и бесплатно делают проекты для портфолио.
Спектр широкий: веб-разработка, тестирование, дизайн, дата-аналитика, DS. Для всех сторон это win-win: студенты получают опыт на реальных данных и задачах, заказчик — решение, которое на рынке стоило бы немалых денег. Кроме того, в Мастерскую можно принести собственный проект и довести его до рабочего прототипа.
Моя работа в качестве наставника Мастерской начинается ещё до официального старта проекта: нужно выяснить, какие задачи стоят перед заказчиком, могут ли выпускники и студенты Практикума решить их за ограниченное время — и какие именно инструменты для этого подойдут.
После старта проекта я провожу ещё несколько онлайн-встреч со студентами: чтобы ввести в проект, оценить идеи, скорректировать работу и помочь достигнуть лучших результатов. Я продолжаю общаться с заказчиком, в том числе чтобы получить ответы на вопросы студентов. После завершения Мастерской передаю заказчику готовые проекты.
DonorSearch — крупнейшее сообщество доноров крови в Рунете. Проект не занимается заготовкой или хранением крови, а специализируется на мотивации граждан и привлечении их к регулярным донациям. Для этого НКО агрегирует и публикует актуальные данные о потребностях центров крови, проводит мероприятия для доноров, даёт советы и помогает пройти путь до регулярного донорства.
Деятельность проекта направлена на борьбу со старением донорской базы и низкой частотой донаций. Донорство часто проигрывает конкуренцию за внимание молодёжи, из-за чего сообщество не обновляется в необходимом объёме. DonorSearch меняет этот тренд, формируя у молодых людей восприятие донации как привычного и технологичного элемента образа жизни.
С Мастерской DonorSearch сотрудничает уже много лет. Результатом совместной работы стал, например, инструмент для автоматической верификации справок о сдаче крови. Также мы регулярно анализируем данные о донорах и донациях — и ищем в них ответы на вопросы заказчика.
Задача, с которой пришёл DonorSearch, звучала так: разбить донорскую базу на сегменты, чтобы вести с каждым сегментом наиболее эффективную коммуникацию. За этим запросом стояли конкретные операционные вопросы, например:
Как замотивировать доноров к очередной или первой донации?
Какого донора стоит считать «регулярно сдающим кровь» и не нуждающимся в напоминании, а какого — выпадающим из донорства?
Какая частота сдачи крови может считаться «эталонной» — то есть к какому количеству донаций на активного донора стоит стремиться?
Выбор инструмента: почему RFM-анализ, а не ML
Мы пробовали использовать машинное обучение, но результаты оказались трудно интерпретируемыми. Например, выяснилось, что решающее значение для совершения донаций после регистрации имеет заполнение донором полей о себе: пола, группы крови, региона. Но связь прямая или обратная?
Вероятно, те, кто заранее решил: «буду сдавать кровь», готовы потратить больше времени на необязательные поля, чем те, кто ещё не определился. И если принудить потенциальных доноров заполнять дату рождения, это не подтолкнёт их к донации, а просто оттолкнёт от регистрации на портале. У НКО не хватило ресурсов на эксперимент, который подтвердил бы или опроверг эту гипотезу.
Кластеризация методами машинного обучения дала студентам несколько проектов в портфолио и стала источником инсайтов и гипотез для будущих тестов. Но заказчик так и не начал использовать её регулярно.
Тогда и возникла идея: а что, если поступить ровно наоборот? Вместо выделения идеальных кластеров, которые потом трудно интерпретировать, сначала выбрать признаки, которые, по мнению заказчика, сильнее всего влияют на совершение донаций и легко интерпретируются. Проверить их на данных — и только потом выделять классы. Тогда студенты и предложили RFM-анализ.

RFM-анализ — это метод сегментации клиентской базы по трём параметрам:
Recency (Давность). Как давно клиент совершал последнее действие (покупку, заказ)?
Frequency (Частота). Сколько всего действий клиент совершил за определённый период?
Monetary (Деньги). Сколько денег клиент потратил?
По каждому фактору необходимо произвести ранжирование клиентов. Количество рангов может меняться в зависимости от размера клиентской базы, но чаще всего выделяют три ранга в каждом параметре. В итоге получается 27 комбинаций, часть из которых затем объединяют.
Итогом становится матрица сегментов. Сегменты могут быть такими:
«чемпионы» (недавно, часто, много),
«спящие» (давно, редко, мало),
«новички» (недавно, один раз, мало).
Обычно этого короткого описания достаточно. Но что, если нет ни денег, ни покупок — только спасение жизней? Тогда нужно заглянуть в историю возникновения метода, чтобы понять его глубже.
Переосмысление RFM-анализа для некоммерческой задачи
Сегментация RFM впервые появилась в 1930–1940-х годах в компании, торгующей по каталогам. Для каждого клиента сотрудники вручную вели карточку размером 3×5 дюймов: для ранжирования на основе даты последней покупки, частоты покупок и суммы потраченных средств за всё время. Основная цель — выявить клиентов, которые с наибольшей вероятностью отреагируют на новые каталоги, и не тратить ресурсы на тех, кто, скорее всего, не купит.
Итак, более полное описание RFM-анализа для торговой фирмы:
Присвоение рангов покупателям по трём параметрам — давности покупок, частоте покупок и сумме затраченных средств — с последующей сегментацией на основе комбинаций рангов.
Если хочется применить метод для читателей библиотеки, пользователей госпортала или доноров крови, нужно переписать специфичные для торговли понятия на более общем уровне:
покупатели → пользователи;
покупки → целевые действия;
три параметра → три аналогичных по смыслу критерия:
давность последнего целевого действия (R),
частота целевых действий за период (F),
суммарная ценность действий (M) — не обязательно денежная.
Тогда получим определение RFM-анализа в общем смысле:
Присвоение рангов пользователям по трём параметрам — давности, частоте и ценности совершенных целевых действий — с последующей сегментацией на основе комбинаций рангов.

Теперь нужно определить каждый параметр для нашей задачи:
целевое действие;
период для расчёта частоты целевых действий;
количество рангов для частоты;
период для расчёта давности последнего целевого действия;
количество рангов для давности;
ценность действий;
количество рангов для ценности.
Как мы определяли параметры
Целевое действие
Поначалу казалось, что целевое действие — это донация крови или её компонентов. Но это не так.
Целевым действием для DonorSearch является загрузка на сайт справки о сдаче крови, которая бы подтверждала факт донации, сделанной после регистрации на портале DonorSearch.
Почему? Дело в том, что у DonorSearch нет доступа к базам данных центров крови, а без справки пользователь может вписать себе сколько угодно донаций. Также донации крови или её компонентов должны происходить после регистрации на сайте: так DonorSearch измеряет свой социальный вклад. Ведь если донор начинает фиксировать свой путь на платформе, значит, платформа ему нужна.
Поэтому дальше в расчётах мы учитываем только справки о донациях, сделанных после регистрации.
Период для расчёта частоты целевых действий
Здесь можно оттолкнуться от медицинских ограничений. Один из самых распространённых видов донаций — сдача плазмы — по медицинским рекомендациям разрешена не чаще чем раз в две недели. То есть донор, стабильно сдающий кровь два раза в месяц, буквально делает всё от него возможное.
Итак, нижняя граница периода для расчёта частоты — один месяц. Но доноры сдают не только плазму, также нам нужна не дихотомия «сдал / не сдал», а трёхуровневая градация: «не сдаёт / сдаёт редко / сдаёт часто». Попробуем взять период побольше — например, год.
Без данных тут не обойтись. Начнём с файла донаций:
Период: 1 января 2021 года — 30 апреля 2026 года. DonorSearch существует дольше, но мы берём именно этот диапазон: при миграции базы данных все донации до 2020 года оказались записаны как «сданные в 2020 году». Эти данные можно восстановить, но для классификации доноров и оставшихся данных вполне достаточно.
Количество подтверждённых справок о сдаче крови или её компонентов после регистрации на портале DonorSearch: 178 044.
Количество уникальных доноров: 28 158.
Получается, на каждого активного донора приходится по 6,4 справки. Посмотрим, как донации и доноры распределяются по годам и месяцам:




В целом картина позитивная: число загруженных справок растёт, число активных доноров — тоже. Но теперь посмотрим, как часто доноры загружают справки, — хотя бы по календарным годам. Для этого мы посчитаем, сколько доноров загрузили 1, 2, 3, 4, 5 или 6 и более справок в год. Затем разделим их на количество активных доноров в базе.

Для 2021 года мы не учитывали доноров, сдавших кровь до расчётного периода, — поэтому там 0% доноров с нулём донаций. Но чем дальше, тем сильнее растёт доля «спящих»: до 45% в 2025 году.
Теперь перейдём к другому файлу — количеству зарегистрированных пользователей сайта DonorSearch. Всего в нём 334 952 пользователя. Вот как оно менялось за 2021–2026 годы:

Если в качестве базы для расчёта долей взять количество зарегистрированных пользователей, получим такие данные:

Если взять средние значения за 2021–2025 годы:
0 загруженных справок в год: 96,9%
1 загруженная справка в год: 1,2%
2 загруженные справки в год: 0,5%
3 загруженные справки в год: 0,4%
4 загруженные справки в год: 0,3%
5 загруженных справок в год: 0,2%
шесть и более загруженных справок в год: 0,5%
С такими данными делать период оценки частоты менее года нецелесообразно. А более года — нет смысла.
Количество рангов для расчёта частоты целевых действий
Стандартные методы рекомендуют три или пять рангов. Выбираем три:
одна справка за последние 12 месяцев,
две справки за последние 12 месяцев,
три и более справки за последние 12 месяцев.
Давность совершения последнего целевого действия
Рассуждая так же, выделяем три ранга:
последнее целевое действие совершено в последние шесть месяцев,
последнее целевое действие совершено более шести месяцев назад, но не более 12,
последнее целевое действие совершено более 12 месяцев назад.
Ценность целевых действий
Здесь мы рассмотрели все возможные подходы к классификации донаций по ценности: платность, компоненты крови, группа крови.
За деньги — да? Донации можно разделить на платные и безвозмездные. По данным, большинство — безвозмездные: 95% против 5%.

По идее безвозмездные донации ценней. И дело даже не в экономии: информирование и привлечение безвозмездного донора может стоить не меньше, чем разовая выплата за донацию. Просто донор, не стремящийся получить деньги за кровь, скорее всего, не испытывает в них нужды. Он может позволить себе качественное питание и хорошую медицину, заботится о здоровье — и потому его кровь лучше для пациентов.
Но, как обычно, есть нюанс. Даже два:
Донор не всегда сам решает, будет ли его донация платной. Я знаю истории, когда человек приходит сдать плазму бесплатно, а регистратор говорит: «Нет, сегодня тромбоциты за деньги». И большинство доноров соглашаются — сотрудникам виднее, что сейчас нужно.
Не всё так просто с донором, который принципиально настаивает на безвозмездной сдаче именно плазмы. Возможно, он просто хочет побыстрее получить звание «Почётного донора» и ежегодную выплату — в 2026 году это 19 497 ₽ 68 коп. Быстрее всего его получить, сделав безвозмездно 60 донаций плазмы. Так что безвозмездная донация может быть очень даже возмездной — просто центр крови «покупает её в кредит».
Поэтому возмездность донации не может служить основой для определения её ценности.
Компоненты крови. Донации в наших данных разделились по следующим видам сданных компонентов:
цельная кровь — 110 222 (61,91%)
плазма — 41 818 (23,49%)
тромбоциты — 25 765 (14,47%)
эритроциты — 166 (0,09%)
лейкоциты — 73 (0,04%)

Хотя большинство этих донаций было сделано безвозмездно, мы можем наложить на них сумму компенсаций за платные донации. Так как суммы компенсаций в теории отражают размер причинённых донору неудобств, они могут оценить и размер нефинансовых потерь донора в финансовом эквиваленте.
Но и здесь не всё просто:
Потребность в лейкоцитах крайне мала, а хранить их впрок невозможно — срок хранения всего несколько часов.
Для сдачи эритроцитов к донорам предъявляют более жёсткие требования, например, вес не менее 70 кг — на 20 кг больше, чем для других компонентов.
За платную цельную кровь могут платить меньше, чем за плазму, хотя плазму можно сдать до 12 раз в год, а цельную кровь — только три–пять раз.
Что именно сегодня сдаёт донор, во многом определяет не он сам, а центр крови.
Получается, выбор «что именно сдавать» у донора ограничен и часто зависит не от него. Доноры разных компонентов несут разные потери — но разница обычно не осознаётся. Поэтому классификация по компонентам тоже не подходит.
Группа крови. В зависимости от группы крови, резус-фактора и kell-фактора кровь отдельных доноров подходит большему числу реципиентов. То есть она универсальнее и, в каком-то смысле, ценнее.
Но это не значит, что потери доноров с отрицательным резус-фактором в центрах крови выше потерь доноров с положительным резус-фактором. И те и другие сдают по 450 мл цельной крови или 600 мл плазмы. Хотя не все группы крови одинаково полезны, опираться на это различие для классификации доноров нельзя.
В общем, как мы ни пытались определить ценность донации, в итоге пришли к выводу: все донации нужны, все донации важны!

Что заменило параметр M
Давайте вернёмся к определению. Почему RFM-анализ использует именно эти три критерия:
давность последнего целевого действия (R),
частота целевых действий за период (F),
суммарная ценность действий (M)?
Не потому ли, что сотрудники каталожной фирмы на практике выяснили: именно эти три фактора лучше всего предсказывают, совершит ли клиент покупку?
Если так, то RFM-анализ можно переопределить как метод сегментации пользователей, основанный на выделении рангов по трём факторам, которые на практике показали наибольшую предсказательную силу в отношении совершения пользователями целевых действий.

Есть ли третий фактор, влияющий на вероятность новой донации и новой загрузки справок? Из общения с заказчиком выяснилось, что такой фактор есть: дата регистрации на портале.
Интуитивно понятно: если пользователь зарегистрировался без чёткой цели сдать кровь, ему может потребоваться не день и не два для первой донации. Исходя из опыта заказчика, установили такие границы рангов:
регистрация в последние 30 дней,
регистрация в последний год, но не в последние 30 дней,
регистрация более года назад.
Результат нашей работы
Доноров крови можно классифицировать по трём факторам:
была ли загружена справка о донации за последние шесть или 12 месяцев;
сколько справок загружено за последний год: одна, две или три и более;
когда пользователь зарегистрировался: в последние 30 дней, в последний год или больше года назад.
Теоретически могло бы получиться 3 × 3 × 3 = 27 классов. На практике их меньше: некоторые комбинации просто невозможны. Например, нельзя зарегистрироваться менее 30 дней назад и успеть за это время сделать три донации.
В итоге получилось 17 классов, в самом большом из которых оказалось почти 89% пользователей. После анализа распределения признаков и консультаций с заказчиком часть классов объединили. Осталось семь.


Что дала классификация
Классификация делалась в тесном сотрудничестве с сотрудниками НКО, а потому хорошо подходит для решения ежедневных задач. Эта классификация стала основой для дашборда, разработанного волонтёрами DonorSearch на базе Yandex DataLens. Теперь сотрудники НКО могут легко ответить на вопросы:
Активный донор — это кто?
Сколько активных доноров в сообществе?
Как за последний год изменилось их количество?
Кому в первую очередь разослать сообщение о дефиците крови в конкретном регионе?
По каким сегментам делать таргетированную рассылку?
Этот кейс — пример кастомизации стандартной метрики под нестандартную задачу. RFM-анализ принято считать маркетинговым инструментом для работы с деньгами и покупками. Но если разобраться в его логике, становится понятно: метод работает везде, где есть пользователи, целевые действия и хоть какие-то данные. Надеюсь, наш опыт поможет другим проектам и НКО смелее использовать и, главное, адаптировать под себя разные методики.
И напоследок: если вы никогда раньше не сдавали кровь и не знаете, с чего начать, — начните с изучения требований к донорам.
