How to Calculate the Rate of Return on Stocks
Delving into the Nuance of A Seemingly Straightforward Topic
On the face of it, this topic seems pretty basic. But I think calculating the rate of return on stocks is actually kind of nuanced. Here’s how to do it.
In How to Value Stocks, I discussed how to estimate the present value of future dividends when a certain required rate of return is assumed. One can then compare their present value estimate to the stock price to determine whether there is any upside.
However, arguably it’s more appropriate to not assume some arbitrary required rate of return and instead just think about the rate of return the stock will produce. As I discussed in How to Value stocks, a stock gives you the right to all future dividends. The return on investment to shareholders as a whole, therefore, is the return from those future dividends per share:
Buy a share of company: negative P0 cash flow
Get future dividends: positive D1, D2, … , Dn cash flow
The Rate of Return from Future Dividends
So how do we calculate that rate of return? Generally, the rate of return is the compound return that results in the future value of the investment:
Stock Price * (1 + rate of return)^t = Future Value
P0(1+r)^t = FVt
Since we’re getting multiple dividend payments in the future, we have to convert those into an equivalent future value. The way we estimate the equivalent future value is by assuming each interim dividend is reinvested at the same rate of return as the overall compound rate of return:
FVt = D1(1+r)^(t-1) + D2(1+r)^(t-2) + … + Dt
In practice most people assume a company lasts forever (which for many companies is actually not unreasonable given the discount factor gets very low very fast). Under this assumption, at some steady-state point, the present value of future dividends at time t is the current dividend, Dt, multiplied by the steady-steady earnings/dividend growth rate, g, divided by the rate of return, r, net of the growth rate, g. (The derivation of this formula is here.)
PVt(Dt+1, Dt+2, … , D∞) = Dt(1+g)/(r-g)
So, when a company lasts forever and reaches a steady state, the future value of dividends is:
FVt = D1(1+r)^(t-1) + D2(1+r)^(t-2) + … + Dt + Dt(1+g)/(r-g)
Inserting this formula into the formulas above, we can calculate the stock price as a function of estimated future dividends and the rate of return.
P0(1+r)^t = FVt
P0(1+r)^t = D1(1+r)^(t-1) + D2(1+r)^(t-2) + … + Dt + Dt(1+g)/(r-g)
P0 = D1/(1+r) + D2/(1+r)^2 + … + Dt/(1+r)^t + Dt(1+g)/(r-g)/(1+r)^t
Since we know the stock price (P0), our estimates of future dividends up until the steady state (D1, D2, … , Dt), our estimated steady-state growth rate (g), and our estimated year after which the company reaches a steady state (t), we can solve the equation for the one unknown, r, the rate of return. (Unfortunately, it is only possible to solve the formula using guess and check.)
Example: Company with No Interim Dividends
For the companies I tend to invest in, it’s usually simplest (and reasonable) to assume no dividends before the steady state and that any pre-steady-state free cash flow to equity is used to repurchase shares. This simplifies the equation by getting rid of all the interim dividends:
P0 = Dt(1+g)/(r-g)/(1+r)^t
Since dividends are equal to earnings per share multiplied by the payout ratio ...
Dt = EPSt*payout
… this formula can be expressed as a function of earnings per share, EPS:
P0 = (EPSt*payout)(1+g)/(r-g)/(1+r)^t
For example, assume a company reaches a steady state after year 10. You estimate it will earn $20 per share in year 10 and pay out 70% of earnings, resulting in a year-end dividend of $14, and then will grow earnings and dividends 3% forever, implying a steady-state incremental return on equity of 10%. You also assume that the company has reinvested all earnings up to this point, so it hasn't yet paid a dividend. What is the rate of return from future dividends if the stock price is $10?
$10 = $20*70%*(1+3%)/(r-3%)/(1+r)^10
$10 = $14*1.03/(r-3%)/(1+r)^10
Using guess and check (via the Goal Seek add-on in Google Sheets), the answer is that the rate of return is 9.06%.
Real-Life Example: Zillow
I wrote a Twitter thread a few days ago on Zillow, so I’ll use it as an example. My admittedly bullish 2040 earnings estimate for Zillow is $211 per share, which assumes all free cash flow to equity before then is used to repurchase shares and decrease the share count by 2% per year. (You might think those assumptions are crazy, but just bear with me for the sake of calculating what they mean for the rate of return.) I also assume that by 2040 Zillow has reached a steady state and starts paying out dividends. I then assume a 4% steady-state earnings/dividend growth rate, which is the result of a 80% payout ratio and 20% incremental ROE (4% = 20% * (1-80%)). The current stock price for the non-voting shares (which I own) is $91.10. So to calculate the rate of return, we have to solve the following formula:
P0 = (EPSt*payout)(1+g)/(r-g)/(1+r)^t
$91.10 = $211*80%*(1+4%)/(r-4%)/(1+r)^19
The result (again using guess and check) is a rate of return from future dividends of 15.8%.
Trying to Be Realistic - the Rate of Return from Selling the Stock in the Future
There are two problems with using the rate of return from future dividends. First, no one is actually going to be around forever to receive all those dividends. So in a sense it’s not a realistic way to estimate the rate of return you as a single investor will get from holding the stock. Second, it typically assumes that all dividends are reinvested at the same rate of return as the overall rate of return.
In my opinion, it’s often more realistic to try to guess the stock price people will pay at the steady state and then estimate your rate of return based on that. This requires estimating steady-state earnings, like we do in the dividend method, and then applying an appropriate P/E ratio to those earnings based on the rate of return we think other investors will require once the company gets to the steady state. To calculate this multiple, we use the same formulas:
FVt = P0(1+r)^t
FVt = Pt
Pt = P0(1+r)^t
P0 = (EPSt*payout)(1+g)/(r-g)/(1+r)^t
Pt = (EPSt*payout)(1+g)/(r-g)/(1+r)t*(1+r)^t
Pt = (EPSt*payout)(1+g)/(r-g)
We still have $211 in estimated 2040 EPS, a 80% payout ratio, and 4% steady-state growth (based on a 20% steady-state incremental ROE). So all we need to do is make an assumption about the return investors will require to invest in Zillow in 2040 in this scenario. Since the 4% growth rate is assuming interest rates stay low, I think a steady-state required return of 9% is reasonable given the $211-EPS-in-2040 scenario assumes Zillow has established a pretty dominant market position.
P19 = $211*80%*(1+4%)/(9%-4%) = $211 * 16.6 = $3,516
So based on an implied steady-state 2040 P/E ratio of 16.6x, my best guess is Zillow’s 2040 stock price (in my rosy-eyed scenario) will be $3,516. We can then use that future value to estimate the rate of return investors will get by holding Zillow stock until 2040. The result is a rate of return of 21.2%.
$3,516 = $91.10 * (1+r)^19
r = ($3,516/$91.10)^(1/19) - 1 = 21.2%
Future Stock Price vs. Future Dividends
In the case of Zillow, why is the rate of return from the future-stock-price method so much higher than from the future-dividends method? Because the future-dividends method assumes that the required return at the steady-state period is the overall rate of return from future dividends, which in the case of Zillow is quite high at 15.8%. To illustrate, let’s plug in the 15.8% future-dividends rate of return into the future-stock-price formula. The result is an implied 2040 P/E ratio of only 7!
P19 = $211*80%*(1+4%)/(15.8%-4%) = $211 * 7.0 = $1,486
We can then check that the 7 P/E 2040 stock price ($1,486) generates a 15.8% rate of return:
$1,486 = $91.10 * (1+r)^19
r = ($1,486/$91.10)^(1/19) - 1 = 15.8%
Takeaway
This tells us that, in order for the future-dividends method to generate the same rate of return as the future-stock-price method, the expected rate of return from future dividends has to be the same as the rate of return that investors require in the future.
As certainty decreases, investors will be willing to pay less for a stock (relative to earnings and all else equal) and the expected rate of return will increase. As certainty increases, investors will be willing to pay more for a stock and the expected rate of return will decrease. It is only when certainty stays the same that the expected return stays the same.
Therefore, the only way for the expected rate of return from future dividends to be the same as the rate of return that investors require in the future is for the certainty regarding those dividends to stay the same over time. In other words, for the future-dividends method to be realistic for individual investors (since future returns to individual investors are, in reality, based on the proceeds from selling a stock), the market’s certainty regarding the company has to be stable over time, such as for a utility. For a company that is tackling a new business model, such as Zillow, the future-dividends method is not realistic and it’s more appropriate to instead estimate the rate of return by guessing the future stock price.
Addendum to How to Value Stocks - Clarity on Calculating “Fair” Value
Using the future-stock-price method, how does one calculate the “fair” value of a stock? Something I didn’t make explicit in my post on how to value stocks is that it actually requires estimating two discount rates (required rates of return). First, we have to guess the markets’ required rate of return when the stock reaches a steady state. That, with our assumptions of growth, payout ratio, and future earnings, will give us an estimate of the future stock price. Second, we convert that future stock price to a “fair” present value. However, the discount rate used in this second step is not the same as the discount rate used in the first step. The first step uses the discount rate other investors will require in the future. The second step uses the discount rate you require right now. That’s why, in the At Home example, I used a 10% discount rate to capitalize the steady-state earnings and get a 2030 stock price, but then used a 13% discount rate to convert the 2030 stock price to present day when calculating the “fair” current value of At Home.