Hello! Welcome back to our module on Rate of Return Analysis.
In our last lesson, we defined the Internal Rate of Return (IRR) as the specific discount rate that makes a project's Net Present Worth (NPW) exactly zero. We established the core decision rule: for a single, independent project, if its IRR is greater than or equal to your Minimum Acceptable Rate of Return (MARR), the project is economically acceptable.
Today, we move from the "what" to the "how." Our goal is to calculate the IRR for simple investment projects with conventional cash flows. A conventional cash flow pattern is what you'll see in most straightforward projects: an initial investment (a negative cash flow) followed by a series of positive returns (inflows).
We'll find that we can't usually solve for IRR with a simple algebraic formula. Instead, we'll learn the practical techniques used to find this crucial percentage.
The IRR Equation: The Root of the Problem
As a quick refresher, the IRR, which we'll call , is the rate that satisfies this equation:
Where is the cash flow at time and is the project's life.
For a project with an initial cost and a series of future inflows , the equation looks like this:
This is a polynomial equation of degree in terms of the variable . For any project longer than two or three periods, solving this equation directly for becomes impractical or impossible by hand. This is why we need other methods.
The following reading sets up a typical problem and introduces the methods we will explore.
5.2 Basic Evaluation Methods – Engineering Economics
This reading from 'Engineering Economics' by saskoer.ca sets up the IRR calculation for a sample project and frames the challenge, leading into the different methods we'll discuss.
Please read the short subsection titled 'Calculating the IRR'. It shows the NPW equation for a multi-period project and highlights why it's not easy to solve by hand.
As the text points out, we need a systematic way to find the answer. Let's look at a few methods, starting with the simplest case.
Method 1: Direct Solution for Simple Projects
For very simple projects, we actually can solve for the IRR directly. This is generally limited to projects with only two or three cash flows.
5.2 Basic Evaluation Methods – Engineering Economics
The same resource provides a clear walkthrough of the 'Direct Solution' method for the simplest cash flow patterns.
Please read the section 'Method 1: Direct Solution'. Focus on 'Case A' and 'IRR Example 1'. Skim 'IRR Example 2' to see how a three-period project can sometimes be solved with the quadratic formula, but you don't need to memorize that process.
Let's recap the key takeaway from Case A:
Project: Invest $2,000 today (), receive $3,500 in 4 years ().
Equation:
Solution: By rearranging the equation, you can directly solve for .
This direct method is quick and easy when it applies, but most of your real-world projects, like developing a new software feature with annual returns, will have more complex cash flows.
Method 2: Trial and Error (The Iterative Approach)
This is the most fundamental and intuitive method for finding the IRR of any project by hand. The process is a systematic search for the rate that drives the NPW to zero.
The logic relies on the relationship between the discount rate and the NPW:
- As the discount rate increases, the present value of future inflows decreases, thus the NPW decreases.
- As the discount rate decreases, the present value of future inflows increases, thus the NPW increases.

This relationship gives us a clear strategy for our search:
- Guess an interest rate, .
- Calculate the NPW using this rate.
- If NPW > 0, your guess for was too low. Try a higher rate.
- If NPW < 0, your guess for was too high. Try a lower rate.
- Repeat until the NPW is very close to zero.
Let's see this in action.
5.2 Basic Evaluation Methods – Engineering Economics
Let's return to our resource, which details the trial-and-error process with a clear example.
Please read the sections 'Method 2: Trial-and-Error' and the 'Example' that follows. Pay close attention to the table showing the series of guesses and how the NPW changes with each guess.
The example demonstrates the process perfectly. Starting with a guess of 5% yields a positive NPW ($985.61), so the next guess must be higher. Guessing 10% yields a negative NPW (-$91.76). This tells us the true IRR is bracketed between 9% and 10%. The process then refines the guess within that range until it lands on an NPW very close to zero, giving an IRR of approximately 9.53%.
Test your understanding!
You are evaluating a project to purchase a new build server for your development team.
- Initial Cost (Year 0): -$10,000
- Annual Savings (Year 1): +$4,000
- Annual Savings (Year 2): +$4,000
- Annual Savings (Year 3): +$4,000
Your colleague makes an initial guess for the IRR at 10%.
The NPW at 10% is:
Based on this result, should the next guess for the IRR be higher or lower than 10%? Why?
Show answer
The next guess should be lower than 10%.
The NPW is negative, which means the 10% discount rate was too high—it reduced the value of the future savings too much. To bring the NPW up toward zero, you need to use a smaller discount rate. (The actual IRR is about 9.7%).
A Refinement: Linear Interpolation
Once you have bracketed the IRR between two rates (one giving a positive NPW and one a negative), you can use linear interpolation to get a very close estimate without further guessing.
The formula is:
Where:
- = The lower interest rate guess (which gives a positive NPW).
- = The higher interest rate guess (which gives a negative NPW).
- = The positive NPW at .
- = The negative NPW at .
Using the values from the resource's example:
- ,
- ,
This is a very fast way to get an accurate estimate.
The Modern Approach: Using Software
Given your background in software engineering, it's important to note that while understanding the manual method is crucial for conceptual clarity, you will rarely perform trial-and-error calculations in practice.
Modern tools automate this process.
- Spreadsheets: Microsoft Excel and Google Sheets have a built-in
IRR()function. You simply provide the range of cash flows, and it instantly returns the IRR. - Programming: In Python, the NumPy library has a function,
numpy.irr(), that does the same thing.
These tools use sophisticated numerical algorithms (like the Newton-Raphson method) to perform the iteration and find the root of the NPW equation almost instantly. Learning the manual method ensures you understand exactly what these functions are accomplishing under the hood.
Conclusion
Today, we've moved IRR from a theoretical concept to a number we can actually calculate. While it can't always be solved for directly, we have a robust iterative method to find it.
- Key Takeaways:
- Finding the IRR means solving the NPW=0 equation for the interest rate .
- For most projects, this equation is a high-degree polynomial that cannot be solved directly.
- Trial and error is the fundamental manual method: guess a rate, calculate NPW, and systematically adjust your guess based on whether the NPW is positive or negative.
- Linear interpolation is a useful shortcut to quickly estimate the IRR once it's been bracketed between two rates.
- In a professional setting, you will use software functions like
IRR()in Excel ornumpy.irr()in Python, which automate the trial-and-error process.
Preview of the Next Lesson
Now that we can define IRR and calculate it, the next step is to formalize its use in decision-making. In the next lesson, we will focus on how to evaluate project acceptability by comparing its IRR to the MARR, solidifying the simple but powerful decision rule we introduced earlier.