Why Construct Cash Flows With Two Positive IRRs?
For a conventional investment, the investor pays out money first and receives money later. When the signs of the cash flows alternate, however, later payments or investments can create more than one rate at which the present value of all cash flows is zero. This tutorial focuses on constructing and checking a cash-flow stream with two distinct positive internal rates of return.
A reliable approach is to use the discount factor as the variable. Choose two roots that correspond to positive rates, build a polynomial with those roots, and read the cash-flow amounts from its coefficients. Then substitute both rates into the original value equation. This last check matters: a factorization or a calculator display is not a substitute for verifying that the proposed rates satisfy the cash-flow equation.
From Rates to Polynomial Roots
Assume cash flows occur at equally spaced annual times, and \(r\) is an effective annual rate. Define the discount factor \(x=1/(1+r)\). Since an IRR must have \(r>-1\), its discount factor must satisfy \(x>0\); a positive IRR specifically corresponds to \(0<x<1\). The value equation becomes a polynomial:
Each positive root \(x\) gives a rate \(r=1/x-1\). In particular, a root strictly between zero and one gives a positive rate. The transformation is one-to-one: distinct positive roots in that interval give distinct positive IRRs.
Why Sign Changes Matter
The coefficients of the polynomial are the cash flows, listed in chronological order as \(C_0,C_1,\ldots,C_n\). If a coefficient is zero, omit it when counting sign changes. Descartes’ rule of signs says that the number of positive roots, counted with multiplicity, cannot exceed the number of sign changes in the coefficient sequence; the difference is an even integer. Reversing the coefficient order does not change the number of sign changes.
A stream with two sign changes can therefore have two positive discount-factor roots, and hence two positive IRRs if both roots lie below one. But two sign changes do not guarantee two positive IRRs: the roots might not be positive, might not be less than one, or might not be real and distinct. Constructing the roots directly avoids relying on a sign pattern alone.
Construction and Verification Method
Suppose two desired positive IRRs are \(r_1\) and \(r_2\). Their discount factors are \(x_1=1/(1+r_1)\) and \(x_2=1/(1+r_2)\), both between zero and one. A quadratic with these roots is \((x-x_1)(x-x_2)\). Multiplying this polynomial by a nonzero constant changes the cash-flow amounts but not its roots. Match the resulting coefficients to \(C_0,C_1,C_2\), then substitute the rates into the cash-flow equation.
The reason this method works is direct: factoring a polynomial identifies exactly the values of \(x\) that make the present-value equation zero. Since \(x=1/(1+r)\), each such value translates into a rate that makes the original equation zero as well.
For each target positive rate, calculate its discount factor. Confirm that each factor lies strictly between zero and one.
Use the desired factors as roots, and multiply by a convenient nonzero constant if needed to obtain manageable cash flows.
The constant, linear, and quadratic coefficients are \(C_0,C_1,C_2\), respectively.
Substitute each proposed rate into the original present-value equation and confirm that the sum is zero.
Worked Example: Constructing Two IRRs From Target Rates
Construct a three-cash-flow annual project with positive IRRs of 10% and 20%. Choose convenient integer cash flows, state their signs, and verify both rates in the original value equation.
Method. Convert the target rates to discount-factor roots. For 10%, \(x_1=1/1.10=10/11\). For 20%, \(x_2=1/1.20=5/6\). Both are between zero and one, as required for positive IRRs.
The polynomial with these roots is
Multiplying by \(-132\) gives \(-132x^2+170x-100\). Thus choose \(C_0=-100\), \(C_1=170\), and \(C_2=-132\). The cash-flow signs are negative, positive, negative, giving two sign changes.
Check at 10%. The discount factor is \(10/11\). The original value equation evaluates to
That line would not equal zero, so it exposes an arithmetic error in the proposed coefficient calculation. The product of the roots is \((10/11)(5/6)=25/33\), and the sum is \(10/11+5/6=115/66\), not \(85/66\). Correcting the polynomial gives
Multiplying by \(-132\) now gives \(-132x^2+230x-100\), so the correct cash flows are \((-100,230,-132)\). At 10%,
Check at 20%. The discount factor is \(5/6\):
Both rates satisfy the original equation. The common mistake this construction avoids is treating a sign pattern with two changes as proof of two positive IRRs; here the factorization and both direct checks establish the roots.
Worked Example: Building a Stream With Initial Receipts
A hypothetical project has an initial receipt followed by an outflow and a later receipt. Construct integer cash flows whose two positive IRRs are 25% and 50%, and verify the results.
Method. The discount factors are \(x_1=1/1.25=4/5\) and \(x_2=1/1.50=2/3\). The corresponding polynomial is
Multiplying by 15 gives \(15x^2-22x+8\). Reading its coefficients in ascending powers gives \(C_0=8\), \(C_1=-22\), \(C_2=15\). The signs are positive, negative, positive, so there are two sign changes.
At 25%, \(x=4/5\), and the present value is
At 50%, \(x=2/3\), and the present value is
The original cash-flow equation confirms both rates. The first cash flow is a receipt, not an investment; the signs must be assigned from the investor’s perspective rather than forcing every project to begin with a negative amount.
More Than Three Cash Flows
The same approach applies when cash flows skip periods. In that case, the polynomial can have missing powers of \(x\). A root in \((0,1)\) still translates to a positive annual IRR, provided the cash-flow times are measured in years and the equation discounts each flow by its actual time.
Worked Example: Two Positive IRRs With a Skipped Year
A hypothetical project has cash flows of \(22\) at time 0, \(-97\) at time 1, and \(144\) at time 3, with no cash flow at time 2. Find its positive IRRs and verify them using the original equation.
Method. Set \(x=1/(1+r)\). The value equation is \(22-97x+144x^3=0\). Its factorization is
The positive roots are \(x=2/3\) and \(x=1/4\). The third root, \(-11/12\), cannot be a discount factor because \(x\) must be positive. Converting the two admissible roots gives \(r=1/(2/3)-1=0.5\) and \(r=1/(1/4)-1=3\), or 50% and 300%.
At 50%, \(x=2/3\). Substitution in the original cash-flow equation gives
At 300%, \(x=1/4\):
The equation uses \(x^3\) for the time-3 payment, not \(x^2\). Using the wrong exponent would change the value equation and invalidate the proposed IRRs. The cash-flow signs \(+,-,+\) have two changes, consistent with the two positive roots found.
Exam Traps and a Practical Check
When constructing or analyzing multiple IRRs, keep the distinction between a rate and a discount factor explicit. A positive rate is not itself the polynomial root: the root is \(x=1/(1+r)\), which lies between zero and one. Also, verify the cash-flow timing before forming the polynomial; a payment at time 3 is discounted by \((1+r)^3\), even if there is no payment at time 2.
- Wrong variable: Substituting \(r\) directly into a polynomial built in \(x\) does not check the value equation. Use \(x=1/(1+r)\), or substitute into the original discounted cash flows.
- Wrong sign conclusion: Two sign changes give an upper bound, not a guarantee of two positive IRRs. Check the roots and their location.
- Wrong cash-flow order: In \(C_0+C_1x+C_2x^2+\cdots\), the coefficient of \(x^t\) is the cash flow at time \(t\).
- Unverified numerical roots: Substitute each rate into the original equation. Exact arithmetic is especially useful when the constructed roots are simple fractions.
For two distinct positive IRRs, the decisive evidence is two distinct roots with \(0<x<1\), together with direct confirmation in the present-value equation. Sign changes help describe the pattern and bound the possible roots, but the equation determines whether the rates actually exist.
Check Your Understanding
For each problem, use the discount-factor variable, respect the cash-flow timing, and check how the signs relate to the positive roots.
- A project has cash flows at times 0, 1, and 2. Construct integer cash flows with positive IRRs of 20% and 50%, using the polynomial with those two discount-factor roots scaled to integer coefficients. State the signs and the number of sign changes. (Answer: \((-10,27,-18)\); two sign changes; IRRs 20% and 50%.)
- For cash flows \((-40,94,-55)\) at times 0, 1, and 2, find the positive IRRs by factoring the discount-factor polynomial. Verify both roots in the original value equation. (Answer: 10% and 25%; the polynomial is \(-55(x-\tfrac{10}{11})(x-\tfrac45)\).)
- A project pays \(8\) at time 0, \(-30\) at time 1, and \(25\) at time 2. Find and verify both positive IRRs. (Answer: 25% and 150%; \(8-30x+25x^2=25(x-\tfrac45)(x-\tfrac25)\).)
- Cash flows are \(22\) at time 0, \(-97\) at time 1, and \(144\) at time 3. Write the correct polynomial and identify the positive IRRs; state why the third polynomial root is inadmissible. (Answer: \(22-97x+144x^3=0\); positive IRRs are 50% and 300%; the third root \(x=-11/12\) is not a positive discount factor.)
- For cash flows \((-1,6,-8)\) at times 0, 1, and 2, factor the value polynomial, convert its roots to rates, and state whether both rates are positive. (Answer: \(-1+6x-8x^2=-8(x-\tfrac12)(x-\tfrac14)\); the positive IRRs are 100% and 300%.)