The Sustainable Growth Rate (SGR) is the maximum rate at which a company can grow its revenue, using internally generated funds only, without having to raise additional equity or increase its financial leverage.

The formula is as follows:

\[\text{Return on Equity} = \text{Net Income} / \text{Total Equity at the beginning of the period}\] \[\text{Retention Ratio} = 1 - \text{Dividend Payout Ratio}\] \[\text{SGR} = \text{Return on Equity} \cdot \text{Retention Ratio}\]

The SGR assumes the company keeps its leverage and pays out only through dividends. Companies that return cash mainly through share buybacks have a low payout ratio on paper and a return on equity inflated by a shrinking equity base, so their SGR overstates what they can fund internally.

Also known as: SGR, self-sustainable growth rate.

Sustainable Growth Rate (SGR) in Python or via the MCP

Install the Finance Toolkit with:

pip install financetoolkit -U

Then call get_sustainable_growth_rate as shown below.

from financetoolkit import Toolkit

toolkit = Toolkit(
    ["NKE", "LULU", "DECK"],
    api_key="FINANCIAL_MODELING_PREP_KEY",
    start_date="2021-01-01",
    end_date="2025-12-31",
)

toolkit.models.get_sustainable_growth_rate()

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

What were the sustainable growth rates of Nike, Lululemon and Deckers from 2021 to 2025?

Which returns:

  2021 2022 2023 2024 2025
DECK 0.3129 0.3359 0.4302 0.4584 0.4075
LULU 0.3812 0.312 0.4923 0.4288 0.3652
NKE 0.3297 0.2001 0.2521 0.0637 0.0531

Parameters

get_sustainable_growth_rate accepts the following parameters.

ParameterTypeDescriptionExample
roundingintThe number of decimals to round the results to. Defaults to None.2
growthboolWhether to calculate the growth of the values. Defaults to False.True
lagint | list[int]The lag to use for the growth calculation. Defaults to 1.4
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
trailingint | NoneThe trailing period to use for the calculation. Defaults to None.4
Share