Grover Score
Calculates the Grover Score, a financial metric used to predict the likelihood of a company going bankrupt. It was developed by re-estimating the coefficients of a reduced-form Altman Z-Score and adding a Return on Assets term, using a sample that paired each of Altman’s original bankrupt firms with a matched non-bankrupt firm from the same industry and year.
The formula is as follows:
\[\text{Working Capital to Total Assets} = \text{Working Capital} / \text{Total Assets}\] \[\text{EBIT to Total Assets} = \text{EBIT} / \text{Total Assets}\] \[\text{Return on Assets} = \text{Net Income} / \text{Total Assets}\] \[\text{Grover Score} = 1.65 \cdot \text{Working Capital to Total Assets} + 3.404 \cdot \text{EBIT to Total Assets} - 0.016 \cdot \text{Return on Assets} + 0.057\]The Grover Score can be interpreted as follows:
- A Grover Score of -0.02 or lower indicates a high likelihood of bankruptcy.
- A Grover Score of 0.01 or higher indicates a low likelihood of bankruptcy (per some secondary sources), leaving a gray area in between the two thresholds.
Also known as: Grover Score, G-Score, bankruptcy prediction, financial distress score.
Grover Score in Python
Install the Finance Toolkit with:
pip install financetoolkit -U
Then call get_grover_score as shown below.
from financetoolkit import Toolkit
toolkit = Toolkit(["AAPL", "MSFT"], api_key="FINANCIAL_MODELING_PREP_KEY")
toolkit.models.get_grover_score().loc["AAPL"]
Which returns:
| 2021 | 2022 | |
|---|---|---|
| Working Capital to Total Assets | 0.0267 | -0.0527 |
| EBIT to Total Assets | 0.3187 | 0.3459 |
| Return on Assets | 0.2697 | 0.2829 |
| Grover Score | 1.1814 | 1.1432 |
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.