Zorro Trade Open the app

How Zorro's Top Value Picks Ranking Model Actually Works

October 14, 2026screeningmethodology

Nine weighted factors, percentile rank instead of raw numbers, and a cohort split for banks — the real mechanics behind the screener's ranked value strip.

A one-click screen is a yes/no filter: a stock either clears Deep value's six thresholds or it doesn't, and nothing about the result says whether it barely cleared them or crushed them. The Value strip that sits above the screener's table is a different kind of tool — a ranked top five pulled from a composite score across the whole ~3,445-stock universe, not a pass/fail test. Building that ranking well turns out to need more machinery than the binary screens do, and most of it is invisible unless you read the code behind it.

Nine factors, weighted and renormalized

The composite blends nine factors: earnings yield (inverse trailing P/E, 18% weight), EV/EBITDA cheapness (12%), book yield (inverse price-to-book, 10%), free-cash-flow yield (15%), return on invested capital (12%), return on equity (5%), revenue growth (10%), balance-sheet strength via debt-to-equity (10%), and an earnings-durability term built from forward-to-trailing P/E (8%). The weights sum to 1.00, but no stock has to clear all nine to get scored — a factor a stock is missing simply drops out and the rest renormalize to fill the gap. That matters because several factors are deliberately null for whole categories of stock rather than optional: free-cash-flow yield, EV/EBITDA and the debt-to-equity term are all excluded for banks, insurers and other balance-sheet businesses, because "free cash flow" and EV/EBITDA aren't coherent concepts for a lender. A bank still competes on the other six factors; it's never penalized for lacking a metric that doesn't apply to it.

Why rank is a percentile, not a number

A raw EV/EBITDA of 6 and a raw ROIC of 18% aren't on comparable scales, so the model never averages the raw numbers directly. Each factor is converted to a percentile rank within the eligible candidate pool first — where a stock's free-cash-flow yield of 11% actually sits among every other scored stock's free-cash-flow yield — and the weighted average runs on those percentiles. That's also what keeps a single broken data point from distorting the model: a divide-by-near-zero ROIC that prints -3,215% can't inflate anything, because percentile rank only cares about where a value falls in the sorted order, not its magnitude. The value is still clamped to a sane -50%–60% range before display so the number on screen stays honest, but the clamp isn't what protects the ranking itself — the percentile conversion does that on its own.

Ranking banks against banks, not against everyone

Revenue growth gets a different treatment than the other eight factors: rather than being excluded for financials, it's ranked within two separate cohorts — financial-sector stocks against each other, operating companies against each other — then merged back in. The reason is mechanical: a bank's "revenue" is net interest income, which swings with rates and posted a 26.6% median growth rate against 8.1% for operating companies in one snapshot, which would hand every lender an inflated percentile if ranked in the same pool as an industrial or software company. The site's own August 2026 rebuild notes are blunt about what happens without this split: the old single-pool model put 38 of the top 50 ranked stocks in financials against a 24.1% base rate in the universe, which is a sector bias dressed up as a value signal. Splitting that one factor by cohort, alongside adding ROIC into the weighting, brought financials down to 12 of 50 — in line with their actual share of the market.

The gates before anything gets ranked

Not every stock is eligible to be scored at all. The pool requires a market cap of at least $100M, a price-to-book of 0.1 or higher (sub-0.1 readings are almost always stale or broken data rather than a real bargain), and what the model calls operating history — a prior-year revenue figure, a prior-year earnings figure, and 26 weeks of trading, which a brand-new listing on the recent IPOs board usually hasn't accumulated yet. The same forward-to-trailing P/E ceiling that gates two of the one-click screens gates entry here too, at the identical 1.25 cutoff: a stock whose forward estimate implies meaningfully lower earnings than its trailing number doesn't make the candidate pool in the first place, regardless of how it would otherwise score. A stock also needs to score on at least six of the nine factors and report a positive trailing P/E to count — a sparse record with only two or three usable factors is excluded rather than allowed to win on a lucky handful of inputs.

Keeping five picks from being four banks

Even after cohort-splitting revenue growth, a straight top-five-by-score could still seat several names from the same sector if cheapness happens to cluster there in a given week. The model caps any single group at two of the five slots — with financials treated as one group regardless of their specific sector label, and shippers, tankers and E&P names folded into a combined "energy-marine" group since they ride the same commodity cycle under different sector strings. A separate check drops the second ticker of any dual-class company sharing an identical market cap with another name already on the list, so a stock with two share classes can't occupy two of the five seats under different tickers.

What a rank doesn't claim

None of this scores a stock as a buy. A composite percentile rank says a stock looks statistically cheap and reasonably financed relative to the rest of the eligible universe this week, on the specific nine factors the model tracks — not that its price will converge toward that view, and not that every factor the market might care about is in the blend. The screener shows each pick's top-ranking factors on hover for exactly this reason: a score of 82 means something different depending on whether it came from cheap earnings and a clean balance sheet or from a single standout free-cash-flow number carrying a thin record, and the breakdown is what lets you tell the two apart.