Skip to content

Altman Z-Score

1.2WCTA+1.4RETA+3.3EBITTA+0.6MVTL+1.0STA

Bankruptcy-risk discriminant score (Altman 1968). Z > 2.99 = safe, 1.81-2.99 = gray, < 1.81 = distress. The 1968 manufacturing variant; later Altman variants exist for non-manufacturing and emerging markets.

Direction: Higher better Category: forensic

Inputs (XBRL fallback chains):

  • assets: Assets
  • current_assets: AssetsCurrent
  • current_liabilities: LiabilitiesCurrent
  • liabilities: Liabilities
  • operating_income: OperatingIncomeLoss
  • retained_earnings: RetainedEarningsAccumulatedDeficit
  • revenue: Revenues -> RevenueFromContractWithCustomerExcludingAssessedTax -> RevenueFromContractWithCustomerIncludingAssessedTax -> SalesRevenueNet -> SalesRevenueGoodsNet

Returns None when: Returns None when market cap, total liabilities, or any of (working capital, retained earnings, EBIT, revenue, total assets) is missing. Returns None for zero-debt firms (MV/TL undefined).

Source code

Implementation: altman_z_score in src/eqtytrk/metrics/ratios.py (or valuation.py for multiples).

See also

For full methodology — decomposition, thresholds, when each score lights up vs the others, citations to original papers — see the Forensic screening essay.

EqtyTrk methodology reference. Data from SEC EDGAR.