Optimization of WACC / CAPM / BETA in DCF

WACC Iteration Methods in DCF method.
lang-eng
python
valuation
Published

October 22, 2022

1 Introduction

You finally got to the DCF stage of company valuation.

In front of you there is a big Excel table, with neatly separated sheets for each stage of the analysis and/or DCF component, just like Koller taught you.

Figure 1: Relatable?

And now, you got to the point of using WACC, which asks you question on ponders of equity and debt.

Given that the company is operating in such and such industry, you head over to prof. Damodaran’s web page, and go to the section of Discount Rate Estimation.

You get your ponders, and you call it a day.

Time for celebration? Not quite.

See, Damodaran & Koller expected that you will be dealing with public, not private equity. Yet, in your professional life, you’re almost always getting private equity for valuation.

Let’s see why you have to change your methodology in determining optimal WACC.

2 Weighted Average Cost of Capital (WACC)

Let’s remind ourselves what WACC is:

The weighted average cost of capital (WACC) is the rate that a company is expected to pay on average to all its security holders to finance its assets. The WACC is commonly referred to as the firm’s cost of capital. Importantly, it is dictated by the external market and not by management. The WACC represents the minimum return that a company must earn on an existing asset base to satisfy its creditors, owners, and other providers of capital, or they will invest elsewhere.

WACC can be calculated from the following formula:

\[ WACC = \frac{D}{D + E} \times K_{d} \times (1 - t) + \frac{E}{D + E} \times K_{e}\]

The meaning of symbols are as follows:

  • \(E\): market value of equity.
  • \(D\): market value of debt.
  • \(E + D\): market value of equity and debt.
  • \(K_{d}\): cost of debt.
  • \(t\): tax rate.
  • \(K_{e}\): cost of equity.

I’ve bolded especially relevant parts. WACC asks for the following input: market value of equity and debt, and this is troubling given that we want to get to calculate market value of equity. First of all, how can I supply value of equity if I am trying to calculate it?

Figure 2: Dear cat, both!

Let’s add even more complexity.

3 CAPM

How will you calculate \(K_{e}\)? Plenty of methods exist, but most popular one is CAPM:

\[ K_{e} = R_{f} + \beta{} \times (E(R_{m}) - R_{f}) \]

Where:

  • \(R_{f}\): risk-free rate.
  • \(E(R_{m})\): expected return of the market.
  • \(\beta{}\): sensitivity of the expected excess asset returns to the expected excess market returns.

Let’s dig deeper into \(\beta{}\).

4 \(\beta{}\) (Hamada’s Equation)

There are plenty of \(\beta{}\) to choose from, but most popular one is based on Hamada’s equation:

\[ \beta{}_{L} = \beta{}_{U} \times (1 + (1 - T) \times \frac{D}{E}) \]

Where:

  • \(\beta{}_{L}\): levered beta, which goes into the CAPM.
  • \(\beta{}_{U}\): unlevered beta that we get from relevant set of Guideline Public Companies (GPC).
  • \(T\): tax rate.
  • \(D\): market value of debt.
  • \(E\): market value of equity.

I like this formula, because it shows that stakeholders will demand more return if company goes into more debt.

But, see the formula one more time: it asks of us market value of debt and equity. We don’t know market value of equity, we’re trying to calculate it.

5 Challenge

How can we solve this circularity? It’s simple, we embrace it.

  • Step 01: we randomly choose market value of equity. It could be any positive number, it doesn’t matter.
  • Step 02: calculate \(\beta{}_{L}\).
  • Step 03: calculate \(K_{e}\) by using CAPM.
  • Step 04: calculate WACC, by using market value of equity from Step 01.
  • Step 05: get the FMV of the company from DCF.
  • Step 06: go back to Step 01, with FMV from Step 05.

Do this until:

\[ FMV_{Step_{1}} = FMV_{Step_{5}}\]

For reference purposes, formula of DCF is:

\[ PV = \frac{CF_{1}}{(1 + r)^{1}} + \frac{CF_{2}}{(1 + r)^{2}} + \ldots{} + \frac{CF_{n}}{(1 + r)^{n}}\]

Of course, I will not be going into \(CF_{n}\), but I will call it a day with Gordon’s growth model.

6 Example

After importing relevant modules, let’s define our free cash flows:

Figure 3: Projected FCFF of ACME Ltd.

Let’s define our starting parameters:

FMV_EQUITY               : 1,000,000 EUR
FMV_DEBT                 : 1,000,000 EUR
RETURN_DEBT              : 5.00%
BETA_UNLEVERED           : 1.20000
TAX_RATE                 : 20.00%
RISK_FREE_RATE           : 5.00%
EQUITY_RISK_PREMIUM      : 15.00%
SIZE_PREMIUM             : 3.50%
GROWTH_RATE              : 2.00%
CASH_BALANCE_SHEET       : 100,000 EUR

