Скільки коштує повернути гостя
Через скільки днів нагадувати і скільки бонусів дати

Завантаження аудіо…
—:—
Ви вмієте готувати і вмієте тримати команду. Довго цього вистачало. Потім закупівля подорожчала, зарплати теж, і зводити цифри доводиться самому, хоча хотілося б займатися стравами, до яких гості повертаються самі.
Найдешевше, що спадає на думку в такій ситуації, це повернути тих, хто вже був. База зібрана, кнопка розсилки на місці, бонус коштує ніби копійки.
Щоб кампанія з балами приносила гроші, треба вирішити дві речі: через скільки днів без візиту писати гостю і яку вартість матимуть бали під час списання. Розрахунок нижче враховує повне списання балів за цією кампанією на повторному замовленні. Для промокоду потрібен окремий розрахунок.
Усі цифри нижче умовні: я рахував на модельному закладі, а не на чиїйсь базі. Підставляйте свої, фудкост, пакування, ставку еквайрингу і свою частку повернень. Почнемо з внеску одного повернення.
Внесок одного повернення
Рахуємо внесок: скільки залишається від замовлення після всіх змінних витрат.
Беру середнє повернення на 420 ₴ без ПДВ:
| Чек | 420,00 ₴ |
| Фудкост 32 % | −134,40 ₴ |
| Пакування | −12,00 ₴ |
| Еквайринг 1,5 % від 420 | −6,30 ₴ |
| Внесок C₀ | 267,30 ₴ |
Позначу його C₀: внесок повернення, за яке ви нічого не платили.
Що з внеском робить бонус
У цьому умовному прикладі гість отримує бали, якими під час списання можна оплатити 100 ₴, і повністю витрачає їх на повторне замовлення на 420 ₴. Це грошовий еквівалент списаних балів, а не обов’язково 100 одиниць: їхня кількість залежить від умов програми. Вартість балів віднімається від суми до оплати, а не від витрат кухні: страва готується на повний чек, тому фудкост і пакування не змінюються. Змінюються сума, яку гість сплачує грошима, і еквайринг, який береться з цієї меншої суми. Приклад не враховує інших винагород програми лояльності. Якщо гості вже отримують або списують звичайні бали, врахуйте їхню вартість і в C₀, і в C₁.
| Гість платить грошима (420 − 100) | 320,00 ₴ |
| Фудкост 32 % від повного чека | −134,40 ₴ |
| Пакування | −12,00 ₴ |
| Еквайринг 1,5 % від 320 | −4,80 ₴ |
| Внесок C₁ | 168,80 ₴ |
Бонус номіналом 100 ₴ забирає з внеску 98,50 ₴. Економія лише на еквайрингу зі списаної сотні, півтори гривні.
Бонус, який гість витрачає на оплату рахунку, коштує вам майже свій номінал. Це друге число, C₁. Рахується воно для гостя, який списав бонус повністю; якщо частина гостей його не витратить, середній C₁ буде вищий.
Скільки повернень потрібно
Тепер порівняння. Візьміть сегмент гостей, які перестали приходити, і подумки розділіть його навпіл. Одна половина отримує нагадування та бали за цією кампанією, якими можна оплатити 100 ₴, як у прикладі вище. Друга не отримує ні нагадування, ні додаткових балів за цією кампанією. Звичайна програма лояльності, якщо вона є, може діяти для обох половин.
Половина без нагадування теж дасть повернення: частина гостей прийшла б і так. Позначу цю частку r₀. Частку повернень після нагадування й балів за цією кампанією позначу r₁. Вона стосується саме тієї пропозиції з балами, для якої пораховано C₁: повідомлення без балів або промокод можуть дати іншу частку повернень.
Якщо половини однакові за розміром, порівнювати можна на одного гостя:
- половина без розсилки приносить r₀ × C₀ на гостя;
- половина з розсилкою приносить r₁ × C₁ на гостя.
Розсилка має сенс, доки r₁ × C₁ не менше за r₀ × C₀:
r₁ ≥ r₀ × C₀ / C₁
Відношення C₀ / C₁ і є ціною бонуса у формулі. При наших числах 267,30 / 168,80 = 1,58. Тобто розсилка мусить піднімати частку повернень більш ніж у півтора раза, просто щоб вийти в нуль.
Нехай базова частка дорівнює 9 %. Тоді потрібно 14,25 %. На половині в 500 гостей це 72 повернення.
Що буде, якщо повернень менше
Нехай розсилка дала 12 % замість потрібних 14,25 %. Сегмент 1 000 гостей, по 500 у кожній половині:
| З розсилкою | Без розсилки | |
|---|---|---|
| Гостей | 500 | 500 |
| Повернулися | 12 % (60 осіб) | 9 % (45 осіб) |
| Внесок одного повернення | 168,80 ₴ | 267,30 ₴ |
| Внесок половини | 10 128 ₴ | 12 028,50 ₴ |
Повернень на третину більше, грошей на 1 900,50 ₴ менше.
Розклад усередині шістдесятьох пояснює результат у середньому. За базової частки 9 % 45 повернень відповідають візитам, які відбулися б і без кампанії, а 15 — додатковим поверненням. Це не означає, що ми знаємо, які саме гості прийшли б самі. Кожне з 45 повернень, еквівалентних базовому рівню, за пропозицією з балами дає на 98,50 ₴ менше внеску.
У середньому 45 × 98,50 = 4 432,50 ₴. П’ятнадцять додаткових повернень дають 15 × 168,80 = 2 532 ₴, а різниця між цими числами становить ті самі 1 900,50 ₴.
Третє число формули, r₀, не лежить у звіті. Панель покаже, скільки гостей повернулося після кампанії, але не покаже, скільки повернулося б без неї. Цю базову частку оцінює контрольна група, яка не отримала ані нагадування, ані балів за цією кампанією.
Два важелі: розмір бонуса і день
Бонус задає C₁, а разом із ним і планку. Зменшую сотню до півсотні:
| Бонус | Внесок C₁ | C₀ / C₁ | Потрібна частка повернень |
|---|---|---|---|
| 100 ₴ | 168,80 ₴ | 1,58 | 14,25 % |
| 50 ₴ | 218,05 ₴ | 1,23 | 11,03 % |
Ті самі 12 % повернень при бонусі 50 ₴ дають 60 × 218,05 = 13 083 ₴ проти 12 028,50 ₴ у контрольної половини. Плюс 1 054,50 ₴ там, де щойно був мінус 1 900,50 ₴.
Одна умова до цієї таблиці: відгук залежить від вартості балів під час списання, а припущення «ті самі 12 %» можна перевірити лише на реальних гостях. Якщо бали вартістю 50 ₴ дадуть 10 % замість 12 %, розрахунок зміниться: 10 % × 218,05 = 21,81 ₴ проти 9 % × 267,30 = 24,06 ₴ на одного гостя, і виграє контрольна половина. Щоб вибрати між 100 і 50 ₴, порівняйте їх в окремих випадково сформованих тестових групах і залиште контрольну групу без кампанії. Кожна пропозиція спершу має окупитися порівняно з r₀; тільки тоді є сенс порівнювати їх між собою.
День впливає на r₀. Якщо писати раніше, до сегмента може потрапити більше гостей, які ще перебувають у звичному циклі візитів. Це підвищує планку у формулі. Поріг у 30 днів — початкова гіпотеза для перевірки, а не універсальна рекомендація моделі.
Свій поріг визначайте за датованими візитами гостей, яких можна ідентифікувати, а не автоматично за вивантаженням онлайн-замовлень. Для тих, хто був щонайменше двічі, порахуйте проміжки між послідовними візитами в каналі, який охопить ваш тест, і знайдіть проміжок, у який укладаються три чверті гостей. Якщо це 41 день, поріг у 45 днів можна взяти як початкову точку для перевірки гостей поза звичним циклом.
У панелі касові транзакції відокремлені від онлайн-замовлень (картка гостя). Якщо більшість гостей платить на касі, рахуйте проміжки за датованими POS-транзакціями: файл лише з онлайн-замовленнями може помилково записати активних гостей до тих, хто давно не приходив.
Якщо замість балів тестуєте промокод, умови пропозиції будуть іншими. Код можна обмежити робочими годинами за днями тижня, категоріями та позиціями, мінімальною сумою замовлення, типом сервісу й кількістю активацій на гостя (параметри промокоду). Окремо рахуйте фактичне застосування промокоду в замовленнях і внесок цих замовлень: C₁ і пороги окупності для балів у таблицях вище не описують вартість кампанії з промокодом.
Як це зібрати в Eatery Club
Крок 1. Порахувати свій поріг і відібрати сегмент. Для касових візитів отримайте з POS датовані транзакції з ідентифікаторами гостей. Для гостей, які замовляють онлайн, запустіть вивантаження з розділу «Замовлення» й заберіть файл у «Експорті». Спершу перевірте, чи є у файлі ідентифікатор гостя та дата замовлення. Рахуйте проміжки за джерелом, яке охоплює аудиторію тесту. Потім у «Клієнтах» фільтруйте за датою останнього візиту, останнього замовлення й кількістю замовлень, перевіряючи, що ці поля відповідають тим самим каналам. Не припускайте, що масове вивантаження POS-транзакцій доступне в панелі.
Крок 2. Розділити на дві групи. У «Групах клієнтів» створюєте дві групи, наприклад «сплячі-тест» і «сплячі-контроль», і заповнюєте їх масовою дією «додати до групи клієнтів» із того самого списку. Ділити треба випадково: за алфавітом чи датою реєстрації групи вийдуть різними за складом, і порівняння нічого не покаже. Врахуйте заздалегідь, що вбудоване правило групи зараз одне, «лише онлайн-оплата», тож ділити доведеться вручну, а складніші правила заводить підтримка (групи клієнтів).
Крок 3. Випробувати пропозицію, яку можете дати тестовій групі. У «Клієнтах» відфільтруйте групу «сплячі-тест», позначте гостей і виберіть задокументовану масову розсилку push (масові дії). Якщо тестуєте промокод, призначте вже створений код окремою масовою дією. Код створюється в ERP і з’являється в панелі після синхронізації; для Syrve в акції потрібне «Ручне застосування», щоб код спрацював для замовлення із застосунку (параметри промокоду). Перш ніж називати тест із кодом контрольованим, перевірте у своєму проєкті, що гості з контрольної групи не можуть ним скористатися: призначення вибраним гостям описане в довідці, але ексклюзивне використання не підтверджене. Тест тільки з push або промокодом вимірює саме цю пропозицію, а не модель балів вище.
Крок 4. Підготувати автоматичне нарахування балів окремо. У «Регулярних повідомленнях» можна створити правило «Остання транзакція» з періодом «після», потрібною кількістю днів, часом відправлення та дією з нарахування балів (регулярні повідомлення). Довідка описує ці налаштування, але не пояснює, як виключити контрольну групу. Поки спостерігаєте за контролем без впливу кампанії, тримайте правило неактивним. Якщо мусите ввімкнути його раніше, перевірте у своєму проєкті, що контрольні гості не отримують ані повідомлення, ані балів за цією кампанією. Інакше r₀ перестане бути показником групи без впливу.
Серед задокументованих масових дій є push і призначення промокоду, але адресне масове нарахування балів вибраним гостям не описане. Навіть промокод того самого грошового номіналу не вимірює r₁ для пропозиції з балами й не підтверджує її C₁. Для порівнянного тесту з балами потрібно, щоб бали за цією кампанією отримала лише тестова група, а контрольна не отримала ні їх, ні нагадування. Потім треба виміряти повернення та фактичне списання. Перш ніж обґрунтовувати автоматичне правило порогом для балів, перевірте, чи можна провести таке порівняння у вашому проєкті. Якщо ні, таблиці залишаються ілюстрацією; тест промокоду не підтверджує результат автоматичного нарахування балів.
Довідка до правила окремо попереджає не підміняти останню транзакцію датою останнього замовлення. Push і нарахування бонусів там перемикаються окремо: вимкнений push не зупиняє нарахування.
Заповніть переклади. Без перекладу на мову гостя повідомлення до нього не надійде взагалі. Одна незаповнена мова тихо вирізає з розсилки цілу групу гостей.
Звірте умови з касою. Відсоток кешбеку, межі рівнів і самі промокоди живуть в ERP, панель їх відображає й активує. Якщо значення розійдуться, гість побачить у застосунку одні умови, а каса порахує за іншими.
У розрахунку враховані тільки бонуси. Якщо додаєте платний канал на кшталт SMS, додайте і його вартість за тарифами провайдера.
Що перевіряти через місяць
- Частка повернень для пропозиції, яку справді тестували. Контрольна група без впливу дає оцінку r₀. Називайте частку тестової групи r₁ із формули лише тоді, коли вона отримала ту саму пропозицію з балами, яку описує модель. Тест лише з push або з промокодом має власну частку повернень.
- Внесок одного повернення. Не чек. Якщо повернені гості беруть дешевше за звичайних, бонус з’їдає більшу частку внеску і планка піднімається.
- Списання та внесок саме цієї пропозиції. Для тесту з балами перевірте, чи можна отримати записи за гостями й транзакціями про нарахування та списання балів і внесок повторного замовлення в тестовій групі. Віджети «Клієнтів» показують загальні суми нарахованих і списаних балів проєкту за 30, 60 і 90 днів; самі собою вони не дають фактичного C₁ тестової групи. Невикористаний на кінець періоду залишок балів потрібно обліковувати як зобов’язання, а не як постійну економію. Для тесту з промокодом рахуйте замовлення, у яких код фактично застосували, та їхній внесок; віджети балів не визначають вартість коду.
- Середній чек за вибраний період. У «Топ клієнтах» він доступний як колонка та фільтр за 30, 60 або 90 днів. Дата останнього візиту — окремий фільтр, а не сусідня колонка таблиці.
Змінюйте поріг у днях за спостережуваним r₀. Якщо багато гостей контролю повертаються самі, у сегменті можуть бути люди у звичному циклі візитів; перевірте інший поріг. Якщо в обох половинах повернень мало, перш ніж вирішувати, що поріг запізнілий, перевірте розмір вибірки та тривалість спостереження.
Поріг окупності для пропозиції з балами пов’язує C₀, C₁ та r₀ із потрібною часткою повернень r₁. Обидва внески можна змоделювати за витратами на власні замовлення, але лише порівнянний тест із балами виміряє r₁ саме для цієї пропозиції та покаже, що гості справді списують. Тест лише з push або з промокодом відповідає на інше запитання.
Про те, як влаштовані бонуси, рівні та сегменти в Eatery Club, на сторінці Лояльність.
Опубліковано в
Platon Sobko
Редактор відділу новин Eatery Club. Пишу про технології, софт, інтернет та науку
Всі матеріали автора →


