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

У сервісному бізнесі — салон, студія, школа, автосервіс, коворкінг, ремонт — головний ресурс не товар на складі, а час фахівців. Порожня година в розкладі вже не повернеться. Тому аналітика тут обертається навколо записів, завантаження і повернення клієнтів, а не навколо кошика.
Головні метрики
| KPI | Формула | Навіщо |
|---|---|---|
| Записи | нові записи за період | попит |
| Заповненість розкладу | заброньовані години / доступні години | використання ресурсу |
| Неявки | неявки / записи | втрачені гроші |
| Скасування в останній момент | скасування < 24 год / записи | планування |
| Середній чек візиту | виручка / візити | ціна і допродажі |
| Виручка на фахівця | виручка / фахівці (або на годину роботи) | ефективність команди |
| Повторні візити | клієнти з 2+ візитами за 90 днів / клієнти | лояльність |
| Інтервал між візитами | середні дні між візитами | ритм повернення |
| Вартість запису | витрати на рекламу / нові записи з реклами | ефективність маркетингу |
| Конверсія заявки в запис | записи / заявки (дзвінки, форми, месенджери) | якість обробки |
Заповненість — головна цифра
Заповненість показує, скільки грошей бізнес «залишає на столі». Рахуйте її:
- за фахівцями — у когось розклад забитий на тиждень, у когось порожній;
- за днями тижня і годинами — теплова карта годин дає ідеї для акцій «у будні до обіду»;
- за послугами — дорогі тривалі послуги заповнюють день інакше, ніж короткі.
Якщо заповненість стабільно висока, вузьке місце — не маркетинг, а кількість фахівців або ціна.
Неявки і скасування
Неявка — прямі втрати: фахівець отримує оплату або простоює, слот не продано. Що допомагає побачити дашборд:
- частку неявок за каналами залучення (нові клієнти з реклами часто не приходять частіше);
- ефект нагадувань: неявки до і після запуску SMS/месенджер-нагадувань;
- клієнтів з повторними неявками — для передоплати.
Звідки дані
| Дані | Джерело |
|---|---|
| Записи, візити, статуси, фахівці | CRM / система онлайн-запису |
| Оплати | каса, LiqPay, monobank |
| Заявки | форми сайту, дзвінки (колтрекінг), месенджери |
| Поведінка на сайті | GA4 |
| Реклама | Google Ads, Meta, TikTok |
| Відгуки | Google Business Profile та інші майданчики |
Головна складність — зв'язати рекламу із записом. Онлайн-запис часто відкривається у віджеті стороннього сервісу, і GA4 його не бачить. Рішення: передавати UTM у віджет запису (якщо він підтримує), відстежувати кліки на кнопку «Записатися» як подію і зберігати джерело в картці клієнта в CRM. Правила UTM — у окремій статті.
Воронка сервісного бізнесу
| Крок | Метрика |
|---|---|
| Відвідування сайту / профілю | сесії, перегляди |
| Заявка (форма, дзвінок, месенджер, віджет) | заявки |
| Запис | записи, конверсія заявки в запис |
| Візит | візити, неявки |
| Повторний візит | повторні за 90 днів |
Часто найбільші втрати — між заявкою і записом: на дзвінок не відповіли, у месенджері відповіли через 3 години. Час відповіді на заявку — окрема корисна метрика.
Приклад першого екрана
- записи за тиждень і порівняння;
- заповненість розкладу (загальна і теплова карта годин);
- неявки, %;
- виручка і середній чек;
- вартість запису з реклами;
- повторні візити за 90 днів.
Приклад такого дашборда — на сторінці для сервісного бізнесу. Щоденне зведення в Telegram з кількістю записів на завтра і вільними слотами допомагає адміністраторам (автозвіти).
Типові помилки
- Рахувати лише виручку і не бачити порожніх годин.
- Не відрізняти нових клієнтів від повторних у вартості запису.
- Ігнорувати заявки з месенджерів і дзвінків.
- Не вести причини скасувань.
- Не зберігати джерело клієнта в CRM.
Чекліст
- Доступні години фахівців ведуться в системі
- Статуси візиту: прийшов / неявка / скасовано
- Джерело клієнта зберігається в CRM
- Кліки «Записатися» відстежуються в GA4
- Заповненість за фахівцями і годинами
- Неявки за каналами
- Повторні візити і інтервал між візитами
Приклад: завантаженість і виручка на доступну годину
Ілюстративний салон: 4 майстри, 10 годин роботи на день, 26 робочих днів на місяць:
| Майстер | Доступні години | Заброньовані | Завантаженість | Виручка | Виручка на доступну годину |
|---|---|---|---|---|---|
| Майстер 1 | 240 | 204 | 85% | 122 400 | 510 |
| Майстер 2 | 240 | 168 | 70% | 92 400 | 385 |
| Майстер 3 | 200 | 170 | 85% | 76 500 | 383 |
| Майстер 4 | 240 | 132 | 55% | 66 000 | 275 |
| Разом | 920 | 674 | 73% | 357 300 | 388 |
Виручка на доступну годину поєднує ціну і завантаженість в одне число, яке можна порівнювати між людьми, локаціями й місяцями. Тут майстер 3 завантажений так само, як майстер 1, але заробляє менше за годину — це питання цін чи набору послуг. У майстра 4 є вільна ємність — питання попиту чи розкладу.
Підняти загальну завантаженість з 73% до 80% за тієї ж середньої ціни заброньованої години (~530) — це приблизно 0,07 × 920 × 530 ≈ 34 000 грн на місяць без жодного нового крісла. Зазвичай це найдешевше зростання, доступне сервісному бізнесу.
SQL: завантаженість із системи запису
WITH slots AS ( -- доступні години майстра на день, з графіків
SELECT staff_id, day, SUM(TIMESTAMP_DIFF(shift_end, shift_start, MINUTE)) / 60 AS available_h
FROM clean.staff_shifts GROUP BY 1, 2
),
booked AS (
SELECT staff_id, DATE(start_at) AS day,
SUM(TIMESTAMP_DIFF(end_at, start_at, MINUTE)) / 60 AS booked_h,
SUM(IF(status = 'no_show', 1, 0)) AS no_shows,
COUNT(*) AS bookings,
SUM(IF(status = 'completed', price, 0)) AS revenue
FROM clean.bookings
WHERE status IN ('completed', 'no_show') -- завчасне скасування звільняє слот
GROUP BY 1, 2
)
SELECT s.staff_id, DATE_TRUNC(s.day, MONTH) AS month,
SUM(s.available_h) AS available_h,
SUM(b.booked_h) AS booked_h,
SAFE_DIVIDE(SUM(b.booked_h), SUM(s.available_h)) AS utilisation,
SAFE_DIVIDE(SUM(b.no_shows), SUM(b.bookings)) AS no_show_rate,
SAFE_DIVIDE(SUM(b.revenue), SUM(s.available_h)) AS revenue_per_available_h
FROM slots s LEFT JOIN booked b USING (staff_id, day)
GROUP BY 1, 2;
Неявки рахуйте як заброньований час (слот втрачено), але не як виручку. Пізні скасування можна рахувати так само. Запишіть правило у визначеннях.
Частка повторних записів — метрика утримання для послуг
Для послуг із природним циклом (стрижки, курси процедур, прибирання) найсильніший ранній сигнал утримання — чи записується клієнт на наступний візит ще до виходу або протягом кількох днів:
Частка повторних записів = візити, після яких з'явився новий запис протягом N днів / завершені візити
N обирайте з циклу послуги, наприклад 7 днів для «записався на рецепції або одразу після». Відстежуйте за майстрами і послугами. Ця метрика рухається на тижні раніше за виручку і прямо реагує на скрипти адміністратора та нагадування.
Щотижневий перегляд для сервісного бізнесу
- Завантаженість за майстрами і днями тижня (де порожні години?)
- Частка неявок і ефект нагадувань
- Частка повторних записів за майстрами
- Нові клієнти за джерелами і частка других візитів (когорти)
- Виручка на доступну годину проти минулого місяця
Звідки брати дані
Більшість систем онлайн-запису мають API або регулярне вивантаження записів, графіків і оплат. Якщо API немає, щоденний експорт CSV у хмарну папку з автоматичним завантаженням у сховище — цілком робоче рішення для старту. Головне — щоб графіки майстрів теж потрапляли в дані: без доступних годин завантаженість не порахувати.
Як зменшити неявки: міряти кожну зміну
Неявки — одна з небагатьох проблем, які можна дешево тестувати. Змінюйте одну річ за раз і порівнюйте частку неявок за 3–4 тижні до і після, а краще — на випадково розділених клієнтах:
| Зміна | Що міряти |
|---|---|
| Нагадування за 24 год (месенджер чи SMS) | неявки серед тих, кому нагадали, і тих, кому ні |
| Прохання підтвердити («надішліть 1») | частка підтверджених і неявки серед непідтверджених |
| Передоплата для нових клієнтів чи довгих послуг | неявки і конверсія в запис (передоплата може зменшити записи) |
| Лист очікування на звільнені слоти | частка скасованих слотів, які вдалося заповнити |
Дивіться і на вплив на завантаженість, а не лише на неявки. Передоплата, що вдвічі зменшує неявки, але втрачає п'яту частину нових записів, може й не бути виграшем.
Часті запитання
Який рівень заповненості вважати добрим?
Залежить від формату: для деяких послуг потрібен запас на «гарячі» записи. Корисніше дивитися на динаміку і різницю між фахівцями та днями тижня.
Як рахувати вартість запису, якщо частина записів телефоном?
Зберігати джерело при створенні запису в CRM (адміністратор питає «звідки дізналися» або використовується колтрекінг) і рахувати записи за цим полем.
Чи потрібен GA4 сервісному бізнесу?
Так, для розуміння, які сторінки й канали дають заявки. Але гроші й візити — з CRM.
Чи підходить це для мережі з кількома філіями?
Так, метрики рахуються за філіями й фахівцями, а власник бачить і загальну картину, і порівняння точок.