Now, we go into the iterating procedure. First, we define our starting \(\beta{}_{L}\):

Acme_Beta = BetaHamada(
    e=_const_data["FMV_EQUITY"],
    d=_const_data["FMV_DEBT"],
    t=_const_data["TAX_RATE"],
    bu=_const_data["BETA_UNLEVERED"]
)

This gives us \(\beta{}_{L}\) of 2.16. Next step is to calculate \(K_{e}\) with CAPM methodology. In version of CAPM below, I will incorporate size premium (smaller companies are more risky, and by the size of these cash flows, we can safely conclude that):

Acme_Capm = CapmModified(
    rf=_const_data["RISK_FREE_RATE"],
    bl=Acme_Beta.levered(),
    erp=_const_data["EQUITY_RISK_PREMIUM"],
    sp=_const_data["SIZE_PREMIUM"]
)

\(K_{e} = 40.90%\)% Yeah, a risky company, and these kind of rates are not unusual for small companies. On to WACC:

Acme_WACC = Wacc(
    e=_const_data["FMV_EQUITY"],
    coe=Acme_Capm.coe,
    d=_const_data["FMV_DEBT"],
    cod=_const_data["RETURN_DEBT"],
    t=_const_data["TAX_RATE"]
)

print_dictionary(Acme_WACC.get_report())
FMV Equity               : 1,000,000 EUR
FMV Debt                 : 1,000,000 EUR
Enterprise Value         : 2,000,000 EUR
Cost of Equity           : 40.90%
Weight - Equity          : 50.00%
Cost of Equity (Weighted): 20.45%
Cost of Debt             : 5.00%
Tax Rate                 : 20.00%
Cost of Debt (Net)       : 4.00%
Weight - Debt            : 50.00%
Cost of Debt (Weighted)  : 2.00%
WACC                     : 22.45%

Finally, we enter the DCF:

Acme_DCF = DCF(
    cf=cf.values,
    r=Acme_WACC.get_wacc(),
    g=_const_data["GROWTH_RATE"],
    cash=_const_data["CASH_BALANCE_SHEET"],
    mid=True,
    debt=_const_data["FMV_DEBT"]
)

# for reference purposes:
ITERATION_ZERO_FMV = Acme_DCF.get_fmv()
ITERATION_ZERO_WACC = Acme_WACC.get_wacc()

Currently, our company is worth 356,550.14 EUR. But, let’s do basic sensitivity analysis:

Figure 4: Sensitivity Analysis of ACME’s DCF model

Unfortunately, we are not done with valuation. If I use calculated FMV for calculating new \(\beta{}_{L}\), I will get something completely different:

OldBeta: 2.16000
NewBeta: 3.89247

This means that I will have to repeat this methodology until I get no more differences. Here is the history:

Iteration FMV BL CAPM_COE WACC FMV_DEBT EV PERC_EQUITY
1 1,000,000 2.16000 40.9000% 22.4500% 1,000,000 2,000,000 50.00%
2 356,550 3.89247 66.8870% 20.5290% 1,000,000 1,356,550 26.28%
3 564,469 2.90071 52.0107% 21.3225% 1,000,000 1,564,469 36.08%
4 472,491 3.23178 56.9767% 20.9991% 1,000,000 1,472,491 32.09%
5 508,856 3.08659 54.7988% 21.1317% 1,000,000 1,508,856 33.72%
6 493,769 3.14423 55.6634% 21.0775% 1,000,000 1,493,769 33.06%
7 499,908 3.12035 55.3053% 21.0997% 1,000,000 1,499,908 33.33%
8 497,390 3.13008 55.4511% 21.0906% 1,000,000 1,497,390 33.22%
9 498,420 3.12609 55.3913% 21.0943% 1,000,000 1,498,420 33.26%
10 497,998 3.12772 55.4158% 21.0928% 1,000,000 1,497,998 33.24%
11 498,171 3.12705 55.4058% 21.0934% 1,000,000 1,498,171 33.25%
12 498,100 3.12732 55.4099% 21.0932% 1,000,000 1,498,100 33.25%
13 498,129 3.12721 55.4082% 21.0933% 1,000,000 1,498,129 33.25%
14 498,117 3.12726 55.4089% 21.0932% 1,000,000 1,498,117 33.25%
15 498,122 3.12724 55.4086% 21.0932% 1,000,000 1,498,122 33.25%
16 498,120 3.12725 55.4087% 21.0932% 1,000,000 1,498,120 33.25%
17 498,121 3.12724 55.4087% 21.0932% 1,000,000 1,498,121 33.25%
18 498,120 3.12725 55.4087% 21.0932% 1,000,000 1,498,120 33.25%
19 498,120 3.12724 55.4087% 21.0932% 1,000,000 1,498,120 33.25%
20 498,120 3.12724 55.4087% 21.0932% 1,000,000 1,498,120 33.25%

