It is interesting to see what assumptions the market is making with regards to Tesco’s earnings/dividends.

Let’s take the Gordon Growth Model as our base. It states that P = D/(k-G)

where P is the share price, D is the expected dividend one year out, k is the required rate of return for equity investors, and G is the perpetual growth rate.

We can re-arrange this to give

G = k – D/P

k is a hurdle rate using the CAPM model. The numbers may be a little stale, but I’m not keen on working everything out from first principles. So I have taken the risk free rate rf=2.95%, and the equity risk premium erp= 4.96%. The beta for Tesco is 0.71 – I have taken an average from 3 sites. Therefore

k = rf + beta * erp = 2.95 + 0.71 * 4.96 = 6.47%

I use D = 14.73p, P = 247p. Hence

G = 0.0647 – 14.73/247 = 0.0647 – 0.0600 = 0.47%

In other words, the market is inferring a perpetual growth rate for Tesco at a miniscule 0.47%.

The question then is: do you believe that rate is too low? Too high?

We can actually model a few assumptions.

If we expect Tesco to grow at about a market-implied average rate, then we would set G=0.0295, which is the risk-free rate. It’s a fairly reasonable assumption, in which you obtain a fair price of

P = 14.73/(0.0647 – 0.0295) = 418p

Clearly, Tesco would be considered heavily undervalued on this basis.

What if you assumed no-growth? Then

P = 14.73/0.0647 = 228p.

Actually less than the current share price.

What if you’re a real pessimist, and assume that Tesco slowly grinds its way down, and loses 1% in dividend per annum? You would set G=-0.01 to obtain

P = 14.73/(0.0647 + 0.01) = 197p

Finally, let’s consider a range of scenarios, where we assume that the growth rate is somewhere between -1% and +2.95%, with an even distribution. Then we would expect an expected fair value of around 280p; with an implied upside of about 14%.

The 280p was obtained by hacking a Fortran program:

program tesco
real :: g,p, n, pt
n = 0
g = -0.01
pt = 0
100 continue
n = n + 1
p = 14.73/(0.0647-g)
pt = pt + p
g = g + 0.0001
print *, g, p
if(g.le.0.0295) goto 100
print *, pt/n
end program

### Like this:

Like Loading...

*Related*