Головна Блог Ризик-скоринг 0–100

Ризик-скоринг покупця 0–100: як BlackPost оцінює надійність одержувача

Детальний розбір алгоритму: 5 факторів, 5 градацій ризику, формули обчислення. Дізнайтеся, що означає кожен бал, чому одна й та сама скарга «важить» по-різному — і як правильно інтерпретувати результат перевірки перед відправкою.

1. Що таке ризик-скоринг покупця

Ризик-скоринг — це числова оцінка надійності покупця від 0 до 100 балів, яку BlackPost обчислює на основі реальної історії його поведінки. Бал показує ймовірність того, що посилка накладеним платежем буде не викуплена. Що вищий бал — то більший ризик для продавця.

На відміну від звичайного чорного списку, який дає лише відповідь «є/немає», скоринг враховує контекст: скільки разів саме цей покупець був у скаргах, яку категорію порушення йому інкримінують, скільки різних магазинів про нього повідомили, наскільки свіжі ці дані та в якому співвідношенні вони стоять до загального обсягу перевірок.

Результат — об'єктивна цифра, яка дає продавцю можливість прийняти зважене рішення: відправити накладкою, попросити часткову передоплату або відмовити у відправці COD зовсім.

Шкала у BlackPost

0 · Чистий
1–25 · Низький
26–50 · Середній
51–75 · Високий
76–100 · Критичний
0255075100

Під капотом у BlackPost — модуль scoring.py, який зважує п'ять вхідних параметрів і повертає число 0–100 та рекомендацію для продавця. Далі розбираємо кожен параметр і пояснюємо, чому саме така модель.

2. Чому одного лічильника скарг недостатньо

Ранні спроби «чорних списків» в українському e-commerce виглядали так: Google-таблиці, Telegram-групи, файли Excel, в яких продавці вручну збирали телефони проблемних покупців. Правило було простим: є номер у списку — не відправляй. Немає — відправляй.

Така модель працює погано з трьох причин:

  • Хибні блокування. Один продавець додав номер через непорозуміння — усі інші відмовляють покупцю, навіть якщо реальна поведінка покупця бездоганна.
  • Неврахована давність. Скарга 2019 року блокує людину в 2026-му, коли її поведінка давно змінилась.
  • Ігнорується масштаб. Одна скарга від одного магазину — і десять скарг від десяти різних магазинів — у бінарному списку виглядають однаково.

Скоринг вирішує всі три проблеми одночасно: він «розмиває» вагу однієї скарги у загальній картині, робить старі записи менш значущими, посилює вагу випадків, коли поскаржились різні магазини.

Практичний приклад: у базі BlackPost є два покупці. Перший — одна скарга з 2020 року від магазину, який сам не додзвонився до клієнта. Другий — три свіжі скарги за останні 30 днів від трьох різних продавців, причому одна з них — product_swap (спроба підміни). У бінарному списку обидва просто «є в базі». У скорингу перший отримає ~8 балів, другий — близько 72. Різниця кардинальна.

3. П'ять факторів оцінки

Алгоритм скорингу будується на зваженій сумі п'яти метрик. Сума ваг — 100%, результат — ціле число 0–100.

Report count
30%
Unique sellers
25%
Recency
20%
Pickup ratio
15%
Severity
10%

3.1. Кількість скарг (Report count, 30%)

Перший і найвагоміший фактор — скільки разів покупець потрапляв у скарги. Але проста лінійна сума не підходить: різниця між 0 і 1 скаргою — величезна (людина з чистого переходить у проблемні), а між 10 і 11 — практично нульова (і так зрозуміло, що це серійний дроп).

Тому BlackPost використовує логарифмічну шкалу:

Формула points = min(100, 30 × log₂(report_count + 1))

Це означає:

  • 1 скарга → 30 балів (швидкий стрибок з 0)
  • 3 скарги → 60 балів
  • 7 скарг → 90 балів
  • 15+ скарг → стеля в 100 балів

Логарифм захищає від «накрутки»: навіть якщо один магазин випадково подасть 5 скарг на одного покупця, бал виросте не в 5 разів, а приблизно в 2,3. Зате перший-другий інцидент штрафує швидко — там, де це і має боліти.

3.2. Унікальні продавці (Unique sellers, 25%)

Другий фактор — скільки різних магазинів поскаржилось на одного покупця. Одна скарга від одного магазину може бути непорозумінням. П'ять скарг від п'яти різних магазинів — це вже чіткий патерн.

Формула points = min(100, 25 × log₂(unique_sellers + 1))