So, I started with the same FMV value of debt and equity. These could have been my so-called target capital structure. While this might make sense for public equity,1 for private equity target capital structure does not make any sense precisely because it’s share prices are not public/visible.

This iteration process does not depend on starting value of FMV: I could easily put 100,000,000 EUR, and the final value would have been the same.

But, this process does depend on:

  • Cash Flows: larger cash flows \(\rightarrow{}\) less risk (all else constant).
  • Level od debt: bigger debt \(\rightarrow{}\) more risk (all else constant).

We can repeat iteration process for various level of debt, and see what would final values look like:

FMV BL CAPM_COE WACC FMV_DEBT EV PERC_EQUITY
1,019,023 1.24710 27.2066% 26.1211% 50,000 1,069,023 95.32%
992,538 1.29672 27.9508% 25.7586% 100,000 1,092,538 90.85%
965,933 1.34908 28.7362% 25.4112% 150,000 1,115,933 86.56%
939,211 1.40443 29.5664% 25.0780% 200,000 1,139,211 82.44%
912,374 1.46305 30.4457% 24.7579% 250,000 1,162,374 78.49%
885,427 1.52527 31.3790% 24.4501% 300,000 1,185,427 74.69%
858,373 1.59144 32.3716% 24.1539% 350,000 1,208,373 71.04%
831,213 1.66198 33.4296% 23.8684% 400,000 1,231,213 67.51%
803,952 1.73735 34.5602% 23.5932% 450,000 1,253,952 64.11%
776,592 1.81809 35.7713% 23.3275% 500,000 1,276,592 60.83%
749,135 1.90481 37.0722% 23.0708% 550,000 1,299,135 57.66%
721,586 1.99824 38.4736% 22.8226% 600,000 1,321,586 54.60%
693,945 2.09921 39.9881% 22.5824% 650,000 1,343,945 51.63%
666,216 2.20868 41.6302% 22.3499% 700,000 1,366,216 48.76%
638,402 2.32782 43.4173% 22.1245% 750,000 1,388,402 45.98%
610,503 2.45798 45.3697% 21.9059% 800,000 1,410,503 43.28%
582,524 2.60080 47.5120% 21.6938% 850,000 1,432,524 40.66%
554,466 2.75826 49.8739% 21.4879% 900,000 1,454,466 38.12%
526,331 2.93275 52.4913% 21.2878% 950,000 1,476,331 35.65%
498,120 3.12724 55.4087% 21.0932% 1,000,000 1,498,120 33.25%
469,837 3.34542 58.6813% 20.9040% 1,050,000 1,519,837 30.91%
441,483 3.59194 62.3790% 20.7199% 1,100,000 1,541,483 28.64%
413,060 3.87273 66.5910% 20.5405% 1,150,000 1,563,060 26.43%
384,569 4.19556 71.4334% 20.3658% 1,200,000 1,584,569 24.27%
356,013 4.57067 77.0600% 20.1956% 1,250,000 1,606,013 22.17%
327,392 5.01195 83.6792% 20.0295% 1,300,000 1,627,392 20.12%
298,707 5.53870 91.5805% 19.8675% 1,350,000 1,648,707 18.12%
269,960 6.17851 101.1777% 19.7094% 1,400,000 1,669,960 16.17%
241,151 6.97231 113.0846% 19.5550% 1,450,000 1,691,151 14.26%

So, as percentage of equity drops down, shareholders are asking for bigger and bigger return, since the company is getting more risky. Debt obligations are fixed, and defaulting those leads to forced liquidation of the company.

Figure 5: Level of DEBT vs. parameter of interest

Picture is worth a thousand words, I guess.2

Do note that I am not a fan of CAPM (far better methods exist) due to it’s methodological weaknesses and it’s abuse in practice, but if you want to use CAPM method in valuation, you have to incorporate this process. I’ve seen valuation reports where final FMV value would have been 50% less than stated (implying overvaluation by 100%) if this process had been implemented.

7 References

  • Damodaran, A. (2012b, April 17). Investment Valuation: Tools and Techniques for Determining the Value of any Asset, University Edition (3rd ed.). Wiley.
  • McKinsey & Company Inc., Koller, T., Goedhart, M., & Wessels, D. (2020b, June 30). Valuation: Measuring and Managing the Value of Companies (Wiley Finance) (7th ed.). Wiley.
  • Hitchner, J. R. (2017b, May 1). Financial Valuation: Applications and Models (Wiley Finance) (4th ed.). Wiley.
  • Abrams, J. B. (2010b, March 29). Quantitative Business Valuation: A Mathematical Approach for Today’s Professionals (2nd ed.). Wiley.

Footnotes

  1. That’s a topic for another day, but I would recommend this process even for those firms.↩︎

  2. And \(\frac{1}{1000}\) of a picture is worth one word. 🙃↩︎