← Все работы NINJA VPN ←05 / 07→EN

Пишет
клиентам,
но ждёт
разрешения

VPN по подписке с оплатой и личным кабинетом. Вокруг него — помощники: одни пишут клиентам и ждут разрешения владельца, другой отвечает в поддержке и действует в аккаунте клиента, а сторожа следят за серверами, рекламой и оплатой хостинга.

10:00◾◾◾ ⌁
📋 Помощникждёт вашего решения
Написать тем, у кого подписка закончилась
Кому
692 человека
Из них платят сейчас
никто
Недавно писали
48 исключены
Предложение
скидка 30% на 3 дня
Отправить Другой текст
Завтра Отмена
Пока вы не нажали — не отправлено ничего. Через двое суток придёт отчёт: принесла ли рассылка деньги.

Так помощник спрашивает разрешение · цифры для примера

Кому

Мой VPN-сервис по подписке, три тысячи клиентов

Что сделано

Помощники: рассылки и личные сообщения ждут кнопки владельца, ИИ отвечает в поддержке и действует в аккаунте, сторожа следят за серверами

Результат

21 повод написать клиенту работает сам, поддержка отвечает за 2 секунды, пять сторожей чинят без человека

Три тысячи
человек,
до которых
не доходили руки

У сервиса накопилась база в три тысячи клиентов. Часть перестала платить, часть оплатила и так и не подключилась, часть привела друзей. Писали им редко и вручную, между делами.

Очевидное решение — включить автоматическую рассылку по расписанию. И это самый быстрый способ потерять базу: после третьего ненужного сообщения человек блокирует бота, и вернуть его уже нечем.

В чём сложность

Написать «рассылку по кнопке» легко. Сложно сделать так, чтобы ей можно было доверять.

01 · Повод12 сценариевподписка закончилась, оплатил и не подключился…
→
02 · Помощник готовитсегмент, текст, картинку
→
03 · Проверкиночь, лимит касаний, не платит ли уже
→
04 · Карточка владельцуотправить · другой текст · завтра · отмена
→
05 · Отчёт через 48 часовпринесла ли рассылка деньги
01

Четыре причины промолчать

Ночью помощник не пишет. Одному человеку — не чаще нескольких раз в месяц и никогда два дня подряд. А если люди стали чаще блокировать бота, он сам начинает писать реже. Любое из этих правил может остановить уже готовую рассылку.

02

Скидка — только тем, кто ушёл

В списке «давно не заходил» оказалось до 40% людей, которые прямо сейчас платят. Отправить им «вернитесь, вот скидка» — значит подарить скидку тем, кто и так платит полную цену. Перед отправкой помощник проверяет список и такие рассылки не пропускает.

03

Последнее слово — человека

Помощник готовит всё сам — текст, картинку, список получателей — и останавливается. Владелец видит карточку и решает: отправить, переписать, отложить или отменить. Пока владелец не нажал кнопку, никому ничего не уходит.

Девять личных
поводов
написать

Массовые рассылки идут через карточку владельца. А есть сообщения, которые касаются одного человека и зависят от его календаря: первая подписка заканчивается, пробник прошёл, друг ещё не приглашён. Их готовит отдельная служба удержания — каждому один раз и только с 10 до 21 по Москве.

Ответы на анкеты собираются в таблицу, а по понедельникам владельцу приходит сводка: кто продлил, кто ушёл и почему, сколько скидок забрали.

Ninja VPNтретий день после конца подписки
Ваша подписка закончилась пару дней назад.
Подскажите одним нажатием, почему не продлили? Это правда поможет нам стать лучше.
💸 Дорого🛠 Плохо работал🙅 Больше не нужен🔀 Другой VPN⏰ Вылетело из головы

Анкета ухода · одно нажатие вместо вопроса

Пробник · два часа
Так и не подключилсяподсказка с инструкцией; подключался ли — видно по панели, а не по счётчику бота
Пробник · конец
Понравилось — скидка 30% на двое сутокполовина людей скидку не получает: это контрольная группа, о ней ниже
Пробник · три дня спустя
Не купил — анкета «что помешало»дорого, медленно, другой VPN, не хватило времени, просто смотрел
Оплата · три дня спустя
Просьба привязать почтузапасной вход в кабинет, если Telegram перестанет открываться
За четыре дня до продления
Первое продление: как вам?напоминает про автопродление и считает, сколько сэкономит год
За неделю до продления
Осталась неделятем, кто платит сразу за 90 дней и больше
День после продления
Позвать другаготовый текст и кнопка «Отправить другу»; не чаще раза в 90 дней
Перед продлением
Подсказка о тарифеесли тариф с докупленными устройствами дороже следующего тарифа
Третий день после конца
Анкета уходамежду волнами скидок бота; не чаще раза в 60 дней

