Монте-Карло: симуляция сроков
Метод Монте-Карло отвечает на вопрос не «когда закончим», а «с какой вероятностью закончим к такой-то дате». Вместо одной цифры он даёт распределение возможных исходов.
Зачем симуляция, а не одна формула
PERT даёт точечную оценку и нормальное приближение. Но у него две слепые зоны:
- Реальные длительности перекошены: задача чаще затягивается, чем завершается досрочно. Симметричная нормальная кривая это не отражает.
- При слиянии путей в сети срок = максимум из сходящихся веток. А максимум почти всегда больше среднего каждой ветки — возникает систематическое смещение (merge bias), которое аналитическая формула недооценивает.
Симуляция ловит и то, и другое, потому что честно «проигрывает» сеть много раз.
Как это работает
Одна симуляция — это один «прогон» всего проекта:
- Каждой задаче назначается случайная длительность из её распределения (треугольного, построенного по оценкам O / M / P).
- По сети считается срок всего проекта в этом прогоне.
- Шаги 1–2 повторяются тысячи раз.
Из полученного распределения сроков берутся перцентили. В Такте это 5000 прогонов по сети с треугольным сэмплированием и воспроизводимым генератором случайных чисел (один и тот же вход даёт один и тот же результат).
P50 / P85 / P95
Перцентиль — это срок, в который уложилась заданная доля прогонов:
- P50 — медиана: половина исходов быстрее, половина дольше.
- P85 — срок, в который уложились 85 из 100 прогонов. Это оценка для обещаний наружу.
- P95 — почти гарантия.
частота
█
██
████ P50 P85 P95
██████ │ │ │
─────────────┴────────┴─────┴──► дней
Распределение перекошено вправо: «хвост» долгих исходов длиннее, поэтому P85 заметно правее P50 — и это честнее, чем брать среднее.
Наивный vs сетевой MC
Такт считает две симуляции и показывает их рядом:
- Наивный MC — гоняет по дневной пропускной способности (throughput) команды, без учёта зависимостей. Быстро, но игнорирует структуру работы.
- Сетевой MC — гоняет по графу зависимостей (той же сети, что и CPM).
Сравнение «наивный vs сетевой» — не украшение, а готовый исследовательский вопрос: даёт ли учёт зависимостей более точный прогноз. Ответ на него проверяется калибровкой.
Где увидеть
Метрики «Симуляция» и «Наивный MC» на карточке сетевого прогноза; отдельная карточка «Monte Carlo» в аналитике — с гистограммой распределения и режимом «что-если» (можно подставить свои вводные и посмотреть сценарий).