Knowledge BaseRisk & quality scores › Ohlson O-Score
Risk & quality scores

Ohlson O-Score O-Score

A nine-factor statistical model that turns a company's financials into a model-estimated probability of bankruptcy.

Part of the Distress & Quality Models course · Lesson 3 of 9
Formula
O = 9-factor logit (size = log(total assets / GNP price-level index), leverage, liquidity, profitability, recent-performance indicators); PD = logistic(O) = 1 / (1 + e^(-O)); classic cutoff O > 0.38 => elevated
Ohlson O-Scorelow model probability · elevated above 0.38
The Ohlson O-Score is a 9-factor logit; above 0.38 is the classic elevated flag.
▶ Watch: Ohlson O-Score explained in 24 seconds

What it is

The Ohlson O-Score is a bankruptcy-risk model published by James Ohlson in 1980. It combines nine accounting factors — covering size, leverage, liquidity, profitability and recent performance — into a single score using logistic regression, a statistical technique that fits real bankrupt and non-bankrupt companies to produce a probability rather than just a ranking. The score is converted to a model probability of default with the logistic function, PD = 1 / (1 + e^(-O)); the classic cutoff is O greater than 0.38, above which the model treats failure risk as elevated. The size term is unusual: it is the log of total assets scaled by the GNP price-level index, so the model adjusts for the price level of the era rather than using raw dollars. It was one of the first models to output a probability, which is why it is usually read alongside the older Altman Z-Score rather than instead of it.

Why it matters

Two companies can look similar on a single ratio and differ sharply once size, leverage, liquidity and profitability are weighed together, and the O-Score is a compact way to see that combined picture. Because it outputs a probability rather than a raw index, it is easier to compare across names and to track over time as a company's fundamentals shift. It also uses a different factor set and a different statistical method than Altman's Z-Score, so the two models disagreeing on the same company is itself informative — it usually points to which specific inputs are doing the work. A pitfall is that the 1980 calibration is decades old: the coefficients and the 0.38 cutoff were fitted to the accounting practices and failure base rates of that era, so the absolute probability should be read as a model output on historical data, not as a forecast of what will happen to any company today. The model also assumes an industrial-style balance sheet, so banks, insurers and asset-light firms can produce misleading scores.

How it's calculated

The model takes nine inputs from the financial statements: the size term (log of total assets divided by the GNP price-level index), total liabilities to total assets, working capital to total assets, current liabilities to current assets, net income to total assets, funds from operations to total liabilities, two indicator (dummy) variables — one set to 1 for negative equity, meaning total liabilities exceed total assets, and one set to 1 for a net loss in each of the last two years — and a continuous change-in-net-income term, (NI_t - NI_t-1) / (|NI_t| + |NI_t-1|), which is scaled to run between -1 and +1 rather than being a 0/1 flag. Each input is multiplied by its fitted coefficient and the products are summed with a constant to give O, the logit. That logit is then passed through the logistic function, PD = 1 / (1 + e^(-O)), which maps any score onto a probability between 0 and 1. The conventional reading is that O above 0.38 marks the model's elevated-risk region. On Quintarthai the score is gated to n/m when required inputs are missing and for banks and insurers, whose balance sheets the model was never fitted to.

How Quintarthai uses it

The Ohlson O-Score appears in the risk block on the deep-analysis page (/app/, any ticker), shown beside Altman Z, the Merton distance-to-default band, the CHS 12-month failure hazard and the Economic-Profit spread, each n/m-gated for banks and insurers and for missing inputs. It is displayed as an educational research signal with its methodology and caveats — never as advice or a verdict.

Cross-border note. The O-Score was fitted on US-listed industrial firms in the 1970s, so its coefficients and cutoff are US-calibrated and its GNP price-level term is a US series. The arithmetic runs on any TSX or TSXV name whose statements provide the nine inputs, but the resulting probability should be read as a relative signal across Canadian names rather than as a calibrated Canadian default rate; smaller Canadian listings also more often have missing inputs, which trips the n/m gate.

FAQ

How is the O-Score different from the Altman Z-Score?
Both estimate distress risk from accounting data, but the Z-Score is an index you compare to zones, while the O-Score uses logistic regression to output a probability directly (PD = logistic(O), classic cutoff O > 0.38). They also use different factor sets, so they can disagree on the same company. Quintarthai shows both side by side in the deep-analysis risk block precisely so you can see where they diverge and inspect which inputs drive the gap.
Does a high O-Score mean a company is going bankrupt?
No. It means the model, calibrated on 1980-era data, places the company in its elevated-probability region given the nine inputs. That is a model probability computed from historical relationships, not a forecast of a specific outcome, and the calibration age alone is reason to treat the absolute number cautiously. Read it as one research signal among several, alongside the underlying inputs and the other risk models.
Check your understanding
The Ohlson O-Score converts its nine-factor score into a probability of default using which function?
Often confused with
Related terms
See Ohlson O-Score on a real company
Open any stock in Quintarthai and explore it live across the screener and company pages.
Open the app →