Проверяем,
а не спорим

Любое изменение цен или скидок — это проверка с правилами, записанными до старта: цель, главная цифра, дата и правило решения. Пока проверка идёт, варианты не меняются, а промежуточные цифры в сводке по понедельникам — только для контроля.

01 · итог 16 ноября

Тарифы 1 / 3 / 5 вместо 1 / 2 / 3 / 5

Лестница цен была кривой: «1 устройство» с докупкой стоило 339 ₽, а «2 устройства» — 349 ₽. Тариф на два устройства скрыт для новых клиентов, «3 устройства» подсвечен. Главная цифра — средний чек первой покупки в пересчёте на месяц, было 283 ₽. Предохранитель: если доля оплативших новых упадёт ниже 18%, тариф возвращается одним скриптом.

02 · итог 15 января

Скидка после пробника: половина без неё

Скидка 30% после пробника поднимает оплаты, но каждый платит меньше. Чтобы узнать, окупается ли она, половина людей скидку не получает — деление по номеру клиента и не меняется. Считаем выручку на человека за 14 дней: со скидкой должны платить хотя бы 36% против 25% без неё.

03 · реклама

Объявления в Telegram на автопилоте

Бюджет 5 000 звёзд. Сторож раз в три часа читает статистику: объявление без запусков бота после 3 000 показов или дороже 40 звёзд за запуск останавливается, дешёвому победителю докладывается бюджет, при недоборе показов ставка поднимается лесенкой на 20%. Вечером владельцу приходит отчёт.

Реклама · сторож21:00
📣 Реклама 19.10
Сегодня: 525 ⭐ · показов 8 400 · кликов 96 · запусков бота 5
С начала: 1 310 ⭐ · показов 21 700 · кликов 260 · запусков бота 14
Оплатили новые без метки: 9 (в обычные дни было бы ≈6)
⏸ AI1 остановлено: 3 000 показов и ни одного запуска бота
▶️ VPNALL2 прошло модерацию и показывается

Так сторож отчитывается · цифры для примера

Вторая часть

Поддержка,
которая отвечает
сама

Клиенты VPN пишут в любое время: не подключается, не нашёл ссылку, как настроить на телевизоре. Большинство вопросов повторяется. Я установил ИИ-помощника: он отвечает в Telegram и в чате на сайте, а когда нужен человек, передаёт вопрос оператору.

01 Учился на настоящих диалогах Инструкция помощника написана по 263 живым диалогам из Telegram-поддержки и 43 диалогам с сайта, а потом дописывалась после каждого разбора: «не повторять шаги», «оплата без лишних вопросов». Это больше 6 000 слов: тон речи, диагностика по шагам, правила передачи оператору и запреты.
02 Делает сам Помощник находит аккаунт по почте или нику, показывает подписку и устройства, присылает ссылку, удаляет и переименовывает устройства, добавляет место под новое устройство — на 48 часов или насовсем с согласия клиента, выключает автопродление и один раз в 30 дней продлевает на два дня. У каждого действия свои ограничения.
03 Знает, когда звать человека Оплата, возврат, жалоба, «ответа нет в инструкции» — вопрос уходит оператору вместе со сводкой: кто клиент, что уже пробовали. Спрашивает только то, что нужно для этого вопроса. Ночью честно говорит, что оператор ответит утром.
21:14◾◾◾ ⌁
N Поддержка NINJA VPNпомощник · отвечает сразу
Не подключается, пишет что слишком много устройств
Смотрю подписку Подключено 3 из 3:
1 · iPhone 15 сегодня 2 · Redmi Note 3 недели назад 3 · Windows вчера
Какое больше не нужно?
Второе, старый телефон
⚙ действие: удалить устройство №2
Готово, место освободил. Подключайтесь заново — ссылка ниже.
Ссылка подписки
Сообщение… ↑

