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.
Share