Клиенты · Менеджер продлений
Ловит продление под риском — с доказательствами — пока вы его не потеряли.
Каждый день Менеджер продлений проходит по всем вашим платящим клиентам, собирает сигналы по биллингу, CRM и поддержке в одну доказательную подборку и решает, расширяется ли аккаунт, стабилен, под риском или вероятен отток — со ссылками на конкретные счета, стадии сделок и переписки, которые повлияли на вердикт. Если вердикт «под риском», он составляет письмо для удержания, опирающееся на те же доказательства, и кладёт его в вашу очередь. Каждую отправку одобряете вы.
От ежедневного сканирования до готового письма-удержания в вашей очереди
Ежедневное сканирование
06:00 UTC — проходит по каждому платящему клиенту.
Сбор доказательств
Stripe, CRM, поддержка → одна подборка.
Классификация и запись
Вердикт из 4 вариантов, с источниками, в дневник.
Черновик и ваше одобрение
Письмо-удержание или допродажа ждёт в вашей очереди.
Тот же цикл выполняется для каждого отслеживаемого клиента каждое утро — и для ежемесячного автопродления, и для годовых контрактов. Отток случается во вторник; помощник смотрит именно в этот вторник, а не через 60 дней, когда удержание уже превратилось в скидку.
Уже используете Монитор клиентских аккаунтов? Менеджер продлений читает его дневник аккаунта как ещё один сигнал — две роли хорошо сочетаются, но каждая работает и сама по себе.
Договорённость
Что он делает сам, что согласовывает с вами, чего не касается.
Делает сам
- Сканирует каждого отслеживаемого клиента раз в день — и ежемесячное автопродление, и годовые контракты.
- Собирает доказательную подборку по каждому клиенту из подключённых вами источников — биллинг Stripe, стадии сделок в CRM, сигналы поддержки и использования.
- Классифицирует каждого клиента как расширение / стандартный / под риском / вероятный отток с указанием конкретных ID источников, повлиявших на вердикт.
- Добавляет один неизменяемый абзац по каждому клиенту за каждый запуск в дневник аккаунта — никогда не перезаписывается и не удаляется.
- Составляет письмо для удержания (под риском) или допродажи (расширение), опираясь на те же подтверждённые доказательства.
Сначала согласует с вами
- Каждое составленное письмо для удержания или допродажи попадает в очередь на ваше одобрение — оно никогда не отправляется автоматически. Одобрение по умолчанию выключено.
- Когда доказательств мало или они неоднозначны, он воздерживается: классифицирует аккаунт как стандартный, объясняет почему и направляет его вам, а не выдумывает историю про отток.
- Если в составленном письме указано число, которое не удаётся подтвердить по доказательствам, письмо отбрасывается, а строка помечается для вас.
- Когда наиболее ответственная проверка противоречит сама себе, строка выводится на решение человека вместо автоматического разрешения.
Не касается
- Отправки письма для удержания или допродажи клиенту самостоятельно — решение об отправке всегда за вами.
- Изменения правил окна продления — он работает по заданному вами графику, а не меняет его.
- Выдумывания переписки в Slack, счёта или сделки, которых не видел — каждое утверждение должно вести к реальному ID источника, иначе строка понижается.
- Решения «удерживать или отпустить в отток» — он составляет сценарий; дать скидку, эскалировать или отступить — решение человека.
- Автоматизации возврата клиентов на странице отмены — это другая поверхность, и эта роль такого не делает.
Полная матрица возможностей из реестра ролей
УВЕРЕННО
- Daily 06:00 UTC scan of every paying customer 14-90 days from renewal. APScheduler IntervalTrigger(hours=24) advisory-locked at the system level (ADR-0019 pattern). Per-tenant fan-out queries monitored_customers WHERE days_to_renewal BETWEEN 14 AND 90 AND (last_run_at IS NULL OR last_run_at < NOW() - INTERVAL '23 hours'). The 23-hour skew is idempotency slack — yesterday at 06:00:00 vs today at 06:00:01 doesn't skip a customer.
- Source-anchored evidence with post-parse validation. Every claim in the diary entry, classification, and drafted email MUST cite a source_id that exists in the customer's input bundle. Unknown source_id → row rejected, classification forced to 'standard', severity 'LOW', abstain_reason 'source_validation_failed'. Anti-fabrication at the SCHEMA layer (ADR-0029 §3), not the prompt layer.
- Longitudinal account diary appended every run, append-only. customer_diary_entries is never updated, never deleted. After 6 months a tenant has 180 paragraphs of per-customer narrative that a Vitally rip-and-replace cannot backfill. The diary IS the time-based moat.
- Tier 3 cross-family supervisor on accounts >= $50K ARR. Worker (Sonnet 4.6) drafts; GPT-5 reads the 10-row batch output as a WHOLE and flags rows for revision; Gemini 2.5 tiebreaker fires on per-row classification disagreement. CLAUDE.md principle #3 made operational as a deterministic routing function, not a per-task judgment call (ADR-0029 §1).
- Batched 10-customer LLM calls grouped by route assignment. TIER1 / TIER2 / TIER3 customers chunked into route-homogeneous batches of 10. Supervisor reviews the 10-row batch as a whole to catch systematic drift (the worker drifted into doom-mode across 10 rows is detectable from batch shape; per-customer review can't see the pattern). Batch-of-50 fails empirically on Sonnet (attention contamination + 25K-output-token truncation); batch-of-10 is the council-verified sweet spot.
- Per-account drafted save / upsell email with anchor citations. drafted_email.anchors[] MUST be a subset of evidence[].source_id; a drafted email that cites a non-existent Slack thread becomes null and recommended_action drops to 'internal_alert'. Default auto_send=false — every draft sits in /app/renewal_hunter/inbox until the operator clicks Send.
- Weekly Monday digest of $ ARR in motion at 12:00 UTC. Separate scheduler job (12:00 UTC = 07:00 EST — the slot a human reads) summarising HIGH-severity accounts, total $ ARR at risk, top movers since last Monday, and the diary excerpts that justify each verdict. Source-anchored — no metric without its underlying source_id chain.
- Investigation depth — explicit signal citations, no opaque score. Output cites specific signals (stripe_invoice_4_late_in_q1, slack_thread_complaint_2025_12_03, hubspot_deal_stale_92_days) instead of emitting a single health-score float. Buyers in mid-market post-sale orgs have been burned by opaque scores; the citation is the unlock.
- Open factor-weight math, tenant-tunable in /app/renewal_hunter/settings. Four weights (payment_history / usage_trend / champion_status / support_sentiment) sum to 1.0, surface in the per-account drill-down UI, and write back to tenant_renewal_hunter_settings on POST. The model never hides the math — every classification shows which factor weight pushed it across the threshold.
- Internal LLM routing — 70/25/5 mix protects $79 Starter unit economics. route_customer() (ADR-0029 §1) selects Haiku / Sonnet / Sonnet+GPT-5+Gemini per customer per run deterministically from features computed BEFORE the LLM call. Distribution monitored via PostHog; drift outside 60-80 / 15-35 / 2-10 fires an alert. The TIER1 tail (~68% on Haiku 4.5) is the load-bearing cost-control primitive behind the 77% target gross margin on Starter.
С УЧАСТИЕМ ЧЕЛОВЕКА
- Auto-send save / upsell emails (off by default, off-able per topic). Default auto_send=false — every drafted_email sits in the inbox until the operator clicks Send. Operator can flip auto_send on per route (e.g. low-severity expansion drafts on Growth tier and below) once they've reviewed ~30 drafts and trust the worker's tone. Enterprise + likely_churn always require operator approval regardless of auto_send setting.
- Severity transitions LOW → HIGH route every account through Tier 3. Any customer crossing into HIGH severity on this run gets the cross-family supervisor pass on its next batch — material score-move into the danger band is the second-most-expensive mistake-mode after enterprise account misclassification. Operator alerted in /app/renewal_hunter/inbox with the new + old diary entries side-by-side.
- Three-way supervisor disagreement on Tier 3 — operator review. When worker / supervisor / tiebreaker classifications all differ, the row flags for human review in /app instead of auto-resolving. Today: pick the worker's classification, log all three verdicts in the audit_log, surface the conflict in the per-account detail page. The deeper question — is a three-way disagreement evidence of an ambiguous account or a worker regression — needs >= 50 instances to answer.
- Source-validation failure rate > 5% triggers same-day operator review. Langfuse + PostHog wired: when the rolling-24h source_validation_failed rate exceeds 5%, a banner fires in /app/renewal_hunter/inbox and the founder is paged. Either the worker is regressing on schema discipline (prompt fix) or the bundle builder is dropping source_ids (code fix); either way the same-day investigation is on the operator.
ОТКАЗ
- Auto-send a save email to the customer without operator approval. Default auto_send=false; even with auto_send enabled, Enterprise (>=$50K ARR) and likely_churn classifications hard-gate on operator approval regardless of supervisor verdict. The decision to ship an in-flight save email to a $200K account is the operator's, not the worker's.
- Cancel-page widget or in-product save-offer surface. ChurnKey owns the cancel-page surface — when a customer clicks Cancel, ChurnKey shows the save offer in-product. We don't compete on the cancel page; we own the 90 days BEFORE it. Different product surface, different integration cost, different buyer. No plans to ship a cancel-page widget.
- Post-cancel win-back automation. Phase 3 territory (post-PMF). The bundle builder / router / diary primitives generalise, but the buyer for post-cancel win-back is a marketing-ops persona — different ICP than the CSM persona who buys Renewal Hunter. Deferred until a paying Renewal Hunter customer asks for the cross-sell.
- Mass-market B2C subscription save (Spotify / Netflix / consumer SaaS). Different product. B2C subscription save lives in 'why did this individual user pause' territory — a different signal set (usage frequency in app, payment-method failure, content consumption drop), a different output (in-product nudge, not a save email to the champion), a different price point ($0.10 per saved sub, not $79-$1,199 per month per tenant). We do B2B SaaS renewals where the deal has a champion.
- Champion job-change detection via PDL or LinkedIn (V0). Deferred to V1, behind the ADR-0026 data-provider gateway, after the first paying customer's vertical confirms the champion-quit signal is worth the PDL spend. V0 reads champion_status from HubSpot contact_lifecycle + Slack channel activity; PDL champion-quit is the canonical high-signal event but it's vertical-dependent and we don't light up speculative spend.
- Cohort-level analysis ('all SMB customers with NRR < 90%'). V0 ships per-account analysis only. Cohort queries land in V1 once a customer demonstrates the workflow that needs it. Vitally and Gainsight ship cohort dashboards; we don't compete on dashboard surface — we compete on per-account investigation depth. Per-account FIRST, cohort patterns SECOND.
Что вы получаете
Вот как выглядит один вердикт «под риском».
Не один непрозрачный балл здоровья — классификация несёт точные доказательства за собой, а составленное письмо-удержание ссылается только на то, что эти доказательства показывают. Ничто не дойдёт до клиента, пока вы не нажмёте.
Клиент · Northwind Labs
Под рискомARR
$42 000 / год
Продление
Годовое · через 38 дней
Доказательства, на которые ссылается вердикт
-
stripe:in_1Q4lateДва счёта оплачены с задержкой 11+ дней в этом квартале — оба после повторной попытки списания. -
hubspot:deal:88204Сделка по продлению зависла на 41 день на стадии «Договор отправлен» — без движения по контактам. -
slack:1714…threadОбщий канал: чемпион спросил про варианты экспорта, а затем замолчал на 3 недели.
Те же доказательства записаны в дневник Northwind Labs одним абзацем. При следующем запуске это контекст предыдущего запуска, на который опирается помощник.
Очередь на одобрение · составленное письмо-удержание
Ожидает вашего одобренияТема
Продление Northwind — быстрая сверка до даты контракта
Здравствуйте — ваше продление наступает примерно через пять недель, и я хотел связаться заранее, а не в дату контракта. Я заметил, что пара последних счетов прошла с небольшой задержкой, а вопрос об экспорте из вашего канала так и не получил чёткого ответа — хотел бы решить и то, и другое до продления. Сможем найти 20 минут на этой неделе? Я пройдусь по вариантам экспорта и удостоверюсь, что биллинг настроен так, как нужно вашей команде.
Каждая деталь в этом черновике ведёт к подтверждённому источнику. Число, которое не удалось подтвердить по доказательствам, привело бы к отбрасыванию черновика и пометке строки.
Цены
Цена зависит от числа отслеживаемых клиентов.
Одно качество анализа на каждом уровне — шаг цены определяется числом клиентов, за которыми вы следите, а не лучшей моделью. 14-дневный пробный период, без карты. Отмена помесячно.
Что заменяет
Нанимать ради этого человека — это полная зарплата, налоги и месяцы на разгон, и всё ради одной функции. Ataski выдаёт результат с первого дня по фиксированной, предсказуемой месячной цене.
Качество корпоративного уровня за долю стоимости найма. Масштабируйте или ставьте на паузу когда угодно — платите только за месяцы, когда пользуетесь.
Team
$299 ≈ ₽27,508 / месяц
100 отслеживаемых клиентов
≈ $2.99 за клиента под наблюдением
- 100 клиентов в ежедневном сканировании
- Дневник по каждому клиенту, только дополнение
- Классификации со ссылками на источники
- Составленные письма для удержания / допродажи в вашей очереди
B2B SaaS на стадии seed, впервые ставящий ежедневное наблюдение за продлениями на всю свою клиентскую базу.
Выбрать TeamScale
$799 ≈ ₽73,508 / месяц
500 отслеживаемых клиентов
≈ $1.60 за клиента под наблюдением
- 500 клиентов в ежедневном сканировании
- Всё из Team
- Сигналы CRM из HubSpot + Salesforce
- Продвинутые сценарии удержания
Series A — где один удержанный средний аккаунт окупает год.
Выбрать ScaleBusiness
$2,499 ≈ ₽229,908 / месяц
2 000 отслеживаемых клиентов
≈ $1.25 за клиента под наблюдением
- 2 000 клиентов в ежедневном сканировании
- Всё из Scale
- Запись обратно в CRM + разграничение по нескольким командам
- SSO, экспорт журнала аудита, DPA
Средний бизнес с командой клиентского успеха и процессом закупок.
Выбрать BusinessEnterprise · Индивидуально
Крупные команды клиентского успеха, которым нужны SLA, SAML, мультисущностность и региональное хранение данных.
- · Неограниченное число отслеживаемых клиентов
- · Всё из Business
- · SAML, мультисущностность, хранение данных в регионе
- · Свои ключи LLM, выделенная поддержка успеха
Число клиентов — это метрика ценности, а не жёсткая стена: настоящий предохранитель расходов — это дневной лимит затрат на клиента, поэтому насыщенная неделя никогда не приведёт к неожиданному счёту. Годовая предоплата идёт со скидкой; спросите при оформлении.
Настройка
Около пятнадцати минут от входа до первого сканирования.
-
01
Войдите и активируйте. Список отслеживаемых клиентов и дневник аккаунта создаются в вашем рабочем пространстве автоматически.
-
02
Подключите Stripe — обязательно. Вставьте ограниченный API-ключ только для чтения. Он наполняет список клиентов и является единственным источником, без которого роль не может работать.
-
03
Подключите CRM и поддержку — рекомендуется. HubSpot или Salesforce, плюс Slack или инструмент поддержки. Больше источников — больше доказательств; роль работает и на одном Stripe.
-
04
Следите за очередью. Первое ежедневное сканирование запускается на ближайшей отметке 06:00 UTC; составленные письма для удержания и допродажи начнут поступать.
Страница настройки: /app/renewal_hunter/setup. После подключения роль работает по адресу /app/renewal_hunter/.
Под капотом
Как работают маршрутизация и защитные механизмы.
- Маршрутизация держит цену честной
- Спокойные аккаунты идут к быстрой недорогой модели; аккаунты с движением — к более сильной модели рассуждений; самые ответственные — к полной кросс-вендорной проверке
- Кросс-вендорная проверка
- Первый черновик, второй независимый ИИ от другого вендора, который его читает, и третий — чтобы разрешить настоящую ничью
- Привязка к источникам
- Каждое утверждение должно ссылаться на ID источника в доказательной подборке — если такого источника в подборке нет, вердикт возвращается к «стандартному»; неподтверждаемое число отбрасывает письмо
- Предохранитель расходов
- Дневной лимит затрат на клиента — это жёсткий предохранитель: насыщенная неделя не приведёт к неожиданному счёту
- Приватность
- Каждое рабочее пространство изолировано построчной безопасностью; журнал аудита только для дополнения фиксирует каждый вызов модели, внешнее чтение и классификацию
- Еженедельная сводка
- Продления в работе можно отправлять по email назначенному вами владельцу, а также в Slack, когда вы его подключите
Поставьте ежедневное наблюдение на каждое продление.
Войдите, подключите Stripe, и первое сканирование запустится на ближайшей отметке 06:00 UTC. Составленные письма-удержания начнут поступать в вашу очередь — каждую отправку одобряете вы. Без карты на 14-дневный пробный период; после него — $299/мес уровень Team или выше.