Диалог для примера · перед удалением помощник уточняет, какое именно устройство

Разбор 65 диалогов за две недели октября

35 обращений из 58 — путаница, а не поломка. «Не работает» почти всегда значило «в приложении не та ссылка». Ответ — страница подключения по шагам вместо списка ссылок: открывается даже на старых iPhone, а на телевизор подписка передаётся кодом.

01УстройствоiPhone, Android, Windows, Mac, телевизор
→
02Приложениессылка в магазин под выбранное устройство
→
03Подпискаодна кнопка «Добавить», без копирования ссылки
→
04Готововыбрать «Автовыбор» и подключиться

Страница подписки по шагам · сначала показывалась по отдельной ссылке, потом стала основной

ПодробностиЕщё три раздела: как выбрана модель и что ей запрещено, как поддержка учится, обновление четырёх системРаскрыть ↓Свернуть ↑

Модель выбрана
по цифрам

Перед запуском я прогнал одну и ту же инструкцию через несколько моделей на 60 настоящих обращениях клиентов: Claude Haiku и Sonnet, DeepSeek Chat, Flash и V4 Pro.

Выбрал DeepSeek Flash: отвечает за полторы-две секунды, не нарушает правила и обходится примерно в полтора доллара в месяц. Claude Sonnet не допустил ни одной ошибки, но стоит около четырнадцати. Более дорогая модель DeepSeek оказалась не лучше дешёвой: в одном случае выдумала правило, которого нет.

Что помощнику запрещено

01 Выдумывать Факты, сроки, цены, скидки, акции и промокоды. Не уверен — передаёт оператору.
02 Обещать деньги Возврат, компенсацию и бесплатные дни обещает только человек.
03 Принимать оплату мимо кабинета Никаких переводов на карту и по номеру телефона: платить можно только в личном кабинете.
04 Выдавать себя за человека Если спросят, бот это или человек, он отвечает честно: «я ИИ-помощник, а не живой оператор». А оператора зовёт, если клиент настойчиво просит.

Работает
и учится
дальше

Поддержка, которую запустили и забыли, быстро устаревает: меняются приложения, тарифы и типичные поломки. Поэтому у помощника есть цикл улучшения.

01 Журнал всех диалогов Переписка клиента, ответы помощника и вставки оператора сохраняются целиком — для разбора и обучения.
02 Оператор правит прямо в чате Заметил неточный ответ — пишет правку командой, и она попадает в очередь на проверку, а потом в инструкцию.
03 Помощник знает о сбое Оператор записывает строку о текущей поломке на срок, и ответы учитывают её, пока она актуальна.
04 Сводка по понедельникам В десять утра в группу поддержки приходят цифры недели: сколько диалогов, сколько помощник закрыл сам, сколько передал людям.
05 Догоняет через час Если клиент замолчал после помощи, через час помощник спрашивает «получилось?» и один раз советует привязать второй способ входа: почту, VK, Яндекс или Google. Только днём и только если оператора не звали.
06 Не теряет терпения Если оператор взял диалог и молчит пять минут, помощник один раз говорит клиенту «подождите, оператор ответит». Больше 30 сообщений за 10 минут — пауза на полчаса: живые люди столько не пишут.
07 Временное возвращается само Место под новое устройство на 48 часов снимается само; место, добавленное насовсем, но не занятое двое суток, тоже возвращается к тарифу. Отключается то устройство, которым давно не пользовались, а не самое свежее.

Четыре системы
за одну ночь

В октябре панель, бот, кабинет и страница подписки обновились на новые крупные версии. Три тысячи подписок нужно было связать с новой панелью так, чтобы ни у кого не отвалился VPN. Обновление сначала прошло на репетиции, а потом ночью — по сценарию из тринадцати фаз.

01 · За две неделиРепетиция на стенденашлись 2 конфликта аккаунтов из 3 028 подписок — решены до ночи
→
02 · Перед окномКопии и откатные образыбазы, настройки, картинки; старые версии остаются под рукой
→
03 · Ночь, 15–25 минутТринадцать фаз по скриптупроверки → снимок → стоп → панель → бот → кабинет → аудит
→
04 · До 04:30Решение: оставить или откатитьоткат всех четырёх вместе — около 10 минут

Что появилось у клиентов

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

