body {
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
line-height: 1.6;
color: #333;
max-width: 800px;
margin: 0 auto;
padding: 20px;
}
.calculator-container {
background-color: #f8f9fa;
border: 1px solid #e9ecef;
border-radius: 8px;
padding: 30px;
margin-bottom: 40px;
box-shadow: 0 4px 6px rgba(0,0,0,0.05);
}
.calculator-title {
text-align: center;
color: #2c3e50;
margin-bottom: 25px;
font-size: 24px;
font-weight: 700;
}
.input-group {
margin-bottom: 20px;
}
.input-label {
display: block;
margin-bottom: 8px;
font-weight: 600;
color: #495057;
}
.input-field {
width: 100%;
padding: 12px;
border: 1px solid #ced4da;
border-radius: 4px;
font-size: 16px;
box-sizing: border-box;
transition: border-color 0.15s ease-in-out;
}
.input-field:focus {
border-color: #007bff;
outline: none;
box-shadow: 0 0 0 2px rgba(0,123,255,0.25);
}
.calc-btn {
width: 100%;
background-color: #007bff;
color: white;
border: none;
padding: 14px;
font-size: 18px;
font-weight: 600;
border-radius: 4px;
cursor: pointer;
transition: background-color 0.2s;
margin-top: 10px;
}
.calc-btn:hover {
background-color: #0056b3;
}
.results-container {
margin-top: 25px;
background-color: #ffffff;
border: 1px solid #dee2e6;
border-radius: 6px;
padding: 20px;
display: none;
}
.result-row {
display: flex;
justify-content: space-between;
padding: 10px 0;
border-bottom: 1px solid #f1f3f5;
}
.result-row:last-child {
border-bottom: none;
}
.result-label {
color: #6c757d;
}
.result-value {
font-weight: 700;
color: #212529;
font-size: 18px;
}
.highlight-result {
color: #28a745;
font-size: 22px;
}
.article-content h2 {
color: #2c3e50;
margin-top: 40px;
border-bottom: 2px solid #e9ecef;
padding-bottom: 10px;
}
.article-content p {
margin-bottom: 20px;
font-size: 17px;
}
.article-content ul {
margin-bottom: 20px;
}
.article-content li {
margin-bottom: 10px;
}
.formula-box {
background-color: #eef2f5;
padding: 15px;
border-left: 4px solid #007bff;
font-family: monospace;
margin: 20px 0;
}
@media (max-width: 600px) {
.calculator-container {
padding: 20px;
}
}
How to Calculate Forward Looking Growth Rate
Calculating the forward-looking growth rate is a fundamental step in financial analysis, stock valuation, and corporate finance. Unlike historical growth rates, which look backward at past performance, a forward-looking growth rate attempts to estimate the sustainable expansion capability of a business based on its current efficiency and reinvestment policies.
The most common method for determining an intrinsic forward-looking growth rate is the Sustainable Growth Rate (SGR) model. This model assumes that a company will continue to grow using only its internally generated revenue without issuing new equity or changing its financial leverage.
The Formula
The core formula relies on two key metrics: Return on Equity (ROE) and the Retention Ratio (the percentage of earnings kept in the business rather than paid out as dividends).
g = ROE × b
Where:
- g = Sustainable Growth Rate
- ROE = Return on Equity (Net Income / Shareholder's Equity)
- b = Retention Ratio (1 – Dividend Payout Ratio)
Understanding the Inputs
To use the calculator effectively, you need to understand the source of the numbers:
Return on Equity (ROE): This measures how effectively management is using a company's assets to create profits. A higher ROE generally indicates a higher potential for growth, provided the earnings are reinvested.
Dividend Payout Ratio: This is the percentage of earnings paid to shareholders in dividends. If a company pays out 40% of its earnings, it retains 60%. The portion retained (60%) is used to fund future growth.
Retention Ratio: Calculated automatically as 100% - Payout Ratio. This represents the fuel for the growth engine. A company with a 0% payout ratio (retains 100%) has the maximum mathematical potential to grow at its ROE rate.
Example Calculation
Let's look at a realistic example of a mature technology company:
- ROE: 18%
- Dividend Payout Ratio: 25%
First, we calculate the Retention Ratio (b):
b = 100% - 25% = 75% (or 0.75)
Next, we calculate the Growth Rate (g):
g = 18% × 0.75 = 13.5%
This implies that, assuming the company maintains its profitability (ROE) and payout policy, it can grow its earnings at an annualized rate of 13.5% indefinitely.
Why Forward Looking Growth Matters
Investors use this metric in valuation models such as the Dividend Discount Model (DDM) or Discounted Cash Flow (DCF) analysis. If you rely solely on historical growth, you might overestimate a company that is slowing down or underestimate a company that has recently improved its operational efficiency.
However, keep in mind that this is a theoretical maximum for "sustainable" growth. Companies can grow faster than this rate temporarily by taking on more debt or issuing new shares, but those strategies have limits. The SGR is the speed limit for organic, self-funded expansion.
function calculateGrowthRate() {
// 1. Get input values
var roeInput = document.getElementById("roeInput").value;
var payoutRatioInput = document.getElementById("payoutRatioInput").value;
var currentEpsInput = document.getElementById("currentEpsInput").value;
var projectionYearsInput = document.getElementById("projectionYearsInput").value;
var resultsArea = document.getElementById("resultsArea");
// 2. Validate inputs
if (roeInput === "" || payoutRatioInput === "") {
alert("Please enter both Return on Equity and Dividend Payout Ratio to calculate.");
return;
}
var roe = parseFloat(roeInput);
var payoutRatio = parseFloat(payoutRatioInput);
var currentEps = parseFloat(currentEpsInput);
var years = parseFloat(projectionYearsInput);
if (isNaN(roe) || isNaN(payoutRatio)) {
alert("Please enter valid numeric values.");
return;
}
if (payoutRatio 100) {
alert("Dividend Payout Ratio must be between 0 and 100.");
return;
}
// 3. Perform Calculations
// Calculate Retention Ratio (b)
// Formula: b = 1 – (Payout Ratio / 100)
var retentionRatioPercent = 100 – payoutRatio;
var retentionRatioDecimal = retentionRatioPercent / 100;
// Calculate Sustainable Growth Rate (g)
// Formula: g = ROE * b
var roeDecimal = roe / 100;
var growthRateDecimal = roeDecimal * retentionRatioDecimal;
var growthRatePercent = growthRateDecimal * 100;
// Calculate Future Value (if EPS and Years are provided)
var futureValueText = "N/A (Enter Current EPS)";
if (!isNaN(currentEps) && !isNaN(years) && years > 0) {
// Formula: FV = PV * (1 + g)^n
var futureVal = currentEps * Math.pow((1 + growthRateDecimal), years);
futureValueText = "$" + futureVal.toFixed(2);
} else if (currentEpsInput !== "") {
futureValueText = "Invalid Years";
}
// 4. Update the DOM
document.getElementById("retentionRatioResult").innerHTML = retentionRatioPercent.toFixed(2) + "%";
document.getElementById("growthRateResult").innerHTML = growthRatePercent.toFixed(2) + "%";
document.getElementById("futureValueResult").innerHTML = futureValueText;
// Show results container
resultsArea.style.display = "block";
}