Fulmer H-Score
Calculates the Fulmer H-Score, a financial metric used to predict the likelihood of a company going bankrupt. Unlike the Altman Z-Score, which was built on relatively large, listed manufacturing companies, the Fulmer H-Score was calibrated on a matched-pair sample of small, failed and non-failed U.S. companies, using nine financial ratios selected via step-wise multiple discriminant analysis.
The formula is as follows:
H-Score = 5.528 * V1 + 0.212 * V2 + 0.073 * V3 + 1.270 * V4 - 0.120 * V5 + 2.335 * V6 + 0.575 * V7 + 1.083 * V8 + 0.894 * V9 - 6.075
The nine variables are:
- V1: Retained Earnings to Total Assets
- V2: Sales to Total Assets
- V3: EBT to Total Equity
- V4: Cash Flow (Operating Cash Flow) to Total Liabilities
- V5: Total Debt to Total Assets
- V6: Current Liabilities to Total Assets
- V7: Log of Tangible Total Assets (Total Assets less Goodwill and Intangible Assets)
- V8: Working Capital to Total Liabilities
- V9: Log of EBIT to Interest Expense
The Fulmer H-Score can be interpreted as follows:
- An H-Score of less than 0 predicts failure.
- An H-Score of greater than 0 predicts non-failure.
Also known as: Fulmer H-Score, H factor, bankruptcy prediction, financial distress score.
Fulmer H-Score in Python
Install the Finance Toolkit with:
pip install financetoolkit -U
Then call get_fulmer_h_score as shown below.
from financetoolkit import Toolkit
toolkit = Toolkit(["AAPL", "MSFT"], api_key="FINANCIAL_MODELING_PREP_KEY")
toolkit.models.get_fulmer_h_score().loc["AAPL"]
Which returns:
| 2021 | 2022 | |
|---|---|---|
| Retained Earnings to Total Assets | 0.0158 | -0.0087 |
| Sales to Total Assets | 1.0422 | 1.1179 |
| EBT to Total Equity | 1.731 | 2.3505 |
| Cash Flow to Total Liabilities | 0.3614 | 0.4044 |
| Debt to Total Assets | 0.3889 | 0.3756 |
| Current Liabilities to Total Assets | 0.3575 | 0.4365 |
| Log of Tangible Total Assets | 26.5841 | 26.589 |
| Working Capital to Total Liabilities | 0.0325 | -0.0615 |
| Log of EBIT to Interest Expense | 3.7445 | 3.729 |
| Fulmer H-Score | 14.2755 | 14.329 |
Parameters
The function 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.
- show_columns (list[str] | None, optional): List of columns to show in the results. If None, all columns will be shown. Defaults to None.