Рентабельность проекта считается по формуле «контракт минус списанные часы по себестоимости минус подрядчики и прямые расходы», и считать её надо каждый день, а не при закрытии. Разница принципиальная: на закрытии цифра только фиксирует убыток, а на трети готовности она ещё позволяет что-то изменить — пересогласовать объём, остановить бесплатные правки, передвинуть людей.

Агентства, студии и ИТ-компании узнают об убыточном проекте позже всех именно потому, что у них есть все нужные данные — просто в трёх разных местах. Задачи и готовность живут в таск-системе, списанные часы — в тайм-трекере, деньги контракта — в учётной системе. Пока эти три источника не сведены в одну строку по каждому проекту, руководитель видит либо загрузку, либо выручку, но никогда — маржу конкретной работы в конкретный день.

Ниже — формула с источником каждого слагаемого, честный расчёт себестоимости часа по трём ролям, разбор трёх источников перерасхода с долями, сигнал раннего предупреждения и смета связки для фирмы на 20 человек. Модельная фирма одна и та же во всех расчётах: 20 человек, из них 16 практикующих, 26 проектов в год, средний проект — 900 часов оценки. Место этого узла в общей карте автоматизации фирмы разобрано в опорной статье раздела.

Формула и почему в ней стоит себестоимость, а не ставка

Что это значитМаржа проекта в реальном времени

Сумма контракта минус списанные на проект часы, оценённые по себестоимости роли, минус подрядчики и прямые расходы. К ней добавляется прогноз: остаток работ по темпу списаний последних двух недель. Обе части считаются ежедневно из тех же данных, которые команда и так вводит, — иначе расчёт превращается в отдельный ритуал и умирает через месяц.

Ключевой момент — по какой ставке оценивать час. В фирме, которая продаёт время, теряется несписанный час, и он считается по ставке клиенту: работа сделана, но не выставлена. Это отдельная задача, и мы разбирали её в статье про учёт оплачиваемых часов. В проекте с фиксированной ценой всё наоборот: часы сверх оценки никто не купит ни при каких обстоятельствах, поэтому их цена — это себестоимость, которую фирма уже потратила. Смешивать две ставки в одном расчёте нельзя: получится либо втрое завышенный убыток, либо втрое заниженный.

Возьмём модельный проект: контракт 2 400 000 ₽, оценка 900 часов, из них 120 часов старшего специалиста, 600 — специалиста, 180 — помощника. Плановая себестоимость и плановая маржа считаются в одну строку.

Плановая экономика проекта: контракт 2 400 000 ₽, оценка 900 часов
Старший специалист: 120 ч × 3 000 ₽ себестоимости360 000 ₽
Специалист: 600 ч × 1 500 ₽900 000 ₽
Помощник: 180 ч × 900 ₽162 000 ₽
Плановая себестоимость проекта1 422 000 ₽
Плановая маржа: 2 400 000 − 1 422 000978 000 ₽
Плановая рентабельность40,8 %
Итого978 000 ₽ плановой маржи — это то число, с которым сравнивается каждый день проекта

Сорок процентов на входе — нормальная для проектной фирмы величина: из неё оплачиваются продажи, управление, простои между проектами и прибыль собственника. Опасно не то, что она невелика, а то, что её никто не пересчитывает в ходе работ. Как только фактические списания начинают опережать готовность, эта цифра съезжает — и в модельном случае съедет вдвое.

схема процессаrentabelnost-proekta-v-it-kompanii--01
Схема: три источника данных сходятся в одну строку маржи проекта с прогнозом

Схема из шести блоков. Слева три узла-источника: «Таск-система: этапы и готовность», «Учёт часов: списано по ролям», «Учётная система: контракт, подрядчики, расходы». От каждого стрелка с подписью, что передаётся, в центральный блок «Маржа проекта на сегодня». Справа от него два выхода: «Прогноз до конца работ по темпу списаний» и «Сигнал: списано больше 30 % при готовности меньше 20 %». Внизу подпись: «план 978 000 ₽ — факт 444 000 ₽ — разница 534 000 ₽». Чертёжный стиль, подписи по-русски.

Три системы, из которых уже сейчас можно собрать одну строку по каждому проекту

Себестоимость часа: почему деление оклада на 160 врёт

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

