Проблемы с маржой в программном продукте часто начинаются в устройстве поставки
Многие проблемы с маржой в софте возникают из-за настройки, кастомной поддержки и ручных проверок. Узнайте, где процесс поставки первым съедает прибыль.

Почему прибыль падает после продажи
Сделка может выглядеть прибыльной на бумаге и все равно начать приносить убытки уже через неделю. В смете видна только заметная работа. Настоящая стоимость появляется после продажи, когда команда начинает настраивать аккаунты, чистить старые данные, отвечать на нестандартные вопросы и ждать согласований.
Обычно проблема не начинается с одной большой ошибки. Она начинается с множества маленьких задач. Кто-то создает учетные записи, исправляет странную настройку, подключается к стартовому звонку, переписывает сообщение и вручную проверяет файл. Каждая задача выглядит безобидно. Вместе они могут полностью съесть маржу даже по небольшому контракту.
Поэтому низкая маржа в софте не всегда означает, что цена неверная. Иногда цена продукта нормальная, а вот процесс поставки расползается. Компания продает стандартное предложение, а внутри тихо поставляет вокруг него полуиндивидуальный сервис.
Простой пример хорошо показывает проблему. Небольшая SaaS-компания берет $1,000 за онбординг клиента. Отдел продаж ожидает два часа работы. А в реальности получается иначе: 45 минут на сбор недостающих данных, час на чистку таблицы клиента, 30 минут на настройку ролей и параметров, 40 минут переписки по мелким правкам и 25 минут на ожидание финального согласования и проверку. Сумма в счете не меняется, а трудозатраты растут.
Если в задаче участвуют руководитель поддержки, инженер и аккаунт-менеджер, расходы быстро растут. Со стороны это может выглядеть как проблема с ценой, потому что итог один и тот же: слабая прибыль. Но решение другое. Повышение цен не убирает скрытую настройку, лишнюю поддержку и ручные проверки. Оно только немного откладывает утечку.
Именно поэтому хороший разбор часто начинается с работы, которая идет после продажи, а не с спора о цене. Когда команды раскладывают все передачи задач по шагам, они обычно находят работу, которую никто не хотел включать, но все уже считают нормой.
Как разложить работу по шагам
Начинайте с момента, когда клиент говорит «да». Именно тогда и начинается цепочка затрат. Если стартовать с выставленного счета, вы пропустите работу до биллинга, между командами и после запуска.
Запишите каждую передачу задачи простыми словами. Отдел продаж закрывает сделку. Кто-то создает аккаунт. Кто-то проверяет права доступа. Кто-то импортирует данные. Кто-то отвечает на первое растерянное письмо. Кто-то разбирает особый запрос. Маржа обычно утекает через эти мелкие шаги, а не через одну драматичную статью расходов.
Простая карта часто дает больше, чем финансовый отчет. Для каждого нового клиента проследите путь от подписанной сделки до стабильного использования продукта. Пишите коротко и конкретно:
- Что произошло
- Кто это сделал
- Сколько времени заняло
- Что вызвало дополнительную работу
Потом измерьте реальную работу. Не угадывайте. В течение недели-двух отслеживайте настройку, проверки, исправления, переделки и последующие шаги. Десять минут здесь и пятнадцать там могут превратить здоровую модель в слабую, особенно если к делу постоянно подключаются старшие специалисты.
Переключения между задачами важнее, чем думает большинство команд. Специалист поддержки, который отвлекся на один кастомный вопрос, потом может потратить еще десять минут только на то, чтобы снова войти в исходную задачу. Инженер, который остановился ради согласования импорта данных, нередко тратит больше времени на возвращение к контексту, чем на само согласование. Смена контекста — это тоже труд, даже если его никто не записывает.
Именно здесь часто и проявляется настоящая проблема. Может выясниться, что одному типу клиентов нужны три ручные проверки, два внутренних сообщения и одно решение основателя, прежде чем они смогут воспользоваться функцией. Цена может быть нормальной. Плохо спроектирован именно процесс поставки.
Небольшая SaaS-команда может быстро проверить это на практике. Возьмите пять недавних сделок и разберите каждую вручную. Если одни и те же люди снова и снова включаются в одних и тех же точках, вы нашли повторяемую затрату. Такие вещи часто замечает операционный аудит или Fractional CTO еще до того, как кто-то тронет цены.
Скрытая стоимость первой недели
Первая неделя часто говорит правду. Еще до того, как клиент увидит результат, команда уже создает аккаунты, импортирует старые данные, настраивает доступы, меняет настройки по умолчанию и отвечает на первые вопросы.
Эта работа редко попадает в прайс. Ее обычно прячут в раздел «онбординг» или считают небольшой любезностью. Но после нескольких клиентов такие любезности превращаются в реальные расходы.
Типичные задачи первой недели знакомы каждому: создание пользователей и правил доступа, очистка данных из таблиц, настройка пользовательских полей или шаблонов, обучающие звонки и ответы на вопросы по безопасности до полного запуска. По отдельности ничего драматичного. Вместе это легко съедает полдня и больше на каждый аккаунт. Если в звонке участвует инженер, расходы снова растут.
Импорт данных — одна из самых частых ловушек. Клиенты говорят, что у них «простой CSV», но в файле часто есть дубли, сломанные даты, пропущенные поля или названия, которые не совпадают с вашей системой. Кому-то из команды приходится исправлять файл, сопоставлять столбцы, тестировать импорт и проверять результат. Это и есть работа по поставке, даже если никто так ее не называет.
Обучающие звонки тоже скрывают расходы. Сессия на 45 минут обычно тянет за собой подготовку, последующие вопросы и еще один звонок для второго человека в команде. Если людям нужна постоянная поддержка, чтобы пройти первую неделю, это время должно быть учтено в модели поставки. Это не случайная поддержка.
Вопросы по безопасности и доступам часто ложатся на старших сотрудников. Клиент спрашивает про роли, SSO, audit logs или короткий security review. В дело вступает основатель, CTO или самый сильный инженер, потому что больше никто не может ответить внятно. И вот самые дорогие люди в команде делают повторяющуюся работу для каждого нового аккаунта.
Это хорошее место, чтобы начать разгребать систему. Проследите каждую задачу по настройке, засеките время и подумайте, что из этого можно убрать. Если настройка по-прежнему держится на кастомной работе, ваша маржа зависит не от цены, а от того, сколько ручной работы вы все еще делаете в первую неделю.
Кастомная поддержка, которая понемногу съедает маржу
Кастомная поддержка съедает прибыль маленькими порциями. Команда закрывает сделку по хорошей цене, а потом каждую неделю тратит часы на запросы, которых не было в плане.
Первый тревожный сигнал — особый случай для одного клиента. Может быть, им нужен кастомный экспорт, другой шаг согласования или ежемесячное ручное исправление данных. Каждый такой запрос звучит небольшим. Вместе они превращают один аккаунт в подработку на полставки.
Повторяющиеся вопросы — еще одна утечка. Если клиенты постоянно спрашивают, где найти одну и ту же настройку, как импортировать данные или почему отчет выглядит странно, значит, в продукте все еще есть дыра. Поддержка становится ручной заплаткой для слабого онбординга, непонятных экранов или отсутствующих настроек по умолчанию.
Ручные отчеты и разовые правки создают ту же проблему. Команды соглашаются, потому что работа кажется легкой. Один человек подправляет CSV, вручную меняет дашборд или проверяет записи перед отправкой. Десять минут здесь и двадцать там могут стереть маржу на средненьком аккаунте.
Самое неприятное в том, что большая часть этой работы находится вне обычного потока тикетов. Клиент пишет в Slack, потом дублирует письмо, затем просит короткий звонок. Никто не фиксирует время. Никто не привязывает его к аккаунту. Команда помнит клиента как «активного», хотя на самом деле его обслуживание обходится дорого.
Короткий период наблюдения помогает. В течение двух недель записывайте запросы, которые делает только один клиент, повторяющиеся вопросы, которые возникают каждую неделю, ручные экспорты или исправления данных, а также время, проведенное в Slack, почте или звонках вне тикетов. Обычно закономерность становится заметна очень быстро.
Клиент, который платит $800 в месяц, может казаться выгодным, пока вы не посчитаете три звонка в поддержку, два кастомных экспорта и ручную корректировку биллинга. После этого аккаунт может стоить дороже, чем приносит.
Внешний разбор здесь очень полезен, потому что он отделяет настоящую продуктовую работу от скрытой сервисной. Когда вы видите это разделение, можно переносить повторяющиеся задачи в продукт, писать простые инструкции или брать деньги за дополнительную работу сознательно, а не раздавать ее бесплатно.
Ручные проверки и петли согласования
Многие проблемы с маржой выглядят как проблема цены, потому что сумма в счете остается фиксированной, а трудозатраты растут маленькими кусками. Ручные проверки — частая причина. Задача может выглядеть как 30 минут работы, но на практике это 30 минут работы плюс два дня ожидания.
QA часто становится первой утечкой. Кто-то по-прежнему вручную проверяет крайние случаи, сравнивает скриншоты, снова прогоняет тот же сценарий регистрации или просматривает логи после каждого релиза. Каждая такая проверка кажется мелкой. Вместе они создают оплачиваемый труд, который повторяется при каждом изменении.
Та же схема видна и вне инженерии. Изменение может требовать согласования контента, проверки юристами или одобрения финансового отдела, прежде чем оно попадет к клиенту. Каждый этап стоит в очереди, потому что у проверяющего есть и другая работа. Разработчик идет дальше, теряет контекст, а потом возвращается и тратит еще 20 минут, чтобы вспомнить, что изменилось.
Поздняя обратная связь делает ситуацию хуже. Если комментарии юристов приходят уже после QA, или финансовый отдел просит поменять формулировки, когда сборка почти готова, команде приходится открывать работу заново. Потом они снова тестируют, обновляют заметки и снова ждут согласования. Один задержавшийся комментарий может породить три дополнительных касания.
Медленное согласование не просто задерживает одну задачу. Оно тормозит всю команду. Поддержка не может дать четкий ответ, продажи не могут уверенно называть сроки, а разработчики держат в голове полузаконченные задачи. Потери на переключении легко не заметить, но по марже они бьют быстро.
Короткий аудит обычно находит одни и те же проблемы: проверки, которые повторяются на каждом релизе и могут быть автоматизированы; согласования без дедлайна или без владельца; обратную связь, которая приходит уже после того, как команда ушла дальше; и проверяющих, которые отправляют комментарии в несколько раундов вместо одного прохода.
Уберите хотя бы одну очередь, и поставка станет дешевле без изменения цены.
Простой пример небольшой SaaS-команды
Небольшая SaaS-команда продает стандартный тариф за $1,200 в месяц. Обещание простое: зарегистрируйтесь в понедельник, импортируйте данные и выйдите в продакшн к пятнице. На бумаге тариф выглядит здорово. Продукт уже готов, поддержка должна быть легкой, а каждый новый аккаунт, по идее, занимает всего несколько часов на онбординг.
Но потом в одном месяце приходят три новых клиента, и каждый просит «совсем небольшую доработку». Одному нужен кастомный импорт CSV, потому что старая система выгружает странные названия столбцов. Другому нужен дополнительный шаг проверки перед публикацией записей. Третий просит команду в течение первых двух недель перепроверять каждый импорт, потому что сам еще не доверяет своим данным.
По отдельности ни одна из этих просьб не выглядит большой. Вместе они полностью меняют процесс поставки.
Руководитель поддержки начинает подключаться к стартовым звонкам, чтобы успокаивать клиентов и объяснять обходные решения. Два инженера тратят часть каждой недели на исправление крайних случаев в скриптах импорта, тестирование грязных данных и повторный запуск неудачных задач. Менеджер просматривает тикеты, потому что никто не хочет ошибки в клиентских данных. Команда по-прежнему берет стандартную цену тарифа, потому что каждый запрос казался слишком маленьким, чтобы выставлять отдельную смету.
Через месяц выручка по-прежнему выглядит нормально. Поэтому такие проблемы так долго остаются незаметными. Настоящее изменение — в трудозатратах. То, что должно было занимать по четыре часа онбординга на клиента, растягивается до 12 или 15. У поддержки остается меньше времени на продления и документацию. Инженеры делают меньше продуктовой работы, и те же кастомные запросы снова и снова возвращаются.
Простая таблица быстро показывает проблему. Три аккаунта приносят $3,600 в месяц. Но если настройка, звонки в поддержку, исправления и ручные проверки съедают 40–50 часов команды, маржа может быстро рухнуть. Команда может винить цену, но цена не была первой проблемой. Тариф обещал стандартный сервис. А поставка работала как полуиндивидуальный проект.
Обычно в этот момент нужно менять процесс, а не спешить с повышением цены. Ограничьте импорты, берите деньги за дополнительные проверки или уберите ручное согласование из базового тарифа. Если процесс поставки остается рыхлым, новые продажи просто создают еще больше работы.
Типичные ошибки, когда команда винит цену
Цена — первое, что основатели начинают ставить под сомнение, потому что ее легко увидеть. Труднее увидеть работу, которая начинается сразу после продажи.
Одна из частых ошибок — повышать цены до того, как кто-то измерил реальные трудозатраты на поставку. Команда может брать на бумаге достаточно, а потом тратить четыре часа на настройку, два часа на поддержку и еще час на исправление крайних случаев. Провалилась не цена. Компания продавала продукт, а поставляла услугу.
Другая ошибка — считать кастомные запросы «редкостью», хотя они появляются каждую неделю. Продажи говорят «да» одному небольшому исключению. Поддержка соглашается на другое. Вскоре команда уже поддерживает скрытую вторую версию продукта для нескольких аккаунтов.
Команды также теряют маржу, когда senior-специалисты продолжают делать повторяющуюся работу. Если старший инженер каждый раз проверяет одну и ту же настройку, один и тот же импорт или одно и то же примечание к релизу, расходы быстро растут. Senior-специалисты должны заниматься нестандартными проблемами. Если задача повторяется, команда должна ее задокументировать, передать дальше или автоматизировать.
Работа в чатах и на встречах часто исчезает из расчета. Никто не записывает 20-минутную переписку в Slack, «быстрый» звонок с клиентом или внутреннюю перепалку, нужную, чтобы прояснить один запрос. Финансы видят один закрытый тикет. Команда прожила через пять боковых обсуждений.
Это можно быстро увидеть, если считать часы на настройку на каждого нового клиента, количество кастомных запросов на аккаунт, время senior-специалистов на повторяющиеся задачи и время поддержки, которое уходит в чаты и звонки. Эти цифры не обязаны быть идеальными. Им достаточно быть честными.
Что проверить до того, как трогать цены
Прежде чем поднимать цены, проследите путь последних нескольких клиентов от подписанной сделки до обычного использования. Большинство утечек маржи проявляется в передаче задач, а не в цене.
Быстрый аудит работает лучше длинного спора. Возьмите пять недавних аккаунтов и пройдите по работе час за часом. Посмотрите, как стартует новый клиент. Если кому-то в вашей команде нужно создавать данные, исправлять настройки, импортировать файлы или объяснять базовые шаги по звонку, вы продаете вместе с продуктом еще и время на настройку.
Потом посчитайте повторяющиеся проверки. Когда команда проверяет один и тот же запрос, файл или изменение больше одного раза, второй проход обычно означает, что первая передача была слабой. Отмечайте и все запросы, которые выходят за пределы обычного пути. Разовые интеграции, специальные отчеты, кастомные права доступа и ручные экспорты кажутся безобидными, но очень быстро съедают время.
Разделите поддержку на стандартные вопросы и работу с исключениями. Если значительная часть тикетов приходит из крайних случаев, нагрузка на поддержку не отражает сам продукт. Она отражает дыры в продукте.
Внимательно отслеживайте время senior-специалистов. Если CTO, ведущий инженер или старший продуктовый специалист утверждает рутинную работу, отвечает на одни и те же вопросы по настройке или чистит клиентский ввод, маржа утекает из самой дорогой части команды.
Даже грубые цифры помогают. Если десять клиентов в месяц по 45 минут нуждаются в помощи сотрудников на старте, это уже скрытая роль. Если старший инженер тратит 20 минут на проверку каждого изменения в онбординге, эти расходы должны быть учтены в дизайне поставки.
Если одни и те же исключения всплывают снова и снова, воспринимайте их как продуктовые решения. Постройте стандартный путь, берите за них деньги открыто или перестаньте делать их вовсе.
Что менять дальше
Большинству проблем с маржой в софте сначала не нужна новая цена. Им нужен более простой путь от подписанного договора до стабильного использования продукта.
Начните с задач по настройке, которые нужны только небольшой части клиентов. Уберите их из стандартного процесса, сделайте платной допопцией или вообще откажитесь от них, если почти никто ими не пользуется. Обычная настройка должна оставаться короткой. Если одному клиенту нужен специальный импорт, дополнительные поля или живой обучающий звонок, считайте это отдельной работой, а не прячьте внутри каждой продажи.
Потом наведите порядок в поддержке. Когда один и тот же вопрос всплывает каждую неделю, перестаньте отвечать с нуля. Исправьте непонятный экран, добавьте более ясное сообщение, улучшите онбординг или напишите одну короткую заметку, которую команда сможет переиспользовать. Если пять клиентов спрашивают, где загрузить файл, значит, проблема, скорее всего, в продукте.
Петли согласования тоже нужно чистить. Большинству команд хватает одного маршрута проверки, одного владельца и одного дедлайна. Если продажи, продукт, поддержка и юристы смотрят один и тот же запрос без порядка, мелкие изменения зависают на дни. Один владелец может при необходимости собирать мнения, но именно он должен закрывать цикл.
К цене возвращайтесь только после того, как измерите стоимость поставки по шагам. Смотрите не только на сумму контракта, а на первые 30 дней. Считайте часы на настройку, касания в поддержке, время на проверки и переделки. Если клиент платит $800 в месяц, но ему нужно шесть часов живой помощи, чтобы стартовать, проблема может быть в упаковке или в дизайне поставки, а не в цене.
Свежий внешний взгляд особенно полезен, когда команда уже слишком близко к хаосу. Oleg Sotnikov на oleg.is работает как Fractional CTO и startup advisor, с сильным фокусом на архитектуру продукта, бережные операции, инфраструктуру и практическую AI-разработку. Такой разбор полезен, когда маржа продолжает проседать, а никто не может увидеть, какая передача, исключение или ручной шаг все это запускает.
Небольшие исправления быстро складываются. Уберите один звонок по настройке, сократите один шаг согласования и превратите два повторяющихся ответа поддержки в изменения продукта. Это часто улучшает маржу быстрее, чем поспешное повышение цен.
Часто задаваемые вопросы
Как понять, что проблема действительно в цене?
Начните с пяти недавних клиентов и измерьте первые 30 дней. Если цена на бумаге выглядит нормально, а настройка, поддержка, переделки и согласования продолжают добавлять часы, проблема в процессе поставки.
Поднимайте цены только после того, как поймете, какую работу команда постоянно отдает бесплатно.
Что нужно отслеживать после согласия клиента?
Отслеживайте каждую передачу задачи от подписанного договора до стабильного использования. Фиксируйте создание аккаунта, импорт данных, права доступа, стартовые звонки, вопросы в поддержку, исправления, проверки и последующие шаги.
Записывайте, кто сделал работу и сколько времени это заняло. Примерные цифры подойдут, если они близки к реальности.
Почему онбординг так быстро съедает прибыль?
Потому что онбординг скрывает целую пачку мелких задач, которые редко попадают в смету. Очистка CSV, настройка ролей, ответы на первые вопросы и ожидание согласования могут превратить план на два часа в половину дня.
Эта дополнительная работа съедает маржу еще до того, как клиент начнет пользоваться продуктом.
Стоит ли считать обучающие звонки частью затрат на поставку?
Да, если без этих звонков клиент не может запуститься. Сессия на 45 минут часто тянет за собой подготовку, письма после звонка и новые вопросы.
Учитывайте это время как часть процесса поставки, а не как случайную поддержку.
Как кастомные запросы в поддержку бьют по марже?
Маленькие исключения быстро накапливаются. Один кастомный экспорт, одно ручное исправление данных или короткий ответ в Slack могут казаться пустяком, но повторяющиеся исключения превращают один аккаунт в постоянную сервисную работу.
Зафиксируйте время, а потом выберите один путь: брать за это деньги, сделать стандартный вариант или перестать делать это вовсе.
Почему ручные согласования такие дорогие?
Потому что стоимость — это не только сама проверка. Люди ждут, переключаются на другие задачи, а потом возвращаются и тратят время на то, чтобы вспомнить, что изменилось.
Один поздний комментарий может запустить еще один тест, еще одно сообщение и еще одно согласование. Такой цикл очень быстро съедает часы.
Должны ли senior-инженеры по-прежнему заниматься настройкой и вопросами безопасности?
Только для нестандартных случаев. Если senior-специалисты постоянно отвечают на одни и те же вопросы по настройке или безопасности, команде нужны более понятные документы, более чистый процесс или изменения в продукте.
Повторяющаяся работа senior-уровня — один из самых быстрых способов потерять маржу.
Сколько клиентских аккаунтов мне нужно проверить?
Обычно достаточно пяти недавних сделок, чтобы увидеть закономерность. Разберите каждую вручную — от закрытия до обычного использования — и посмотрите, где снова и снова включаются одни и те же люди.
Если повторяются одни и те же исправления, проверки или звонки, вы нашли повторяющуюся затрату.
Что стоит изменить до повышения цен?
Сначала наведите порядок в стандартном пути. Ограничьте импорты, перенесите редкие задачи в платные допопции, уберите дублирующиеся проверки и исправьте экраны, которые порождают одни и те же вопросы в поддержку.
Более простой путь поставки обычно улучшает прибыль быстрее, чем поспешное повышение цен.
Когда имеет смысл внешняя проверка?
Подключайте внешнюю помощь, когда выручка выглядит нормально, а прибыль продолжает падать, или когда команда снова и снова спорит о цене без жестких цифр.
Разбор от Fractional CTO может показать скрытую нагрузку, отделить продуктовую работу от сервисной и подсказать, что убрать в первую очередь.