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.
No programming experience? With the Finance Toolkit MCP server, AI assistants such as Claude and ChatGPT can calculate the Grover Score for you. Just ask in plain English.
Calculate the Grover Score in Python
The Grover Score is available in the Models module of the open-source Finance Toolkit. Install it 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
get_grover_score 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.
Related Models
The Models module page introduces the module, and the sidebar lists all of its functions.