Gordon Growth Model (GGM)
The Gordon Growth Model, also known as the Dividend Discount Model (DDM) with Constant Growth, is a method used to estimate the intrinsic value of a stock based on its expected future dividends. The model assumes that dividends will grow at a constant rate indefinitely.
The formula is as follows:
\[\text{Intrinsic Value} = (\text{Dividends Per Share} \cdot (1 + \text{Growth Rate})) / (\text{Rate of Return} - \text{Growth Rate})\]The formula essentially discounts the future expected dividends to their present value, taking into account the required rate of return and the growth rate. The numerator represents the expected dividend in the next period. The denominator represents the required rate of return minus the growth rate.
Investors often use the Gordon Growth Model to compare the intrinsic value of a stock with its current market price. If the intrinsic value is higher than the market price, some investors may interpret it as an indication that the stock is undervalued.
It’s important to note that the Gordon Growth Model is based on several assumptions, including the assumption of constant growth in dividends. It is most applicable to mature companies with stable and predictable dividend growth. If a company’s dividend growth is expected to fluctuate or if it does not pay dividends, alternative valuation models may be more appropriate.
The assumption of constant growth of dividends is often unrealistic. In reality, dividends may fluctuate or even be suspended. Therefore, the Gordon Growth Model should be used with caution and in conjunction with other valuation methods.
Also known as: Gordon Growth Model, DDM, dividend discount model, GGM.
No programming experience? With the Finance Toolkit MCP server, AI assistants such as Claude and ChatGPT can calculate the Gordon Growth Model (GGM) for you. Just ask in plain English.
Calculate the Gordon Growth Model (GGM) in Python
The Gordon Growth Model (GGM) is available in the Models module of the open-source Finance Toolkit. Install it with:
pip install financetoolkit -U
Then call get_gorden_growth_model as shown below.
from financetoolkit import Toolkit
toolkit = Toolkit(["AAPL", "MSFT"], api_key="FINANCIAL_MODELING_PREP_KEY")
toolkit.models.get_gorden_growth_model(0.20, 0.05)
Which returns:
| AAPL | MSFT | |
|---|---|---|
| 2021 | 1.54 | 8.26 |
| 2022 | 6.37 | 17.78 |
| 2023 | 6.65 | 19.53 |
| 2024 | 6.93 | 21.56 |
| 2025 | 7.21 | 23.8 |
| 2026 | 7.5705 | 24.99 |
| 2027 | 7.949 | 26.2395 |
| 2028 | 8.3465 | 27.5515 |
| 2029 | 8.7638 | 28.929 |
| 2030 | 9.202 | 30.3755 |
| 2031 | 9.6621 | 31.8943 |
Parameters
get_gorden_growth_model accepts the following parameters:
- rate_of_return (float): The required rate of return.
- growth_rate (float): The growth rate of the dividends.
- project_periods (int, optional): The number of periods to project the the stock price. Defaults to 5.
- rounding (int, optional): The number of decimals to round the results to. Defaults to 4.
Related Models
The Models module page introduces the module, and the sidebar lists all of its functions.