●NPV отвечает на вопрос «выгодно ли при ставке 10%?». Но руководитель спрашивает иначе: «а какую доходность проект даёт сам по себе?». Нужна одна ставка, с которой проект сравнивают с требуемой.
IRR — это ставка \(i^*\), при которой NPV обнуляется: приведённые поступления ровно гасят вложения. Посчитайте NPV проекта при разных ставках — он падает с ростом ставки и где-то пересекает ноль. Эта точка и есть IRR. Сравниваем её с требуемой доходностью страховщика: выше — проект принимаем.

Кривая NPV как функция ставки \(i\): плавно убывает и пересекает ось в одной точке — это и есть IRR. Слева от неё (ставка ниже IRR) проект в плюсе, справа — в минусе.
✍️ Разберём на числах
Упростим до двух потоков: вложили \(C_0 = 10\,000\) ₽ сейчас и получили \(R = 50\,000\) ₽ через \(n = 10\) лет. Из \(0 = -C_0 + R v^n\) следует \(v^n = C_0/R\), поэтому
То есть \(IRR \approx 17{,}46\%\) годовых. (Числа проверены python.)
📐 Формула
Для простой схемы «\(C_0\) в момент 0, единственное поступление \(R\) в момент \(n\)»:
Для сложного потока сигнатур прибыли \(\sigma_t\) корень ищут численно. Правило: принимаем проект, если \(IRR\) больше требуемой доходности страховщика.
npv-of-project фиксирует ставку и
считает прибыль, а IRR фиксирует нулевую прибыль и ищет ставку.