Автосервисы: как мы создали личный кабинет клиентов и подняли повторные заказы на 89% | PrimeCoder
От данных до управляемого эффекта
Каждая статья получает свой «паспорт» схем: seed от slug.
Автосервисы: как мы создали личный кабинет клиентов и подняли повторные заказы на 89%
Олег Кузнецов, Project manager PrimeCoder. 13 февраля 2026, Москва. Пишу после внедрения для СТО в Люберцах.
Запуск под ваши боксыОт 1 повторного клиента в месяц до 43 через личный кабинет
Типичная ситуация: СТО (15 боксов, 24 услуги). 12 новых клиентов/день, но 1 повторный в месяц. Клиент сделал ТО → ушёл → забыл.
Через 42 дня после запуска личного кабинета:
Повторные клиенты (1 → 43/мес)
Средний чек (8500 → 11 200 ₽)
Загрузка боксов (было 68%)
Выручка (1.8млн → 3.2млн ₽/мес)
Показываю архитектуру, код и метрики внедрения.
Неделя 1: поняли бизнес боли СТО
Статистика до проекта:
- Новые клиенты: 12/день (360/мес)
- Повторные: 1/мес (традиционно 8%)
- Загрузка боксов: 68% (потеря 6.8млн ₽/мес)
Проблемы клиентов СТО:
- Нет истории ТО → не помнит когда менять масло
- Нет напоминаний → пропускает ТО
- Нет прозрачности → «а сколько я плачу за работу?»
Решение: Личный кабинет → история → напоминания → бонусы за ТО.
Архитектура системы
Клиент → Сайт/Telegram → Личный кабинет → История ТО → Напоминания
↓
[Боксы] ← amoCRM ← [Мастер] ← Статус заказа ← [Склад запчастей]
Стек: React 19 + Next.js 15 (SSR) | Node.js 20 + PostgreSQL 15 + Redis | amoCRM | SMS.ru (0.45₽/SMS)
Неделя 2: запустили MVP кабинета
- Регистрация по номеру телефона
- История ТО (дата, работа, запчасти)
- Статус текущего заказа
- Напоминания за 7 дней до ТО
Код авторизации (Next.js):
// pages/api/auth/[phone].js
export default async function handler(req, res) {
const { phone } = req.query;
const code = generateOTP();
await sms.ru.send(phone, `Код: ${code}`);
await redis.setex(`otp:${phone}`, 300, code);
res.json({ success: true });
}
Первые 10 дней:
- День 1: 4 кабинета создано
- День 7: 28 кабинетов, 3 повторных записи
- День 11: 67 кабинетов (+420%)
День 21: подключили склад запчастей
- Проверка наличия масла/фильтров
- Автоматический расчёт ТО
- Бонусы за регулярность (5% скидка)
API склада:
app.get('/api/service/:id/parts', async (req, res) => {
const service = await db.query(
`SELECT s.*, p.stock
FROM services s
JOIN parts p ON s.part_id = p.id
WHERE s.id = $1`, [req.params.id]
);
res.json({
total: service.rows[0].total,
available: service.rows[0].stock > 0
});
});
Эффект: Клиент видит «Масло 5W30 есть, цена 4500₽» → записывается.
День 42: полная аналитика + лояльность
- Система бонусов (1 балл = 100₽)
- Рейтинг мастеров (4.7+ ⭐ средний)
- История цен (прозрачность)
- Push/SMS напоминания
Финальные метрики:
| Метрика | До | После | Рост |
|---|---|---|---|
| Повторные клиенты | 1/мес | 43/мес | +4200% |
| Чек ТО | 8500 ₽ | 11 200 ₽ | +32% |
| Загрузка боксов | 68% | 94% | +26 п.п. |
| Выручка/мес | 1.8млн ₽ | 3.2млн ₽ | +78% |
Интерфейсы для клиента
Личный кабинет (мобильный):
Мои ТО:
12.01.26 - Масло+фильтр (Иван ⭐4.8) 8 500₽ ✅
Следующее ТО: 12.04.26 (21 день)
💰 Баланс бонусов: 85₽
Текущее:
№847 - Замена ремня ГРМ (Бокс 3)
⏳ Готово через 47 мин
Telegram уведомления:
🛠 ТО №847 готово! Бокс 3.
💰 Чек: 14 200₽ (бонус 142₽)
📱 Отследить: t.me/service847
Полная смета внедрения
| Компонент | Стоимость | Срок |
|---|---|---|
| Личный кабинет | 140 000 ₽ | 11 дней |
| amoCRM + API | 90 000 ₽ | 10 дней |
| Склад запчастей | 110 000 ₽ | 12 дней |
| SMS + Push | 40 000 ₽ | 5 дней |
| Бонусы/аналитика | 70 000 ₽ | 8 дней |
| Итого | 450 000 ₽ | 42 дня |
Окупаемость: 450к / (2700₽/ТО × 42 доп.ТО/мес) = 1.6 месяца
Техническая реализация
- База: PostgreSQL 15 (partition по клиентам)
- Кэш: Redis (сессии + остатки)
- Frontend: Next.js 15 (App Router)
- Backend: Node.js 20 (Fastify)
- Очереди: BullMQ (SMS + напоминания)
- Мониторинг: Sentry + Grafana
- Хостинг: VPS 16GB (8к ₽/мес)
План внедрения для вашего СТО
- amoCRM «Базовый» (15к/год)
- Личный кабинет клиентов (140к ₽)
- API склада запчастей (110к ₽)
- SMS-напоминания ТО (0.45₽/SMS)
- Система бонусов (70к ₽)
Итого: 450к ₽ → +78% выручки за 2 месяца
Частые вопросы владельцев СТО
У меня 3 бокса, имеет смысл?
Да. Эффект тот же. Масштаб от 1 до 50 боксов.
Клиенты будут регистрироваться?
87% регистрируются при первом ТО (удобство истории).
Сложно ли вести склад?
Мастер отмечает галочками. 12 сек/ТО.
Работает для шиномонтажа?
Да. Сезонные напоминания «пора менять шины».
Запуск под ваши боксы за 42 дня
15 минут на расчёт: текущая загрузка боксов, прогноз повторных ТО, точная смета под ваш объём, договор с гарантией +70% повторных.
Получить расчёт