Полная себестоимость часа специалиста с окладом 130 000 ₽
Оклад за год: 130 000 ₽ × 121 560 000 ₽
Страховые взносы, 30 %468 000 ₽
Рабочее место, техника, лицензии, связь120 000 ₽
Обучение, конференции, добровольное медицинское страхование60 000 ₽
Годовые расходы на специалиста2 208 000 ₽
Календарный фонд: 247 рабочих дней × 8 часов1 976 часов
Часы, которые можно списать на клиента, при целевой загрузке 75 %1 482 часа
Себестоимость часа: 2 208 000 ÷ 1 4821 490 ₽
Для сравнения: оклад 130 000 ÷ 160813 ₽
Итого1 490 ₽ против 813 ₽ — разница 677 ₽ на каждом часе, или 609 300 ₽ на проекте в 900 часов

Целевая загрузка 75 % — не пессимизм, а рабочая норма профессиональной фирмы: остальное уходит на внутренние задачи, обучение, пресейл и паузы между проектами. Если поставить 100 %, себестоимость часа падает до 1 117 ₽ и снова врёт, потому что фирма всё равно платит человеку за неоплачиваемую четверть года. Подробная методика расчёта с поправками на отпуска и больничные разобрана в отдельной статье о том, как считается полная стоимость часа сотрудника.

Ставка взносов в расчёте взята как верхняя граница. У аккредитованной ИТ-компании она заметно ниже, и себестоимость часа сдвигается вниз на 200–300 ₽ — это тот случай, когда льгота реально меняет экономику проектов; условия и порядок получения разобраны в статье об аккредитации ИТ-компании. Пересчитывать себестоимость ролей достаточно раз в год и при каждом пересмотре окладов.

РольСебестоимость часа для фирмыСтавка клиентуГде считается что
Помощник, младший специалист900 ₽Отдельной строкой обычно не выставляетсяТолько себестоимость: его часы входят в ставку специалиста
Специалист1 500 ₽3 200 ₽Перерасход — по себестоимости, недосписанный час — по ставке клиенту
Старший специалист, руководитель проекта3 000 ₽5 000 ₽То же правило; в фикс-проекте его час дороже всего теряется
Внешний подрядчикПо счёту, обычно 2 500–3 500 ₽Наценка фирмы поверх счётаПрямой расход проекта, в часы команды не попадает
сравнениеrentabelnost-proekta-v-it-kompanii--02
Сравнение себестоимости часа и ставки клиенту по трём ролям: 900, 1500, 3000 против 3200 и 5000

Сравнение в две колонки с общей осью в рублях за час. Левая колонка «Себестоимость для фирмы»: помощник 900 ₽, специалист 1 500 ₽, старший 3 000 ₽. Правая колонка «Ставка клиенту»: помощник — прочерк с подписью «входит в ставку специалиста», специалист 3 200 ₽, старший 5 000 ₽. Между колонками вертикальная разделительная линия с подписью «перерасход считается слева, недосписанный час — справа». Внизу пометка: «специалист с окладом 130 000 ₽: 2 208 000 ₽ в год ÷ 1 482 часа = 1 490 ₽». Чертёжный стиль, подписи по-русски.

Две шкалы, которые нельзя складывать: одна показывает расход, другая — выручку

Три источника ухода в минус и доля каждого

В модельном проекте вместо 900 часов списано 1 240 — перерасход 340 часов. Он никогда не бывает однородным: это три разные болезни с разными лекарствами, и разделять их надо до того, как принимать меры. Сложить их в один вывод «мы плохо оцениваем» — самый быстрый способ ничего не изменить.