Цей параметр — головний захист від «помсти конкурента»: один розлючений продавець не може сам витягти покупцю скоринг у червону зону. Щоб пробити поріг «високого ризику», мають подати скарги кілька незалежних джерел.

3.3. Свіжість (Recency, 20%)

Третій фактор — наскільки свіжими є скарги. Людина змінюється: хтось один раз не забрав посилку у 2019-му, а потім п'ять років викуповував усе справно. Штрафувати її за давню історію нечесно — і скоринг це враховує.

BlackPost бере найсвіжішу скаргу покупця і присвоює їй вагу:

Вік останньої скарги Бали Коментар
До 7 днів 100 Максимальна вага — інцидент свіжий
8–30 днів 85 Ще актуально
31–90 днів 60 Поведінка недавня, але не критична
91–180 днів 35 Півроку — патерн міг змінитись
181–365 днів 15 Майже рік — вага суттєво менша
Понад рік 5 Історичний слід, майже не штрафує

Ефект такий: покупець із десятьма старими скаргами (понад рік) матиме помітно нижчий скор, ніж покупець із двома свіжими. І це правильно — ризик продавця зараз визначає недавня поведінка, а не історія п'ятирічної давнини.

3.4. Pickup ratio (15%)

Четвертий фактор — співвідношення між кількістю верифікованих скарг і загальною кількістю перевірок цього покупця. Логіка така: якщо номер перевірили тисячу разів, а скарг лише одна — то можливо, це просто популярний номер з активною історією покупок, і одна скарга не репрезентативна.

Формула points = (verified_reports ÷ total_checks) × 100

Параметр працює як «нормалізатор»: вирівнює скоринг між популярними та рідко перевіреними номерами. Але щоб він почав впливати, покупця мають перевіряти щонайменше кілька разів — інакше формула не має достатньо даних.

3.5. Severity (10%)

П'ятий і останній фактор — тяжкість порушення. У BlackPost чотири категорії скарг, і кожна має власну «важкість»:

Категорія Код Severity Коли використовувати
Невикуп non_pickup 50 Покупець не забрав посилку на відділенні
Зміна адреси address_switch 70 Вимагав переадресації в останній момент, а потім не забрав
Підміна товару product_swap 90 Спроба чи факт підміни вмісту посилки
Шахрайство fraud 100 Організована схема, фейкові замовлення, крадіжка

У скорингу береться максимальна severity серед усіх скарг покупця. Це означає: одна скарга категорії fraud додає більше, ніж п'ять скарг non_pickup. Бо шахрайство — інший рівень загрози, і однією такою подією продавець уже сигналізує: цій людині COD-посилок не відправляти взагалі.

4. П'ять градацій ризику

Фінальний бал 0–100 розпадається на п'ять зон. Кожна зона відповідає рекомендації, що робити продавцю.

Бал Рівень Дія Колір
0 Чистий Відправляти накладкою без обмежень — жодної скарги в базі Зелений
1–25 Низький ризик Можна відправляти, але звернути увагу — є поодинокі скарги Зелений
26–50 Середній ризик Рекомендована часткова передоплата 100–200 грн або дзвінок підтвердження Жовтий
51–75 Високий ризик Вимагати повну передоплату або відмовити у відправці накладкою Помаранчевий
76–100 Критичний Не відправляти COD. Уся партія такого покупця — майже гарантовані збитки Червоний

Візуально в інтерфейсі продавець бачить коловий індикатор із балом усередині та підписом рівня. Колірна схема спрощена до трьох груп — «зелений / жовтий / червоний», щоб менеджер не витрачав час на оцінку деталей перед кожною відправкою.

Як межі працюють на практиці

  • 0 (чистий). Це абсолютна більшість перевірок — понад 80% номерів у базі ніколи не отримували скарги. Відправляйте спокійно.
  • 1–25. Зазвичай тут — покупці з однією старою скаргою. Ризик мінімальний. Якщо маєте сумнів, просто зателефонуйте підтвердити замовлення.
  • 26–50. Перша «жовта» зона. Тут уже варто підстрахуватись: SMS-підтвердження, частковий аванс, можливо — перевірка паспорта на відділенні.
  • 51–75. Серйозний ризик. Магазини з високою маржею ще можуть ризикнути з SMS-дзвінком, але для товарів із маржею <30% сценарій — повна передоплата.
  • 76–100. Критичний. Стандартна дія — «вибачте, для вашого замовлення доступна лише передоплата». Або м'яка відмова, якщо покупець наполягає на накладці.

5. Категорії скарг і severity детально

Severity — це те, що відрізняє «людина помилилась» від «людина краде». Давайте розберемось із кожною категорією, щоб ви розуміли, що саме подавати у формі скарги.

