Internal Growth Rate (IGR)
The Internal Growth Rate (IGR) is the maximum rate at which a company can grow its revenue using only its retained earnings, without raising any external financing (neither debt nor equity).
The formula is as follows:
\[\text{Retention Ratio} = 1 - \text{Dividend Payout Ratio}\] \[\text{IGR} = (\text{Return on Assets} \cdot \text{Retention Ratio}) / (1 - (\text{Return on Assets} \cdot \text{Retention Ratio}))\]Also known as: IGR.
Internal Growth Rate (IGR) in Python
get_internal_growth_rate is part of the Models module of the open-source Finance Toolkit. Install it with:
pip install financetoolkit -U
Then call get_internal_growth_rate as shown below.
from financetoolkit import Toolkit
toolkit = Toolkit(["AAPL", "MSFT"], api_key="FINANCIAL_MODELING_PREP_KEY")
toolkit.models.get_internal_growth_rate()
Which returns:
| 2021 | 2022 | 2023 | |
|---|---|---|---|
| AAPL | 0.3118 | 0.3183 | 0.3028 |
| MSFT | 0.164 | 0.1853 | 0.1565 |
Parameters
get_internal_growth_rate accepts the following parameters:
- rounding (int, optional): The number of decimals to round the results to. Defaults to None.
- growth (bool, optional): Whether to calculate the growth of the values. Defaults to False.
- lag (int | list[int], optional): The lag to use for the growth calculation. Defaults to 1.
- standardize (bool, optional): Whether to standardize (Z-Score) the result. When combined with growth=True, standardizes the growth values instead of the raw values. Defaults to False.
- trailing (int | None, optional): The trailing period to use for the calculation. Defaults to None.