Источник перерасходаЧасовДоляКак выглядит в жизниЧем лечится
Заниженная оценка на входе15044 %Оценивали оптимистичный сценарий, не заложили согласования, приёмку и правки после демонстрацииКоэффициент по накопленной статистике и диапазон вместо точки
Бесплатные правки сверх объёма12035 %Клиент просит «мелочь», исполнитель делает, никто не считает; за проект таких просьб 20–40Фиксация объёма в договоре и журнал изменений с оценкой каждой правки
Простой команды между этапами7021 %Ждём ответа клиента, ждём доступы, ждём подрядчика — люди на проекте, работы нетГрафик загрузки и правило переключения на второй проект после 3 дней ожидания
Итого перерасход340100 %
Во что обошёлся перерасход: те же 340 часов по себестоимости
Старший специалист: 40 ч × 3 000 ₽120 000 ₽
Специалист: 240 ч × 1 500 ₽360 000 ₽
Помощник: 60 ч × 900 ₽54 000 ₽
Стоимость перерасхода534 000 ₽
Фактическая себестоимость проекта: 1 422 000 + 534 0001 956 000 ₽
Фактическая маржа: 2 400 000 − 1 956 000444 000 ₽
Фактическая рентабельность против плановых 40,8 %18,5 %
ИтогоМаржа упала вдвое, а выручка не изменилась ни на рубль — весь убыток спрятан в часах

Обратите внимание на третью строку таблицы источников. Простой между этапами почти никогда не попадает в разбор, потому что выглядит не как проблема проекта, а как проблема клиента: «они не отвечают». Но платит за эти 70 часов фирма, и по средней себестоимости 1 570 ₽ за час они стоят 110 000 ₽. Единственный способ их не потерять — видеть на графике загрузки команды свободные окна заранее и заполнять их работой по другим проектам, а не ждать с людьми в резерве.

графикrentabelnost-proekta-v-it-kompanii--03
Разбивка перерасхода 340 часов: 150 оценка, 120 бесплатные правки, 70 простой

Горизонтальная составная полоса общей длиной 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 % — это два принятых артефакта, и спорить тут не о чем. Оценка «мы сделали процентов сорок» на этот вопрос не отвечает и в расчёт не идёт.

  1. 1
    1. Остановить списания на сутки и собрать факты

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

  2. 2
    2. Пересчитать остаток заново, а не корректировать старую оценку

    Старая оценка уже доказала, что ошибалась. Остаток оценивается с нуля по фактической скорости последних двух недель, и почти всегда получается больше, чем «оставшиеся 630 часов из плана».

  3. 3
    3. Зафиксировать объём письмом до конца дня

    Перечень того, что входит в текущий этап, и перечень того, что уже вышло за его границы. Это не претензия, а список для разговора; о том, какие формулировки в договоре делают такой разговор возможным, — в статье про выбор модели «фикс или почасовая».

  4. 4
    4. Выбрать одно из трёх решений и записать его

    Допсоглашение на дополнительный объём, сокращение объёма в пределах текущей суммы или осознанное решение доделать в убыток ради отношений с клиентом. Третий вариант законен, но он должен быть решением партнёра, а не побочным эффектом молчания.

  5. 5
    5. Вернуть результат в оценку следующих проектов

    Отношение факта к оценке по завершённому проекту попадает в накопленную статистику. Через 15–20 проектов из неё получается собственный коэффициент, и оценка перестаёт быть упражнением в оптимизме.

Сигнал бесполезен, если по нему не назначено действие

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

графикrentabelnost-proekta-v-it-kompanii--04
Две кривые по неделям: списанные часы обгоняют готовность, точка сигнала на 270 часах

Двухосевой график по неделям проекта. Первая линия — накопленные списанные часы, растёт от 0 до 1 240. Вторая линия — готовность в процентах по принятым артефактам, растёт медленнее, от 0 до 100 %. Горизонтальная штриховая линия на отметке 270 часов подписана «30 % бюджета», вертикальная штриховая на отметке 20 % готовности. Точка их пересечения выделена и подписана «сигнал, 8-я неделя». Справа отметка «закрытие проекта, 1 240 ч» с подписью «здесь узнают обычно». Оси: недели и часы, вторая ось — проценты готовности.

Точка сигнала приходится на восьмую неделю — за четыре месяца до разговора на закрытии

Оценка: диапазон вместо точки и строка на неопределённость

Заниженная оценка даёт почти половину перерасхода, и чинится она не «оценивать внимательнее». Внимательность не масштабируется: люди систематически недооценивают работу, которую делают впервые, и делают это одинаково во всех фирмах. Работают три приёма, каждый из которых занимает минуты.

  1. 1Диапазон вместо точки. Оптимистичная, вероятная и пессимистичная оценка: 720, 900 и 1 250 часов. В договор идёт вероятная, в внутренний план — пессимистичная. Разница между крайними точками сама по себе информативна: если она больше чем в полтора раза, проект недостаточно понятен, чтобы брать его по фиксированной цене.
  2. 2Отдельная строка на неопределённость. Не «накинуть 15 % на всё», а назвать конкретные неизвестные: не согласована интеграция со смежной системой, не выбран поставщик данных, не определён состав приёмки. Каждая строка получает свою оценку в часах и снимается по мере прояснения — так резерв виден и не растворяется в общем числе.
  3. 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 на 2070 000–170 000 ₽
