function calculateGordonModel() {
// 1. Get DOM elements
var d0Input = document.getElementById('currentDividend');
var kInput = document.getElementById('requiredReturn');
var gInput = document.getElementById('growthRate');
var resultBox = document.getElementById('cgrResult');
var errorBox = document.getElementById('cgrErrorMessage');
var resD1 = document.getElementById('resD1');
var resDenominator = document.getElementById('resDenominator');
var resValue = document.getElementById('resValue');
// 2. Parse Values
var d0 = parseFloat(d0Input.value);
var k = parseFloat(kInput.value);
var g = parseFloat(gInput.value);
// 3. Reset Display
errorBox.style.display = 'none';
resultBox.style.display = 'none';
errorBox.innerHTML = ";
// 4. Validation
if (isNaN(d0) || isNaN(k) || isNaN(g)) {
errorBox.innerHTML = "Please enter valid numbers for all fields.";
errorBox.style.display = 'block';
return;
}
if (d0 < 0) {
errorBox.innerHTML = "Dividend cannot be negative.";
errorBox.style.display = 'block';
return;
}
// Critical Logic Check for Gordon Growth Model
// k must be greater than g, otherwise the formula results in negative or infinite value.
if (k = k, the theoretical price implies infinity.";
errorBox.style.display = 'block';
return;
}
// 5. Calculation Logic
// Formula: P0 = D1 / (k – g)
// Where D1 = D0 * (1 + g)
// Convert percentages to decimals
var kDecimal = k / 100;
var gDecimal = g / 100;
// Calculate Next Year's Dividend (D1)
var d1 = d0 * (1 + gDecimal);
// Calculate Denominator (k – g)
var denominator = kDecimal – gDecimal;
// Calculate Intrinsic Value (P0)
var p0 = d1 / denominator;
// 6. Display Results
// Format currency using USD for standard presentation
var formatter = new Intl.NumberFormat('en-US', {
style: 'currency',
currency: 'USD',
minimumFractionDigits: 2
});
resD1.innerHTML = formatter.format(d1);
resDenominator.innerHTML = (denominator * 100).toFixed(2) + "%";
resValue.innerHTML = formatter.format(p0);
resultBox.style.display = 'block';
}
Understanding the Constant Growth Model
The Constant Growth Rate Calculator is designed based on the Gordon Growth Model (GGM). This financial model is used to determine the intrinsic value of a stock based on a future series of dividends that grow at a constant rate. It assumes that dividends grow indefinitely at a stable rate, making it a popular method for valuing companies with stable cash flow patterns.
The Formula
The calculation relies on projecting the next year's dividend and discounting it by the difference between the required rate of return and the growth rate:
P₀ = D₁ / (k – g)
Where:
P₀ = The current intrinsic value of the stock.
D₁ = The expected dividend next year (Calculated as D₀ × (1 + g)).
k = The required rate of return (Cost of Equity).
g = The constant growth rate in dividends (in perpetuity).
How to Use This Calculator
Enter Current Dividend (D₀): Input the most recent annual dividend paid per share.
Enter Required Rate of Return (k): This is the minimum return investors expect for taking the risk of investing in the stock. It is typically calculated using the CAPM model.
Enter Constant Growth Rate (g): The expected annual percentage growth of the dividends. Note: This rate must be lower than the required rate of return.
Critical Assumptions & Limitations
While the Constant Growth Model is a powerful tool for valuation, it operates under strict assumptions:
Stable Growth: It assumes the company grows at a single rate forever. It is not suitable for high-growth startups or companies with volatile earnings.
k > g: The model fails mathematically if the growth rate exceeds or equals the required rate of return. In such cases, the denominator becomes zero or negative, implying an infinite price, which is impossible in real markets.
Dividend Dependency: The model is only applicable to companies that pay dividends.
Example Calculation
Imagine a utility company pays a current annual dividend of $2.00. Investors require a 7% return, and the company has a steady dividend growth history of 3%.