Что такое Ghost %?

Обновлено 23 октября 2026 г.

Ghost% — независимая оценка DevGhost продуктивности разработчика по содержанию изменений в Git и их когнитивной сложности. Эталон — middle-разработчик, который знает проект и работает без AI. Устойчивые результаты помогают выявлять низкий вклад и сильных разработчиков. При 100% оценённый результат соответствует эталонной норме с учётом выбранного способа подсчёта дней и Share; выше 100% — превышает её. Оценка описывает вклад в код, а не всю профессиональную ценность человека.

Формула

Ghost% = E ÷ (D × 3 × S) × 100

Норма

E — оценённые трудозатраты в выбранном охвате и периоде, в эталонных часах, включая расчётный остаток. D — число дней разработчика в выбранном режиме. S = Share ÷ 100: при Share = 100% значение S равно 1. По умолчанию норма Ghost — 3 эталонных часа на человеко-день разработчика. Это единая база сравнения результатов, а не длительность всего рабочего дня. Если интерфейс позволяет выбрать другую норму, подставьте её вместо 3. Исходный Ghost% использует S = 1.

В режиме Spread D считает даты с положительными распределёнными трудозатратами, включая допустимые выходные. День без коммитов может учитываться, если модель распределила на него трудозатраты; день без распределённых трудозатрат не учитывается, а один коммит с нулевыми трудозатратами не добавляет день Spread. Это смоделированные даты, а не наблюдаемые рабочие дни.

В режиме FTE используется период активности разработчика в выбранном охвате: от первой даты с трудозатратами до даты последнего коммита, включая коммиты с нулевыми трудозатратами. Этот период пересекается с выбранным отчётным периодом; считаются будни, в том числе без коммитов или трудозатрат, а также выходные с положительными трудозатратами. В командных представлениях период также может ограничиваться сроками участия в команде. В отчётах с календарём сотрудника используется отдельный знаменатель: доступные минуты по заданному графику, переопределениям дат и отсутствиям, делённые на 480 минут полного рабочего дня. В них применяются те же 3-часовая норма и поправка Share; стандартное число дней Spread/FTE не меняется.

Что корректирует Share

Share — задаваемая вручную доля от 0% до 100%, по умолчанию 100%. Значение 100% соответствует обычной full-time роли разработчика, а не восьми часам набора кода. 3-часовая базовая норма уже оставляет место для обычной некодовой части этой роли. Уменьшайте Share, если человек меньше занят оцениваемой разработкой — например, работает part-time или выполняет дополнительные обязанности; не вычитайте обычную некодовую часть дня повторно.

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

Share изменяет скорректированный Ghost% делением. Он не меняет оценённые трудозатраты, распределённую временную шкалу, исходный Ghost%, число дней или стоимость. При Share = 0% скорректированный Ghost% недоступен, а не равен нулю или бесконечности. Если Share не определён, результат также недоступен. Coding Share не связан с экспериментальной долей AI-следа, которая показывается в других разделах продукта.

Примеры для отдельных разработчиков

При стандартной норме E = 30 эталонных часов и D = 10 дней дают 100% при Share = 100%: 30 ÷ (10 × 3 × 1) × 100. При тех же E и D, но Share = 50%, скорректированный Ghost% равен 200%, а исходный Ghost% остаётся 100%. При Share = 0% скорректированный Ghost% недоступен, а 30 эталонных часов сохраняются.

Выбранный режим влияет на результат: 6 эталонных часов, распределённых на одну дату, дают 200% в режиме Spread. Если эта дата входит в период FTE длиной 20 рабочих дней, FTE Ghost% составит 10% при Share = 100%. Один и тот же результат в коде сравнивается с разным числом дней; ни один из вариантов не восстанавливает фактическое рабочее время.

Итоги по команде и репозиторию

Общий Ghost% в дашборде и публичных сводках репозитория — это средневзвешенное по трудозатратам индивидуальных значений: Σ(Eᵢ × Ghost%ᵢ) ÷ ΣEᵢ. В проценте каждого человека уже учтены его число дней и Share. Это не общие трудозатраты команды, делённые на 3, не объединённая норма на человеко-день и не простое среднее по людям. Сопоставляйте итог с выбранным охватом и режимом.

Пример: у A 30 эталонных часов за 10 дней (100%), у B — 15 часов за 10 дней (50%), у обоих Share = 100%. Общий средневзвешенный результат равен (30 × 100 + 15 × 50) ÷ 45 = 83,33%. Если разделить их суммарные 45 часов на 20 человеко-дней, а затем на 3, получится 75% — это другая статистика. Если положительные трудозатраты относятся к человеку, для которого скорректированный Ghost% недоступен, скорректированный общий результат также недоступен; участники с нулевыми трудозатратами не добавляют вес.

Распределение трудозатрат во времени

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

Текущее окно распределения содержит 14 календарных дат: дату коммита и 13 предшествующих дат, в том числе до первого коммита или выбранного отчётного периода. Дата коммита учитывается даже в выходной; более ранние субботы и воскресенья пропускаются. Остаток сохраняется и учитывается в расчётном распределении во времени. Этот расчётный остаток не является наблюдаемой переработкой. Фильтры отчёта выбирают даты, на которые были распределены трудозатраты; изменение видимого периода не переносит в него все трудозатраты коммита.

Ёмкость распределения 5 часов и 3-часовая базовая норма Ghost решают разные задачи. Ёмкость размещает эталонные трудозатраты на временной шкале, а базовая норма преобразует дневной эталонный результат в относительную оценку продуктивности. Ни одно из этих чисел не отражает фактический рабочий день разработчика. Даты интерпретируются в часовом поясе проекции. В старых workspace и сохранённых анализах может сохраняться прежняя политика распределения; эти параметры описывают текущую политику.

Как это читать

Показанные диапазоны сравнивают результат с выбранной эталонной нормой. Интерпретируйте их по устойчивой динамике и с учётом роли:

  • 120% и выше — выше эталонной нормы.
  • От 100 % до 120 % — на уровне нормы или выше.
  • От 80 % до 100 % — немного ниже нормы.
  • Ниже 80 % — заметно ниже нормы.

Что означает результат выше 100%

Результат выше 100% означает, что оценённый результат в коде превышает норму для выбранного способа подсчёта дней и Share. Одной из причин может быть помощь AI, наряду с опытом, инструментами и характером работы. Сам по себе высокий Ghost% не доказывает использование AI, качество кода или влияние на бизнес.

Чем Ghost % не является

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

DevGhost использует историю и изменения Git. Учёт рабочего времени, снимки экрана и запись нажатий клавиш не нужны.