Отчёт по портфелю для партнёровМаржа по всем активным проектам, список проектов в зоне риска, статистика факта к оценке30 000–80 000 ₽
ИтогоСрок 6–10 недель, поддержка 15 000 ₽/мес300 000–700 000 ₽

Теперь эффект, и считать его надо консервативно. В модельной фирме 26 проектов в год, примерно 30 % из них уходят в минус — это 8 проектов со средним перерасходом 340 часов. Ранний сигнал не отменяет перерасход, а вдвое сокращает его на тех проектах, где успевают вмешаться, — и успевают не везде: часть проектов проваливается на последних неделях, когда менять уже нечего.

Возврат связки: фирма на 20 человек, 26 проектов в год
Проектов, уходящих в минус, 30 % от 268 в год
Средний перерасход по такому проекту340 часов, 534 000 ₽
Проектов, где сигнал успевает сработать5 из 8
Сокращение перерасхода вдвое: половина от 534 000 ₽, то есть 170 часов267 000 ₽ на проект
Возврат за год: 5 × 267 000 ₽1 335 000 ₽
То же в месяц111 250 ₽
Минус поддержка связки−15 000 ₽
Чистый эффект в месяц96 250 ₽
Бюджет 300 000–700 000 ₽ ÷ 96 250 ₽3,1–7,3 месяца
ИтогоДва-три спасённых проекта в год окупают связку — при условии, что по сигналу кто-то действует

Чего в этом расчёте нет — стоит проговорить отдельно. В нём нет роста выручки: связка не приводит клиентов и не поднимает ставки. Нет экономии на людях: команда остаётся той же. Нет и дохода от освободившихся часов — теоретически 170 сэкономленных часов можно продать другому клиенту по 3 200 ₽ и получить 544 000 ₽, но это будет верно только при наличии очереди из заказов, а её обычно нет. Если в присланном вам коммерческом предложении эффект сложен из этих трёх строк, попросите показать арифметику каждой — так же, как это стоит делать с любым расчётом окупаемости автоматизации.

Когда считать рентабельность проекта не надо

Узел управления маржой проекта нужен не всем и не всегда первым. Есть четыре ситуации, в которых мы советуем потратить деньги на другое.

  • Все договоры почасовые. Если фирма выставляет каждый час, перерасход оплачивает клиент, и главная проблема смещается: считать надо не маржу проекта, а долю часов, доходящих до счёта. Это другой узел и другая арифметика.
  • Меньше 8–10 проектов в год. При таком потоке партнёр держит экономику каждого проекта в голове точнее любой системы, а накопленной статистики для коэффициента всё равно не наберётся. Достаточно одной таблицы с четырьмя колонками, которую он обновляет сам.
  • Нет ни оценок этапов, ни ежедневных списаний часов. Это фундамент обеих частей формулы: без оценок нечего сравнивать, без списаний нечем. Правильный порядок — сначала фиксация времени, потом маржа; попытка сделать наоборот даёт красивый экран, который показывает выдуманные числа.
  • Проекты уходят в минус по одной понятной причине, и она известна. Если 80 % перерасхода — это бесплатные правки для двух конкретных клиентов, дешевле переписать с ними договор, чем строить систему. Она аккуратнее покажет то, что партнёры и так знают.

И последнее ограничение, которое стоит держать в голове. Расчёт маржи в реальном времени не делает проекты прибыльными — он делает убыток видимым на четыре месяца раньше. Всё остальное — переговоры с клиентом, отказ от объёма, перераспределение людей — по-прежнему делают люди, и именно от их готовности к этим разговорам зависит, вернутся ли вложенные в связку деньги. Система, которая показывает убыток, но никого не заставляет действовать, стоит ровно столько, сколько стоит её поддержка.

Проект не становится убыточным на закрытии. На закрытии об этом просто узнают.