non_pickup (50) — класичний невикуп

Найчастіша категорія. Покупець оформив замовлення, ви відправили посилку накладкою, але на відділенні її так ніхто й не забрав. Посилка пролежала належний строк і повернулась. Причини можуть бути різні: передумали, забули, переплутали магазин, дроп.

Це базова severity (50). Якщо покупець — «колекціонер найкращого», який замовляє одразу в кількох магазинах, щоб забрати одне, — це все одно non_pickup. Якщо ж був прямий умисел (скажімо, людина писала: «відправляйте на відділення №17, бо я там працюю» — і не з'явилась), це теж non_pickup, але в коментарях до скарги варто описати деталі.

address_switch (70) — гра з адресою

Покупець після відправки вимагав переадресації посилки на інше відділення, ймовірно в іншому місті, а потім не забрав. Або більш витончено: оформив замовлення на адресу А, попросив «поміняйте на адресу Б — я переплутав», ви змінили — і посилка повернулась.

Чому severity вищий? Тому що в address_switch є ознаки свідомого ускладнення логістики продавця. Людина створює зайве навантаження і час менеджера, а потім однаково не забирає. Це більший «грішок», ніж просто забудькуватість.

product_swap (90) — підміна товару

Покупець отримав посилку, відкрив її на відділенні НП (де це дозволено), заявив «тут не те, що я замовляв» і повернув із вкладеним стороннім предметом — старий телефон, цегла, інша модель тощо. Продавець отримує «своє повернення», але вже з іншим вмістом.

Це фактично крадіжка через підміну. Severity 90 виправданий: людина свідомо завдає прямих грошових збитків. При подачі такої скарги в коментарях обов'язково опишіть, що саме отримали назад, і прикріпіть фото/відео відкриття посилки.

fraud (100) — організована схема

Максимальна severity. Це коли покупець (або група) діє як системна шахрайська схема: фейкові замовлення від «конкурента-диверсанта», масові фіктивні замовлення на чужі контакти, схеми з підставними ФОП, використання викрадених контактних даних тощо.

Категорію fraud ставлять, коли видно намір, а не просто помилку. При такій скарзі модерація перевіряє докази ретельніше, і запис у базі отримує відмітку, яка робить покупця «критичним» навіть за малої кількості скарг.

6. Давність скарг: чому старі «тануть»

Однією з найчастіших претензій до чорних списків була «довічна» природа запису: раз потрапив у базу — залишаєшся назавжди. Це очевидно несправедливо: людина за три-п'ять років може кардинально змінити поведінку, а магазин, на якого скарга, може давно закритись.

Recency decay в BlackPost — вбудований механізм «прощення з часом». Кожна скарга з роками важить менше, поки не стає майже історичним сліпом. Візуально це виглядає так:

Кейс: покупець має 3 скарги: одна від листопада 2019, одна від червня 2024, одна від березня 2026. Скоринг візьме найсвіжішу (березень 2026 — 100 балів ваги), інші дві дадуть невеликий додатковий внесок через report_count. Якби всі три скарги були з 2019 — скоринг був би суттєво нижчим, незважаючи на ту ж кількість.

Recency також вирішує проблему «застарілих даних»: покупець п'ять років не мав проблем, забирав усе справно через інші магазини, але одна скарга 2019 року тягне його у «чорні». З recency decay ця скарга дасть лише 5 балів, і фінальний скор буде низьким.

Важливо: recency не обнуляє скарги. Вони залишаються в історії покупця, їх видно у картці — але їхня вага у скорингу спадає. Це дає одночасно прозорість (скарга не зникла) і справедливість (стара поведінка не блокує нову).

7. Як читати картку покупця на /check

Коли ви вводите номер телефону на blackpost.com.ua/check, система показує картку покупця. Розбираємось, на що дивитись:

Колова шкала зі скором

Велике число в центрі — фінальний скоринг 0–100. Колір кола відповідає зоні ризику (зелений / жовтий / червоний). Це перше, на що звертає увагу менеджер.

Рекомендована дія

Під шкалою — готова рекомендація: «Safe», «Proceed with caution», «Consider prepayment», «Prepayment required» або «Do not ship». Можна йти по ній не роздумуючи.

Кількість скарг і унікальних продавців

Дві цифри збоку: «Скарг всього» і «Унікальних магазинів». Співвідношення важливе — 5 скарг від 1 магазину виглядає інакше, ніж 5 скарг від 5.

Остання скарга

Дата — ключ до розуміння recency. Якщо остання скарга була два роки тому, навіть при кількох раніше, ризик значно нижчий.

Категорії

Список категорій скарг (non_pickup / address_switch / product_swap / fraud). Якщо є хоча б одна fraud — це сигнал особливої обережності.

Статус disputed

Якщо покупець оскаржує записи, на картці з'явиться позначка «під оскарженням». Модерація ще триває — це інформація для вашого власного рішення.

Повна технічна структура картки описана в документації API — якщо хочете прокинути ці дані прямо в CRM чи адмінку магазину.

8. Приклади реальних профілів

Щоб скоринг став зрозумілішим, розглянемо п'ять типових карток. Цифри та імена вигадані, але патерни — реальні, які ми бачимо щодня в базі BlackPost.

Покупець А — абсолютно чистий 0
0 скарг · 0 магазинів · перевіряється перший раз

Інтерпретація: жодної історії в базі. Найпоширеніший сценарій — відправляйте без обмежень. Це 80%+ усіх перевірок.

Покупець Б — низький ризик, стара скарга 12
1 скарга · 1 магазин · остання: 14 місяців тому · non_pickup

Інтерпретація: один інцидент давно, от одного продавця. Міг бути непорозуміння. Recency decay знизив вагу до ~5 балів, плюс невелика сума від report_count. Відправляйте, можна перестрахуватись SMS-підтвердженням.

Покупець В — середній ризик, кілька свіжих скарг 42
3 скарги · 2 магазини · остання: 18 днів тому · non_pickup × 3

Інтерпретація: свіжий патерн невикупу в двох різних магазинах. Скоринг у жовтій зоні — не відмовляти, але попросити часткову передоплату 100–200 грн. Коли покупець оплатив хоч трохи, ймовірність викупу різко зростає.

Покупець Г — високий ризик, розподілений патерн 64
6 скарг · 5 магазинів · остання: 9 днів тому · non_pickup × 5, address_switch × 1

Інтерпретація: шість скарг від п'яти різних продавців — чіткий патерн серійного дропа. Остання — цього тижня. Рекомендація: повна передоплата або відмова в COD. Маржа на товар не покриває ризик.

Покупець Д — критичний ризик, є fraud 88
4 скарги · 4 магазини · остання: 3 дні тому · non_pickup × 2, product_swap × 1, fraud × 1

Інтерпретація: четверо різних магазинів поскаржились, одна скарга — fraud (100 severity), одна — product_swap (90). Не відправляти жодним способом, окрім 100% передоплати на рахунок.

9. Як змінюється скоринг з часом

Скоринг — не статичний штамп. Він живий: перераховується при кожній новій події і тихо «розсмоктується» з часом, якщо нових подій немає. Розглянемо, що саме може змінити бал покупця.

Нова скарга

Додалась нова скарга від нового продавця → одночасно зростають report_count, unique_sellers та «скидається» таймер recency на 0. Скор стрибає вгору, часто кардинально. Приклад: покупець мав бал 18 (одна стара скарга), отримав нову від іншого магазину — скор стрибнув до ~55 (середній).

Час без скарг

Минає три місяці без нових скарг → recency зменшується зі 100 балів до ~60. Покупець з 52 балами може опуститись до 38 — з високого ризику в середній. Це природне «охолодження» скорингу, яке дає покупцю шанс довести зміну поведінки.

Верифікація скарги через API перевізника

Свіжо подана скарга має статус pending — її вага тимчасово обмежена. Після автоматичної перевірки через API Нової Пошти / Укрпошти / Meest / Delivery скарга стає verified (якщо підтверджено факт невикупу) або rejected (якщо посилку отримали — скарга необґрунтована). Тільки verified скарги повноцінно йдуть у скоринг.

Disputed статус

Якщо покупець подав оскарження, його статус тимчасово стає disputed, а на картці з'являється позначка. Скор залишається, але продавець одразу бачить, що запис під розглядом.

Resolved clear

Якщо dispute розглянули на користь покупця (resolved_clear), скор обнулюється до 0, статус стає cleared. Скарги залишаються в історії бази (для прозорості), але не впливають на скоринг.

10. Очищення скорингу через оскарження

BlackPost визнає, що алгоритм не є непогрішимим. Скарги подають люди, а отже — можливі помилки. Для цього існує процедура оскарження, яка дозволяє покупцю виправити ситуацію.

Основні моменти:

  • Оскарження подається на сторінці /dispute
  • Обов'язкові поля: ПІБ оскаржувача, телефон, email, ТТН, причина
  • Бажано додати докази: скрини переписки, чеки, пояснення
  • Строк розгляду — до 3 робочих днів
  • Під час розгляду запис позначається як disputed — продавці бачать оскарження
  • Якщо визнали правомірним (resolved_clear): скор → 0, статус → cleared
  • Якщо відхилили (resolved_reject): запис повертається в активний стан

Важливий нюанс: при успішному оскарженні скарги не видаляються з БД. Вони залишаються в історії, але їхня вага у скорингу йде у нуль. Це зроблено для прозорості — магазини, які подавали оригінальні скарги, бачать, що їхні записи оспорили й очистили, а не просто зникли.

Детальну процедуру з прикладами, помилками та порадами шукайте в окремому гайді «Як оскаржити запис і видалити себе з чорного списку».

Перевірте покупця за 10 секунд

Введіть номер телефону на сторінці перевірки — отримаєте скоринг 0–100, рекомендовану дію та повну історію скарг. 355 000+ записів у базі, безкоштовна реєстрація.

Перевірити покупця Зареєструватись

11. Часті запитання

Ризик-скоринг — це числова оцінка надійності покупця від 0 до 100 балів, яку BlackPost обчислює на основі п'яти факторів: кількість скарг, кількість унікальних продавців, давність скарг, співвідношення невикупів до перевірок і тяжкість порушень. Що вищий бал — то більший ризик невикупу.

Звичайний чорний список дає лише бінарну відповідь: є або немає. Ризик-скоринг враховує контекст — одна скарга п'ятирічної давнини не означає того самого, що п'ять свіжих скарг від різних магазинів. Скоринг дає точнішу оцінку й допомагає уникнути хибних блокувань.

1) Кількість скарг — 30% ваги, логарифмічна шкала. 2) Унікальні продавці — 25%, скільки різних магазинів поскаржились. 3) Давність — 20%, свіжі інциденти вагоміші. 4) Pickup ratio — 15%, співвідношення підтверджених невикупів до загальної кількості перевірок. 5) Severity — 10%, тяжкість категорії скарги.

