ESSAY · Updated September 2, 2026

How the Bull Rankings score works

In brief: One 0–100 number on every stock, built from three pillars, with a letter-graded card beside it. Including the part most models won't tell you: the three pillars look equally weighted, and measurably aren't.

EssayWritten by Bartholomew Chupka Jr. Editorial standards

Every stock the model can grade gets one number, 0 to 100. This is what's underneath it, including a quirk in the math that I've left in on purpose and think you should know about.

Why one number instead of categories

The model used to sort stocks into buckets — growth, value, speculative — and score them within their bucket. I scrapped that. The label survives in one small place — it decides whether the grade card shows P/E or P/S — but it has no say in the score.

The problem was that a stock had to be siloed before it could be scored, which meant the bucket decision came first and everything else followed from it. Get that wrong and the rest is wasted: you end up scoring fish on their ability to climb a tree. And it happened often. A profitable compounder that had a soft quarter would land in the wrong category and be judged against a yardstick built for something else entirely.

It also made the numbers incomparable. A 78 in one bucket and a 78 in another didn't mean the same thing, so the one question a reader actually wants answered — is this better than that? — had no honest answer.

One score, everywhere, on the same scale. The homepage, the screener, each stock page, compare and the watchlist all show the same number for the same ticker.

The three pillars

The score is the GARP idea — growth at a reasonable price — built from three legs:

  1. Quality. Returns on capital, margins, leverage, and whether earnings are backed by real cash.
  2. Growth. Revenue and the forward earnings trajectory.
  3. Value. Valuation against the stock's sector and its own history: PEG, earnings and cash-flow multiples.

They're combined with a geometric mean rather than summed, which is what makes the score a conjunction instead of a scorecard. A near-zero leg drags the whole number down rather than being averaged away by the other two. That's deliberate: cheap and bad is not a bargain, and excellent at any price is not an investment.

The grade card beside it

Alongside the score, each stock carries a grade card. For most companies that's five fundamentals, each with a letter grade.

On the card: FCF · revenue growth · debt-to-equity · P/E or P/S · PEG

I use letters rather than raw figures because everyone already knows how to read them. You don't need to understand the algorithm — or even the metric — to know that an A is good and a D is not. A reader who has never heard of a PEG ratio can still see at a glance which legs a company is standing on and which it isn't. The raw number is always right there next to the grade for anyone who wants it.

The card is a summary, not the score's arithmetic. The pillars don't add up letter grades. They score the underlying numbers directly, most of them on sliding scales, so a small change in a company's figures moves its score a little rather than jumping a whole letter. And the pillars read more than the card shows — return on invested capital, return on equity, shareholder yield and earnings quality among them, and free cash flow yield on the value side.

Some of the card's grades are set relative to sector. A debt level that's healthy for a utility would be alarming for a software company, and a P/E that's cheap for tech would be rich for a bank, so debt-to-equity and the P/E or P/S grade are judged against the stock's sector when it has enough peers to compare. Free cash flow, revenue growth and PEG are graded on fixed scales.

The pillars are not equally weighted

Here's the part I'd rather tell you than have you find.

The three pillars have no weights applied to them. They look symmetric, and I built them intending them to be. They aren't — because a geometric mean averages in log space, so a pillar's influence comes from how widely it spreads, not from any weight I gave it.

Measured across all 1,827 scored names on 27 August, moving a stock from the 25th to the 75th percentile on each pillar is worth:

Pillar Points it moves the score
Quality +9.9
Growth +11.2
Value +14.4

Value grades lower at the median and spans a wider range than the other two, so the same improvement in relative standing is worth about 45% more on value than on quality. A company that is exactly average on all three pillars scores 53.7, not the ~59 you'd expect from a symmetric blend.

I've left it alone, and there are two reasons rather than one.

The first is that it isn't doing what it looks like it's doing. If value quietly dominated, the Top 30 would be a list of cheap stocks. It isn't — those names sit at the 92nd percentile on quality, slightly higher than their 90th on value. And when I normalize each pillar to its own curve, how often value turns out to be a name's weakest link drops from 53% to 32% — which says the raw 53% was an artifact of scale rather than real dominance.

The second is that "fixing" it isn't free. Normalizing the pillars would re-rank the entire universe, make every past backtest incomparable, and put a discontinuity through the score history. That's a real cost for a change that the evidence says corrects an appearance rather than a problem. If it's ever worth revisiting, it gets settled with a sensitivity run, not with an argument about how it ought to look.

Where the model knows it's weak

Two places the score deliberately holds back.

Banks, insurers and REITs get no quality-growth score at all. Free cash flow is obscured by loans and deposits, leverage is structural rather than a warning, and forward-EPS coverage is thin. Rather than produce a confident number from metrics that don't apply, those names are graded on a sector-appropriate card and tagged as such.

Cyclical industries get a cap on the growth credit they can earn. Miners are the clearest case. Gold, silver and copper names don't always move on company strength — they're swayed far more by macro forces, and macro is something this method doesn't weigh at all. A single distorted quarter at a cycle peak would otherwise let a miner post growth figures that say nothing about the business. So miners, along with the rest of energy and materials and other cycle-driven industries like airlines, autos and homebuilders, can score no better on growth than a steady 5% grower. Capping what the score can claim there is just an admission of what the model measures and what it doesn't.

The bottom line

Every score is three pillars combined into one number, the figures underneath trace back to published financial statements and today's price, and the pillar breakdown behind every score is one click from the row card. That's the entire pitch — a reasonable starting point for someone who wants to do their own work, not a black box asking to be trusted.

If you want the research behind which signals made it in, that's the research behind the rankings. If you want the data pipeline and the rules I hold it to, that's how the model works.


The Bull Rankings is automated fundamentals research for education, not personalized investment advice and not a recommendation to buy or sell any security. Always do your own research.

Not investment advice. The Bull Rankings publishes a quantitative ranking model and accompanying analysis for general informational purposes only. Nothing on this page is a recommendation to buy, sell, or hold any security; nothing is personalized to your circumstances, risk tolerance, or tax situation. Investing carries the risk of loss — invest at your own risk and consider consulting a licensed financial professional before acting on anything you read here. See terms and methodology for full disclosures.