Calculates the Taffler z-score, a discriminant model of financial distress estimated on UK listed industrial companies (Taffler, 1983). It combines profitability, working capital, financial risk and liquidity, and Agarwal and Taffler (2007) showed that it kept its predictive ability over 25 years of UK data. A negative score places a company in the at-risk region.

The formula is as follows:

\[\text{Profit Before Tax to Current Liabilities} (X_{1}) = \text{Income Before Tax} / \text{Total Current Liabilities}\] \[\text{Current Assets to Total Liabilities} (X_{2}) = \text{Total Current Assets} / \text{Total Liabilities}\] \[\text{Current Liabilities to Total Assets} (X_{3}) = \text{Total Current Liabilities} / \text{Total Assets}\] \[\text{Daily Operating Expenses} = (\text{Revenue} - \text{Income Before Tax} - \text{Depreciation and Amortization}) / \text{Days}\] \[\text{No-Credit Interval} (X_{4}) = (\text{Total Current Assets} - \text{Inventory} - \text{Total Current Liabilities}) / \text{Daily Operating Expenses}\] \[\text{Taffler z-score} = 3.20 + 12.18 X_{1} + 2.50 X_{2} - 10.68 X_{3} + 0.029 X_{4}\]

The Taffler z-score can be interpreted as follows:

  • A score below zero indicates a financial profile like that of companies that failed (at risk).
  • A score above zero indicates a solvent profile; the higher, the safer.

Also known as: Taffler Z-Score, UK z-score, bankruptcy prediction, financial distress score.

Taffler Z-Score in Python or via the MCP

Install the Finance Toolkit with:

pip install financetoolkit -U

Then call get_taffler_z_score as shown below.

from financetoolkit import Toolkit

toolkit = Toolkit(
    ["M", "KSS", "GAP"],
    api_key="FINANCIAL_MODELING_PREP_KEY",
    start_date="2020-01-01",
    end_date="2025-12-31",
)

toolkit.models.get_taffler_z_score().xs("Taffler Z-Score", level=1)

Or, after setting up the Finance Toolkit MCP, ask:

What was the Taffler Z-Score of Macy's, Kohl's and Gap from 2020 to 2024?

Which returns:

  2020 2021 2022 2023 2024
GAP -2.1624 0.7496 0.1718 3.1604 5.9418
KSS 0.4845 5.7852 -0.0302 2.4432 0.1935
M -11.3244 3.8969 3.4676 0.2883 2.4301

Parameters

get_taffler_z_score accepts the following parameters.

ParameterTypeDescriptionExample
roundingintThe number of decimals to round the results to. Defaults to None.2
growthboolWhether to calculate the growth of the values. Defaults to False.True
lagint | list[int]The lag to use for the growth calculation. Defaults to 1.4
standardizeboolWhether to standardize (Z-Score) the result. When combined with growth=True, standardizes the growth values instead of the raw values. Defaults to False.True
trailingint | NoneThe trailing period to use for the calculation: flows are summed and balances averaged over it. Defaults to None, which is 4 on quarterly data (a trailing twelve months), as the score was estimated on yearly statements.4
show_columnslist[str] | NoneList of columns to show in the results. If None, all columns will be shown. Defaults to None.None
Share