0 — покупець чистий, жодної скарги. 1–25 — низький ризик, можна відправляти з увагою. 26–50 — середній, краще зробити часткову передоплату. 51–75 — високий, вимагайте повну передоплату. 76–100 — критичний, відмовте у відправці накладкою.

Скоринг враховує recency decay: скарга віком до 7 днів дає 100 балів, 8–30 днів — 85, 31–90 днів — 60, 91–180 — 35, 181–365 — 15, понад рік — 5. Це дозволяє людині «виправитись» з часом і уникнути довічного блокування за одну помилку багаторічної давнини.

Severity — тяжкість порушення. У BlackPost 4 категорії: non_pickup (звичайний невикуп, 50 балів), address_switch (зміна адреси в останній момент, 70), product_swap (спроба підмінити товар, 90), fraud (шахрайство, 100). Максимальна severity серед скарг покупця додає 10% ваги до фінального скору.

Так, помилки можливі: однофамілець, переплутаний номер, форс-мажор у покупця. Тому кожен запис підтверджується номером ТТН (об'єктивний доказ), а покупець має право на оскарження. Після успішного dispute скоринг обнулюється до 0, а статус змінюється на «cleared».

Введіть номер телефону покупця на сторінці blackpost.com.ua/check — система покаже коловий індикатор з балом 0–100, рівень ризику, рекомендовану дію, кількість скарг, унікальних продавців і дату останнього інциденту. 3 безкоштовні перевірки на добу, після реєстрації ліміт знімається.

Висновки

Ризик-скоринг — це сучасна заміна примітивного «є/немає» списку. Замість штампа «дроп» ви отримуєте чисельну оцінку з поясненням, що саме формує ризик. Ключові тейкавеї:

  1. П'ять факторів з різною вагою — report count (30%), unique sellers (25%), recency (20%), pickup ratio (15%), severity (10%)
  2. П'ять градацій — 0 чистий, 1–25 низький, 26–50 середній, 51–75 високий, 76–100 критичний
  3. Recency decay рятує від «довічних» блокувань — скарги старіють та втрачають вагу
  4. Severity розрізняє непорозуміння (non_pickup) від шахрайства (fraud) — останнє одразу виводить у червону зону
  5. Скоринг живий — перераховується щоразу, реагує на нові скарги, оскарження, disputed-статуси
  6. Помилка виправна — через оскарження скор обнулюється до 0 при обґрунтованій dispute
  7. Прозорість — картка на /check показує не лише фінальний бал, а й усі вхідні метрики

Раджу доповнити перевірку скорингу іншими інструментами зменшення невикупів: 7 способів підтвердження замовлення, часткова передоплата для ризикових замовлень, та для розробників — API для автоматичних перевірок у CRM.

Поділитись: