Calculate the forward price earnings to growth (forward PEG) ratio, a valuation metric that measures the forward P/E ratio relative to the growth implied by the analyst consensus (average) EPS estimate versus the company’s most recently reported actual EPS.

The formula is as follows:

\[\text{Estimated EPS Growth Rate} = (\text{Estimated EPS} / \text{Trailing EPS}) ^{1 / \text{Years}} - 1\] \[\text{Forward PEG} = \text{Forward}\; P / E / (\text{Estimated EPS Growth Rate} \cdot 100)\]

The growth rate is the annualized growth from the most recently reported EPS to the estimate of each period, with Years the number of years between the two, so the PEG of every estimate period is based on a yearly growth rate. Periods up to the latest reported period, and periods where either EPS is zero or negative, have no compound growth rate and are NaN. The trailing EPS is the reported diluted EPS, while consensus estimates are usually on an adjusted basis, which inflates the implied growth for companies with large non-cash charges.

On quarterly data both EPS figures cover a year: the estimate is the sum of the estimates of the period and the next three quarters, the trailing EPS the sum of the last four reported quarters, and Years runs from the end of the latest reported quarter to the end of the estimated window.

Note that this requires an api_key to be set on the Toolkit and a Premium FMP subscription. Analyst estimates are fetched once per Toolkit instance and cached across calls to this (or the other forward-looking ratio) method - never on initialization or on any other ratio.

Also known as: forward PEG, PEG on forward growth.

Forward Price to Earnings Growth Ratio (Forward PEG) in Python or via the MCP

Install the Finance Toolkit with:

pip install financetoolkit -U

Then call get_forward_price_earnings_growth_ratio as shown below.

from financetoolkit import Toolkit

toolkit = Toolkit(
    ["MA", "AXP", "JPM"],
    api_key="FINANCIAL_MODELING_PREP_KEY",
    start_date="2021-01-01",
    end_date="2025-12-31",
)

toolkit.ratios.get_forward_price_earnings_growth_ratio().loc[:, "2026":"2030"]

Or, after setting up the Finance Toolkit MCP, ask:

At their share prices at the end of 2025, what forward PEG ratios do the analyst EPS estimates for 2026 to 2030 imply for Mastercard, American Express and JPMorgan Chase?

Which returns:

  2026 2027 2028 2029 2030
AXP 1.2602 1.2788 1.1079 0.8708 0.97
JPM 0.5538 0.9696 1.0544 nan nan
MA 1.3735 1.3529 1.2061 1.0848 1.0166

Parameters

get_forward_price_earnings_growth_ratio accepts the following parameters.

ParameterTypeDescriptionExample
min_analystsint | NoneThe minimum number of analysts behind the EPS consensus of a period; periods covered by fewer are NaN. The number per period is the “Number of Analysts EPS” of Toolkit.get_analyst_estimates. Defaults to None, which keeps every period.None, which keeps every period
roundingint | NoneThe number of decimals to round the results to. Defaults to None, which uses the rounding of the Toolkit (4 unless set otherwise).2
growthboolWhether to calculate the growth of the ratios. Defaults to False.True
lagint | list[int]The lag to use for the growth calculation. Defaults to 1.4
compoundboolWhether the growth is the compound annual growth rate over the lag (e.g. lag=5 for the five-year CAGR) instead of the total change. Defaults to False.False
standardizeboolWhether to standardize (Z-Score) the result. When combined with growth=True, standardizes the growth values instead of the raw values. Defaults to False.True
Share