Рентабельность проекта считается по формуле «контракт минус списанные часы по себестоимости минус подрядчики и прямые расходы», и считать её надо каждый день, а не при закрытии. Разница принципиальная: на закрытии цифра только фиксирует убыток, а на трети готовности она ещё позволяет что-то изменить — пересогласовать объём, остановить бесплатные правки, передвинуть людей.
Агентства, студии и ИТ-компании узнают об убыточном проекте позже всех именно потому, что у них есть все нужные данные — просто в трёх разных местах. Задачи и готовность живут в таск-системе, списанные часы — в тайм-трекере, деньги контракта — в учётной системе. Пока эти три источника не сведены в одну строку по каждому проекту, руководитель видит либо загрузку, либо выручку, но никогда — маржу конкретной работы в конкретный день.
Ниже — формула с источником каждого слагаемого, честный расчёт себестоимости часа по трём ролям, разбор трёх источников перерасхода с долями, сигнал раннего предупреждения и смета связки для фирмы на 20 человек. Модельная фирма одна и та же во всех расчётах: 20 человек, из них 16 практикующих, 26 проектов в год, средний проект — 900 часов оценки. Место этого узла в общей карте автоматизации фирмы разобрано в опорной статье раздела.
Формула и почему в ней стоит себестоимость, а не ставка
Сумма контракта минус списанные на проект часы, оценённые по себестоимости роли, минус подрядчики и прямые расходы. К ней добавляется прогноз: остаток работ по темпу списаний последних двух недель. Обе части считаются ежедневно из тех же данных, которые команда и так вводит, — иначе расчёт превращается в отдельный ритуал и умирает через месяц.
Ключевой момент — по какой ставке оценивать час. В фирме, которая продаёт время, теряется несписанный час, и он считается по ставке клиенту: работа сделана, но не выставлена. Это отдельная задача, и мы разбирали её в статье про учёт оплачиваемых часов. В проекте с фиксированной ценой всё наоборот: часы сверх оценки никто не купит ни при каких обстоятельствах, поэтому их цена — это себестоимость, которую фирма уже потратила. Смешивать две ставки в одном расчёте нельзя: получится либо втрое завышенный убыток, либо втрое заниженный.
Возьмём модельный проект: контракт 2 400 000 ₽, оценка 900 часов, из них 120 часов старшего специалиста, 600 — специалиста, 180 — помощника. Плановая себестоимость и плановая маржа считаются в одну строку.
Сорок процентов на входе — нормальная для проектной фирмы величина: из неё оплачиваются продажи, управление, простои между проектами и прибыль собственника. Опасно не то, что она невелика, а то, что её никто не пересчитывает в ходе работ. Как только фактические списания начинают опережать готовность, эта цифра съезжает — и в модельном случае съедет вдвое.
Схема из шести блоков. Слева три узла-источника: «Таск-система: этапы и готовность», «Учёт часов: списано по ролям», «Учётная система: контракт, подрядчики, расходы». От каждого стрелка с подписью, что передаётся, в центральный блок «Маржа проекта на сегодня». Справа от него два выхода: «Прогноз до конца работ по темпу списаний» и «Сигнал: списано больше 30 % при готовности меньше 20 %». Внизу подпись: «план 978 000 ₽ — факт 444 000 ₽ — разница 534 000 ₽». Чертёжный стиль, подписи по-русски.
Себестоимость часа: почему деление оклада на 160 врёт
Самая частая ошибка в расчёте маржи — взять оклад и разделить на 160 рабочих часов. Полученная цифра занижена почти вдвое, и занижена систематически, то есть в одну сторону: фирма годами считает проекты прибыльнее, чем они есть. Считать надо все годовые расходы на человека и делить их не на календарный фонд, а на те часы, которые в принципе можно продать клиенту.
Целевая загрузка 75 % — не пессимизм, а рабочая норма профессиональной фирмы: остальное уходит на внутренние задачи, обучение, пресейл и паузы между проектами. Если поставить 100 %, себестоимость часа падает до 1 117 ₽ и снова врёт, потому что фирма всё равно платит человеку за неоплачиваемую четверть года. Подробная методика расчёта с поправками на отпуска и больничные разобрана в отдельной статье о том, как считается полная стоимость часа сотрудника.
Ставка взносов в расчёте взята как верхняя граница. У аккредитованной ИТ-компании она заметно ниже, и себестоимость часа сдвигается вниз на 200–300 ₽ — это тот случай, когда льгота реально меняет экономику проектов; условия и порядок получения разобраны в статье об аккредитации ИТ-компании. Пересчитывать себестоимость ролей достаточно раз в год и при каждом пересмотре окладов.
| Роль | Себестоимость часа для фирмы | Ставка клиенту | Где считается что |
|---|---|---|---|
| Помощник, младший специалист | 900 ₽ | Отдельной строкой обычно не выставляется | Только себестоимость: его часы входят в ставку специалиста |
| Специалист | 1 500 ₽ | 3 200 ₽ | Перерасход — по себестоимости, недосписанный час — по ставке клиенту |
| Старший специалист, руководитель проекта | 3 000 ₽ | 5 000 ₽ | То же правило; в фикс-проекте его час дороже всего теряется |
| Внешний подрядчик | По счёту, обычно 2 500–3 500 ₽ | Наценка фирмы поверх счёта | Прямой расход проекта, в часы команды не попадает |
Сравнение в две колонки с общей осью в рублях за час. Левая колонка «Себестоимость для фирмы»: помощник 900 ₽, специалист 1 500 ₽, старший 3 000 ₽. Правая колонка «Ставка клиенту»: помощник — прочерк с подписью «входит в ставку специалиста», специалист 3 200 ₽, старший 5 000 ₽. Между колонками вертикальная разделительная линия с подписью «перерасход считается слева, недосписанный час — справа». Внизу пометка: «специалист с окладом 130 000 ₽: 2 208 000 ₽ в год ÷ 1 482 часа = 1 490 ₽». Чертёжный стиль, подписи по-русски.
Три источника ухода в минус и доля каждого
В модельном проекте вместо 900 часов списано 1 240 — перерасход 340 часов. Он никогда не бывает однородным: это три разные болезни с разными лекарствами, и разделять их надо до того, как принимать меры. Сложить их в один вывод «мы плохо оцениваем» — самый быстрый способ ничего не изменить.
| Источник перерасхода | Часов | Доля | Как выглядит в жизни | Чем лечится |
|---|---|---|---|---|
| Заниженная оценка на входе | 150 | 44 % | Оценивали оптимистичный сценарий, не заложили согласования, приёмку и правки после демонстрации | Коэффициент по накопленной статистике и диапазон вместо точки |
| Бесплатные правки сверх объёма | 120 | 35 % | Клиент просит «мелочь», исполнитель делает, никто не считает; за проект таких просьб 20–40 | Фиксация объёма в договоре и журнал изменений с оценкой каждой правки |
| Простой команды между этапами | 70 | 21 % | Ждём ответа клиента, ждём доступы, ждём подрядчика — люди на проекте, работы нет | График загрузки и правило переключения на второй проект после 3 дней ожидания |
| Итого перерасход | 340 | 100 % | — | — |
Обратите внимание на третью строку таблицы источников. Простой между этапами почти никогда не попадает в разбор, потому что выглядит не как проблема проекта, а как проблема клиента: «они не отвечают». Но платит за эти 70 часов фирма, и по средней себестоимости 1 570 ₽ за час они стоят 110 000 ₽. Единственный способ их не потерять — видеть на графике загрузки команды свободные окна заранее и заполнять их работой по другим проектам, а не ждать с людьми в резерве.
Горизонтальная составная полоса общей длиной 340 часов, разделённая на три части с подписями: «заниженная оценка — 150 ч, 44 %», «бесплатные правки сверх объёма — 120 ч, 35 %», «простой между этапами — 70 ч, 21 %». Под каждой частью вторая строка с ценой в рублях по себестоимости: 235 000 ₽, 188 000 ₽, 110 000 ₽ — в сумме те же 534 000 ₽ с точностью до округления. Справа выноска: «плановая маржа 978 000 ₽ → фактическая 444 000 ₽». Чертёжный стиль, ось в часах подписана.
Сигнал раннего предупреждения: 30 % бюджета при 20 % готовности
Правило одно и оно намеренно грубое: если по проекту списано больше 30 % бюджета часов, а готовность меньше 20 %, проект нужно останавливать и пересчитывать. В модельном проекте это 270-й час из 900 — примерно восьмая неделя работы. Тонкая настройка порогов здесь не нужна: практическая ценность правила в том, что оно срабатывает автоматически и не требует, чтобы руководитель проекта сам признал проблему.
Готовность считается не в процентах ощущения, а по принятым артефактам. Если в проекте одиннадцать результатов, которые заказчик подписывает или согласовывает, то готовность 20 % — это два принятых артефакта, и спорить тут не о чем. Оценка «мы сделали процентов сорок» на этот вопрос не отвечает и в расчёт не идёт.
- 11. Остановить списания на сутки и собрать факты
Что именно съело часы: объём оказался больше, правки шли мимо журнала, люди сидели без работы. Ответ берётся из тех же списаний с разбивкой по задачам, а не из разговора на планёрке.
- 22. Пересчитать остаток заново, а не корректировать старую оценку
Старая оценка уже доказала, что ошибалась. Остаток оценивается с нуля по фактической скорости последних двух недель, и почти всегда получается больше, чем «оставшиеся 630 часов из плана».
- 33. Зафиксировать объём письмом до конца дня
Перечень того, что входит в текущий этап, и перечень того, что уже вышло за его границы. Это не претензия, а список для разговора; о том, какие формулировки в договоре делают такой разговор возможным, — в статье про выбор модели «фикс или почасовая».
- 44. Выбрать одно из трёх решений и записать его
Допсоглашение на дополнительный объём, сокращение объёма в пределах текущей суммы или осознанное решение доделать в убыток ради отношений с клиентом. Третий вариант законен, но он должен быть решением партнёра, а не побочным эффектом молчания.
- 55. Вернуть результат в оценку следующих проектов
Отношение факта к оценке по завершённому проекту попадает в накопленную статистику. Через 15–20 проектов из неё получается собственный коэффициент, и оценка перестаёт быть упражнением в оптимизме.
Самая частая судьба такой связки — красная плашка в панели, которую все привыкают видеть. Правило должно называть не только порог, но и того, кто обязан на него отреагировать, и срок: руководитель проекта — в течение одного рабочего дня, партнёр — если срабатывание повторилось. Без этой части внедрение даёт точную отчётность об убытках вместо их предотвращения — тот же механизм, из-за которого система без названного владельца перестаёт влиять на работу.
Двухосевой график по неделям проекта. Первая линия — накопленные списанные часы, растёт от 0 до 1 240. Вторая линия — готовность в процентах по принятым артефактам, растёт медленнее, от 0 до 100 %. Горизонтальная штриховая линия на отметке 270 часов подписана «30 % бюджета», вертикальная штриховая на отметке 20 % готовности. Точка их пересечения выделена и подписана «сигнал, 8-я неделя». Справа отметка «закрытие проекта, 1 240 ч» с подписью «здесь узнают обычно». Оси: недели и часы, вторая ось — проценты готовности.
Оценка: диапазон вместо точки и строка на неопределённость
Заниженная оценка даёт почти половину перерасхода, и чинится она не «оценивать внимательнее». Внимательность не масштабируется: люди систематически недооценивают работу, которую делают впервые, и делают это одинаково во всех фирмах. Работают три приёма, каждый из которых занимает минуты.
- 1Диапазон вместо точки. Оптимистичная, вероятная и пессимистичная оценка: 720, 900 и 1 250 часов. В договор идёт вероятная, в внутренний план — пессимистичная. Разница между крайними точками сама по себе информативна: если она больше чем в полтора раза, проект недостаточно понятен, чтобы брать его по фиксированной цене.
- 2Отдельная строка на неопределённость. Не «накинуть 15 % на всё», а назвать конкретные неизвестные: не согласована интеграция со смежной системой, не выбран поставщик данных, не определён состав приёмки. Каждая строка получает свою оценку в часах и снимается по мере прояснения — так резерв виден и не растворяется в общем числе.
- 3Коэффициент по накопленной статистике. Отношение факта к оценке по прошлым 20 проектам. В модельной фирме он равен 1,28: оценка в 900 часов превращается в 1 152, что уже близко к фактическим 1 240. Коэффициент считается отдельно по типам работ, потому что у разработки под ключ и у сопровождения он разный.
Допущения, на которых построена оценка, стоит переносить в договор дословно — как перечень условий, при изменении которых сроки и стоимость пересматриваются. Это не юридическая хитрость, а способ сделать разговор о дополнительном объёме коротким: обе стороны читают один и тот же список, составленный до начала работ. Что ещё обязано быть в договоре на разработку, разобрано отдельно.
Смета связки и что она возвращает
Связка задач, часов и финансов для фирмы на 20 человек стоит 300 000–700 000 ₽ и разворачивается за 6–10 недель. Вилка в два с лишним раза определяется не размером фирмы, а состоянием исходных данных: если оценки этапов уже проставляются, а часы списываются ежедневно, проект идёт по нижней границе; если ни того ни другого нет, сначала придётся заводить сами данные.
| Статья работ | Что входит | Цена |
|---|---|---|
| Разбор процесса и правила | Что считается готовностью, как фиксируется объём, кто утверждает допобъём | 50 000–90 000 ₽ |
| Себестоимость ролей и справочник ставок | Расчёт по каждой роли, целевая загрузка, порядок ежегодного пересмотра | 30 000–60 000 ₽ |
| Связка задач, часов и финансов проекта | Подключение таск-системы, учёта времени и учётной системы, сведение в одну строку по проекту | 120 000–300 000 ₽ |
| Экран проекта: план, факт, прогноз, сигналы | Готовность по артефактам, списания по ролям, прогноз остатка, правило 30 на 20 | 70 000–170 000 ₽ |
| Отчёт по портфелю для партнёров | Маржа по всем активным проектам, список проектов в зоне риска, статистика факта к оценке | 30 000–80 000 ₽ |
| Итого | Срок 6–10 недель, поддержка 15 000 ₽/мес | 300 000–700 000 ₽ |
Теперь эффект, и считать его надо консервативно. В модельной фирме 26 проектов в год, примерно 30 % из них уходят в минус — это 8 проектов со средним перерасходом 340 часов. Ранний сигнал не отменяет перерасход, а вдвое сокращает его на тех проектах, где успевают вмешаться, — и успевают не везде: часть проектов проваливается на последних неделях, когда менять уже нечего.
Чего в этом расчёте нет — стоит проговорить отдельно. В нём нет роста выручки: связка не приводит клиентов и не поднимает ставки. Нет экономии на людях: команда остаётся той же. Нет и дохода от освободившихся часов — теоретически 170 сэкономленных часов можно продать другому клиенту по 3 200 ₽ и получить 544 000 ₽, но это будет верно только при наличии очереди из заказов, а её обычно нет. Если в присланном вам коммерческом предложении эффект сложен из этих трёх строк, попросите показать арифметику каждой — так же, как это стоит делать с любым расчётом окупаемости автоматизации.
Когда считать рентабельность проекта не надо
Узел управления маржой проекта нужен не всем и не всегда первым. Есть четыре ситуации, в которых мы советуем потратить деньги на другое.
- Все договоры почасовые. Если фирма выставляет каждый час, перерасход оплачивает клиент, и главная проблема смещается: считать надо не маржу проекта, а долю часов, доходящих до счёта. Это другой узел и другая арифметика.
- Меньше 8–10 проектов в год. При таком потоке партнёр держит экономику каждого проекта в голове точнее любой системы, а накопленной статистики для коэффициента всё равно не наберётся. Достаточно одной таблицы с четырьмя колонками, которую он обновляет сам.
- Нет ни оценок этапов, ни ежедневных списаний часов. Это фундамент обеих частей формулы: без оценок нечего сравнивать, без списаний нечем. Правильный порядок — сначала фиксация времени, потом маржа; попытка сделать наоборот даёт красивый экран, который показывает выдуманные числа.
- Проекты уходят в минус по одной понятной причине, и она известна. Если 80 % перерасхода — это бесплатные правки для двух конкретных клиентов, дешевле переписать с ними договор, чем строить систему. Она аккуратнее покажет то, что партнёры и так знают.
И последнее ограничение, которое стоит держать в голове. Расчёт маржи в реальном времени не делает проекты прибыльными — он делает убыток видимым на четыре месяца раньше. Всё остальное — переговоры с клиентом, отказ от объёма, перераспределение людей — по-прежнему делают люди, и именно от их готовности к этим разговорам зависит, вернутся ли вложенные в связку деньги. Система, которая показывает убыток, но никого не заставляет действовать, стоит ровно столько, сколько стоит её поддержка.
Проект не становится убыточным на закрытии. На закрытии об этом просто узнают.
