Zmijewski Score
Calculates the Zmijewski Score, a financial metric used to predict the likelihood of a company going bankrupt. It is a simpler, three-variable model compared to both the Altman Z-Score and the Ohlson O-Score, and is commonly used as a robustness check when those two models disagree, since it is estimated on a different sample and with a different statistical technique (a probit model rather than discriminant analysis or logistic regression).
The formula is as follows:
\[\text{Net Income to Total Assets} = \text{Net Income} / \text{Total Assets}\] \[\text{Total Liabilities to Total Assets} = \text{Total Liabilities} / \text{Total Assets}\] \[\text{Current Assets to Current Liabilities} = \text{Current Assets} / \text{Current Liabilities}\] \[X = - 4.3 - 4.5 \cdot \text{Net Income to Total Assets} + 5.7 \cdot \text{Total Liabilities to Total Assets}\] \[0.004 \cdot \text{Current Assets to Current Liabilities}\] \[\text{Bankruptcy Probability} = \Phi(X),\;\; \text{the standard normal cumulative distribution function}\]The Zmijewski Score can be interpreted as follows:
- A higher X (and therefore a higher bankruptcy probability) indicates a higher likelihood of financial distress.
Also known as: Zmijewski Score, ZFC score, bankruptcy prediction, financial distress score.
Zmijewski Score in Python
get_zmijewski_score is part of the Models module of the open-source Finance Toolkit. Install it with:
pip install financetoolkit -U
Then call get_zmijewski_score as shown below.
from financetoolkit import Toolkit
toolkit = Toolkit(["AAPL", "MSFT"], api_key="FINANCIAL_MODELING_PREP_KEY")
zmijewski_score = toolkit.models.get_zmijewski_score()
zmijewski_score.loc["AAPL"]
Which returns:
| 2020 | 2021 | 2022 | 2023 | |
|---|---|---|---|---|
| Net Income to Total Assets | 0.1773 | 0.2697 | 0.2829 | 0.2751 |
| Total Liabilities to Total Assets | 0.7983 | 0.8203 | 0.8564 | 0.8237 |
| Current Assets to Current Liabilities | 1.3636 | 1.0746 | 0.8794 | 0.988 |
| Zmijewski Score | -0.553 | -0.8427 | -0.6955 | -0.8466 |
| Zmijewski Bankruptcy Probability | 0.2901 | 0.1997 | 0.2434 | 0.1986 |
Parameters
get_zmijewski_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.