The H-Model of Fuller and Hsia (1984) values a stock whose dividend growth starts at a high rate and declines linearly to a stable rate over a number of years, after which it grows at the stable rate forever. It is a closed-form approximation of the three-stage dividend discount model (see get_two_stage_dividend_discount_model with transition_periods): the Gordon Growth Model at the stable rate plus the value of the extra growth during the decline, which is about half the high-growth period (H) times the extra growth.

The formula is as follows:

\[H = \text{High Growth Periods} / 2\] \[\text{Intrinsic Value} = \text{Dividends Per Share} \cdot (1 + \text{Stable Growth Rate}) / (\text{Rate of Return} - \text{Stable Growth Rate}) + \text{Dividends Per Share} \cdot H \cdot (\text{High Growth Rate} - \text{Stable Growth Rate}) / (\text{Rate of Return} - \text{Stable Growth Rate})\]

Like the Gordon Growth Model, each period is valued off that period’s actual annual Dividends per Share, which gives the intrinsic value over time.

Also known as: H-Model, Fuller-Hsia model, H model dividend discount model.

H-Model in Python or via the MCP

Install the Finance Toolkit with:

pip install financetoolkit -U

Then call get_h_model as shown below.

from financetoolkit import Toolkit

toolkit = Toolkit(
    ["KO", "PEP"],
    api_key="FINANCIAL_MODELING_PREP_KEY",
    start_date="2021-01-01",
    end_date="2025-12-31",
)

toolkit.models.get_h_model(
    rate_of_return=0.08, high_growth_rate=0.08, stable_growth_rate=0.03
)

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

What are Coca-Cola and PepsiCo worth per share from 2021 to 2025 in an H-model with an 8% required return and dividend growth declining from 8% to 3%?

Which returns:

  KO PEP
2021 43.008 108.736
2022 45.056 115.84
2023 47.104 126.592
2024 49.664 136.448
2025 52.224 143.936

Parameters

get_h_model accepts the following parameters.

ParameterTypeDescriptionExample
rate_of_returnfloatThe required rate of return, which must be greater than the stable growth rate.0.08
high_growth_ratefloatThe growth rate of the dividends at the start of the decline.0.1
stable_growth_ratefloatThe growth rate the decline ends at, which holds forever after it.0.03
high_growth_periodsintThe number of years over which the growth rate declines from the high to the stable rate. Defaults to 10.10
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
Share