The Free Cash Flow in the final year of your specific forecast period.
The required rate of return or discount rate. Must be higher than growth rate.
The constant rate at which the company grows in perpetuity (typically 2-3%).
Implied Terminal Value (TV)
–
Implied Exit Multiple (TV / Final FCF)
–
Next Year FCF (Estimated)
–
How Do You Calculate Terminal Growth Rate?
The Terminal Growth Rate (often denoted as g) is a critical assumption used in Discounted Cash Flow (DCF) models to determine the value of a company beyond the explicit forecast period. It represents the constant rate at which a company's Free Cash Flow (FCF) is expected to grow forever.
Unlike financial metrics that are strictly calculated from historical data, the terminal growth rate is largely an estimation based on macroeconomic fundamentals. However, it is mathematically applied using the Gordon Growth Model to derive the Terminal Value.
The Calculation Formula
While you typically estimate the rate (g), you use it to calculate Terminal Value (TV) with the following formula:
Terminal Value = [ FCFn × (1 + g) ] / ( WACC – g )
Where:
FCFn: Free Cash Flow in the last year of the forecast period.
g: Terminal Growth Rate.
WACC: Weighted Average Cost of Capital (Discount Rate).
How to Determine the Correct Rate
Since this rate projects growth into perpetuity (forever), choosing a realistic number is vital to avoid overvaluing a company. Here are the standard methods for selecting "g":
1. The Macroeconomic Ceiling
The most common method is capping the terminal growth rate at the country's long-term GDP growth rate or the inflation rate. Since no company can grow faster than the economy forever (otherwise it would eventually become larger than the entire economy), a safe range is typically between 2% and 3%.
2. The Sustainable Growth Rate Formula
If you need to calculate a company-specific growth capability based on internal fundamentals, you can use the sustainable growth formula:
g = Retention Ratio × Return on Equity (ROE)
This calculates how much the company can grow solely by reinvesting its earnings rather than raising debt or equity. However, for terminal value purposes, analysts usually revert to the macroeconomic ceiling method.
Mathematical Constraints
When performing this calculation, there is one critical mathematical rule: WACC must be greater than the Terminal Growth Rate. If g is higher than WACC, the denominator in the Gordon Growth Model becomes negative, implying infinite value, which is impossible in finance.
function calculateTerminalValue() {
// 1. Get input values strictly by ID
var fcfInput = document.getElementById('last_fcf');
var waccInput = document.getElementById('wacc_rate');
var growthInput = document.getElementById('terminal_growth_rate');
var errorMsg = document.getElementById('tgr_error_msg');
var resultsArea = document.getElementById('tgr_results_area');
// 2. Parse values
var fcf = parseFloat(fcfInput.value);
var waccPercent = parseFloat(waccInput.value);
var growthPercent = parseFloat(growthInput.value);
// 3. Reset display
errorMsg.style.display = 'none';
resultsArea.style.display = 'none';
// 4. Validation logic
if (isNaN(fcf) || isNaN(waccPercent) || isNaN(growthPercent)) {
errorMsg.innerText = "Please enter valid numeric values for all fields.";
errorMsg.style.display = 'block';
return;
}
if (waccPercent <= growthPercent) {
errorMsg.innerText = "Error: WACC must be strictly higher than the Terminal Growth Rate to calculate a finite Terminal Value.";
errorMsg.style.display = 'block';
return;
}
// 5. Mathematical Calculation (Gordon Growth Model)
// Convert percentages to decimals
var r = waccPercent / 100;
var g = growthPercent / 100;
// Calculate Next Year's FCF (FCF * (1+g))
var nextFcf = fcf * (1 + g);
// Calculate Terminal Value: TV = Next FCF / (WACC – g)
var terminalValue = nextFcf / (r – g);
// Calculate Implied Multiple
var impliedMultiple = 0;
if (fcf !== 0) {
impliedMultiple = terminalValue / fcf;
}
// 6. Output Formatting
// Format currency
var formatter = new Intl.NumberFormat('en-US', {
style: 'currency',
currency: 'USD',
maximumFractionDigits: 0
});
document.getElementById('result_tv').innerText = formatter.format(terminalValue);
document.getElementById('result_next_fcf').innerText = formatter.format(nextFcf);
// Format multiple (e.g., 12.5x)
document.getElementById('result_multiple').innerText = impliedMultiple.toFixed(2) + "x";
// 7. Show Results
resultsArea.style.display = 'block';
}