01 Два дня запаса Подписка закончилась — VPN не отключается сразу: ещё двое суток и до 10 ГБ трафика, а вверху списка серверов — плашка «продлите». Для пробного периода не действует.
02 Новые серверы и оплата Финляндия и Эстония в списке и в «Автовыборе», оплата криптовалютой, кнопка «Кабинет» прямо в меню бота.
03 Реферальная программа, которая растёт 10% с пополнений друга всегда, от пяти друзей — 15%, от пятнадцати — 20%. Лидерам программы бот написал лично, а на ноябрь назначен конкурс приглашений.
04 Старые приложения не отвалились Новое ядро серверов по умолчанию отсекает старые клиенты. Настройка проверена на трёх версиях ядра и стороннем клиенте до того, как обновился первый сервер.

Сторожа,
которые пишут
только по делу

Восемь серверов в шести странах, панель, бот, кабинет, рассылки, оплата хостинга. Всё это должно работать ночью и в выходные, когда никто не смотрит. Поэтому за каждым куском следит своя маленькая программа, а молчание для неё — норма: сообщение приходит, только когда что-то не так, и ещё одно — когда снова в порядке.

Сторож серверов03:12
⚠️ Сервер «Литва» не отвечает 3 мин — убрал его из подписки. Верну сам, когда заработает.
03:21 · ✅ Сервер «Литва» снова работает — вернул его в подписку.
Оплата серверов09:00
Германия — продление через 3 дня, баланса хватит на два месяца.
Литва — через 5 дней, пополнить на 1 200 ₽.
Трафик «США» — 81% месячной нормы.

Сообщения для примера

01 Сторож серверов Раз в минуту подключается к каждому серверу так же, как приложение клиента. Три минуты тишины — сервер убирается из подписки и из «Автовыбора», пять минут ответов — возвращается. Если упало сразу больше двух, не выключает ничего, а зовёт человека: скорее всего, дело в сети самого сторожа.
02 Сторож обхода белых списков Раз в минуту проверяет серверы, через которые идёт обходной маршрут, тем же запросом, что и сам маршрут. Мёртвый сервер выключает, иначе каждое подключение ждало бы его по пять секунд; живой включает обратно. Чужие ручные настройки не трогает.
03 Сторож оплаты хостинга Раз в день обходит кабинеты пяти хостингов и считает, хватит ли баланса на продления в ближайшие 35 дней. Напоминает за неделю, за три дня, за день и в день срока, следит за трафиком и показывает всё на странице с кнопкой «Я оплатил».
04 Сторож для сторожей Раз в час проверяет, что остальные отработали: журналы, таймеры, девять служб, место на диске, настройки, которые не должны слететь при обновлении, и разовые дела по датам — итог проверки тарифов, финал конкурса. Ни от кого не зависит, поэтому сообщит, если сломались они.
05 Проверка на следы взлома Один скрипт на каждый сервер: ключи и пользователи, задания по расписанию, порты, процессы, файлы, изменённые с последнего раза. Норма записана рядом, отличия видны сразу.

Что получилось

Работа с клиентами и серверами перестала зависеть от того, дошли ли руки. Рассылки и личные сообщения готовятся сами и уходят только с ведома владельца, поддержка отвечает за секунды, а сторожа чинят то, что можно починить без человека, и зовут его, когда нельзя.

21 повод написать клиенту работает сам: двенадцать массовых сценариев и девять личных сообщений, массовые уходят только после нажатия владельца
9 действий с аккаунтом клиента помощник выполняет сам: от поиска аккаунта до продления на два дня
5 сторожей следят за серверами, обходом, оплатой хостинга, рекламой и друг за другом
3 проверки идут по правилам, записанным до старта: тарифы, скидка после пробника, реклама
2 с занимает ответ на вопрос клиента, в Telegram и в чате на сайте
60 настоящих обращений понадобилось, чтобы выбрать модель по качеству и цене

Чем сделано: Python, React, PostgreSQL, Docker, Nginx, n8n, systemd, Telegram Ads API, языковые модели.
Бот, личный кабинет, оплата, чат на сайте, помощник по рассылкам, служба удержания, ИИ-поддержка и сторожа · сервис работает каждый день · моя роль: инфраструктура, кабинет, автоматизация, внедрение ИИ-поддержки, проверки гипотез.

Написать в Telegram → ← Все работы Следующий проект · 06 / 07Дневник самоанализа →
Написать