What Is a Stock Score? How 0–100 Ratings Are Built and Read
How a stock score is built: 120 signals scaled to 0–100, low-is-good metrics inverted, missing data kept null rather than zero, and how to read one honestly.
A stock score is a single number, usually on a 1–10 or 0–100 scale, that compresses many separate measurements of a stock (trend, momentum, valuation, profitability, insider activity, news tone) into one reading of how favourable that evidence looks right now. Higher means the measured signals lean bullish. It is a summary of evidence, not a forecast, and it is only as honest as the rules used to build it.
This piece explains those rules from the inside. StocksScores runs a scoring engine with 120 individual scorers, and what follows is the set of conventions we had to write down and enforce in code to stop the composite from quietly lying. Almost every multi-factor rating does some version of these mechanics, so the same questions apply to any score you see, ours included.
What a stock score is, and what it is not
Every stock score answers a narrower question than it appears to. A 78 does not mean "78% chance this goes up", and it does not mean "buy". It means: across the signals this particular model measures, weighted the way this model weights them, the stock sits well toward the favourable end of the range. Change the signals or the weights and you get a different number for the same company on the same day.
That is not a flaw. A score is a compression, and compression discards information by design. The useful questions are what it kept, what it discarded, and what it did when information was missing. The last one matters more than most people expect.
How a stock rating score is built, in four steps
Strip away the branding and most multi-factor ratings follow the same pipeline: collect signals, put them on a common scale, make sure they all point the same way, then weight and combine them.
1. Collect the signals
StocksScores groups its 120 scorers into three pillars:
- Technical: indicators such as RSI, MACD, simple moving averages and Ichimoku, computed across eight timeframes from 5 minutes to 3 months. Prices come from Yahoo Finance and the indicators are calculated with TA-Lib.
- Fundamental: valuation and quality measures such as P/E and ROIC, a sector-percentile comparison, insider transactions and congressional trading disclosures. Financials and analyst recommendations come from Yahoo Finance; insider and congressional data from Finnhub.
- News: news sentiment, social sentiment and buzz, SEC filings and earnings-call transcripts, sourced from Finnhub and Alpha Vantage. Scored and shown, but not counted in the composite.
Coverage is US-listed common stock trading above $1 with a market capitalisation of at least $25M. Anything outside that universe has no score at all.
2. Normalise every signal to 0–100
Raw inputs arrive in incompatible units. RSI already lives between 0 and 100; a P/E ratio can be 8 or 80; insider activity is a set of transactions; news sentiment is a model output. Each scorer maps its raw input onto the same 0–100 scale, where 50 is neutral, higher is more bullish and lower is more bearish.
The mapping is where most of a scorer's judgement lives. An RSI of 75 is not automatically "75 out of 100 bullish": depending on context it can read as strong momentum or as overbought, which is why the scorer, not the raw indicator, decides what the number means. If the indicator itself is unfamiliar, our RSI guide covers it.
3. Align the direction
For a blend to mean anything, every input has to agree on what "up" means. Some metrics are good when high (return on invested capital, earnings growth); others are good when low (P/E, leverage). StocksScores inverts the low-is-good metrics so that a cheap P/E scores high and an expensive one scores low. Skip this step and a model can add "cheap" to "expensive" and call the result neutral.
"Cheap" also needs a reference point. A P/E of 22 is undemanding for a software company and rich for a utility. Fundamentals in StocksScores are scored sector-relative, against curated ranges for each of the 11 sectors, with separate sets for semiconductors, consumer electronics and staples retailers, so the same raw ratio can earn a high score in one industry and a low one in another. Our P/E ratio guide covers why cross-sector P/E comparisons mislead.
4. Weight and aggregate
Scorers roll up into pillar scores, and the pillars combine into the composite: technical and fundamental at equal weight, news shown beside them but not counted. Two details decide whether that composite deserves trust: what happens when data is missing, and where the weights come from.
Missing data gets its own section below. The weights are meant to come from measurement, and the measuring has started: every night's scores are recorded for every covered stock and later compared with that stock's return in excess of SPY. That record, not how sophisticated a scorer sounds, is what will set the weights; until it is deep enough to trust, the two counted pillars weigh the same. Premium users who disagree with our weighting can apply their own presets.
The null rule: missing data is not a zero
This is the convention we would defend hardest. When a scorer cannot compute (the company has negative earnings so P/E is undefined, it listed six quarters ago so there is no three-year history, there were no earnings-call transcripts to read), the scorer returns null. Not 0, and not 50.
Zero is not "no information" on a 0–100 bullishness scale. Zero is the most bearish reading the model can express. A model that writes 0 for missing data is telling you, with full conviction, that a company with a short history is a disaster. A manufactured 50 is subtler but still wrong: it claims the model looked and found the evidence balanced when it did not look at all, and it drags every real signal toward the middle.
Here is what that does to one pillar. The table is illustrative only: a hypothetical mid-cap software company, not any real ticker's live score, with equal scorer weights so the arithmetic stays visible.
| Scorer (illustrative) | Raw input | Direction | Score (0–100) |
|---|---|---|---|
| P/E vs software-sector range | 22 | Low is good, so inverted | 71 |
| ROIC | 16% | High is good | 72 |
| Sector percentile | 60th percentile | High is good | 60 |
| Insider transactions, 90 days | Modest net selling | Net buying is good | 41 |
| Earnings growth, 3-year | Only 6 quarters reported | High is good | null |
| Pillar, null excluded | (71 + 72 + 60 + 41) ÷ 4 | StocksScores convention | 61.0 |
| Pillar, null filled with 0 | (71 + 72 + 60 + 41 + 0) ÷ 5 | Zero-fill | 48.8 |
| Pillar, null filled with 50 | (71 + 72 + 60 + 41 + 50) ÷ 5 | Manufactured neutral | 58.8 |
Four real signals say this company looks moderately attractive on fundamentals, and excluding the null reports exactly that: 61.0. Writing a 0 for a metric that does not exist yet drops the pillar to 48.8, below neutral: a bearish verdict produced entirely by a missing row. Writing a 50 still shaves 2.2 points off evidence that nothing contradicted. Repeat that across thousands of stocks and a zero-fill model systematically marks down young companies, thinly covered companies and anything with an undefined ratio.
An empty pillar drops out
The same rule applies one level up. The composite averages two pillars at equal weight; news sentiment is scored and shown beside them but carries no weight, because it moved the composite around without adding predictive value. A stock with a technical score of 55 and the fundamental pillar above computes as:
composite = (55 + 61.0) / 2
= 58.0
Now take a recent listing with no usable financials. Its fundamental pillar is null, not zero, so the composite rests on the technical pillar alone and reads 55. Counting the missing pillar as zero would have produced 27.5. The price of doing it properly is that two composites can rest on different amounts of evidence: a 58 built on both pillars carries more than a 58 built on one. Look at the pillars, not just the headline.
Confidence pulls toward 50, never toward 0
Not every computable signal deserves full strength. A social-sentiment reading built on a handful of posts is weaker than one built on thousands; a filing from last quarter is staler than one from yesterday. StocksScores handles confidence, staleness and volume with one rule: those factors scale the deviation from 50, never the raw score. In the social-sentiment scorers the shape is literally:
final = 50 + (raw − 50) × volumeFactor
Take a raw sentiment score of 80 and a volume factor of 0.25, meaning very little chatter. The result is 50 + 30 × 0.25 = 57.5: still leaning positive, but only slightly. The naive alternative, multiplying the raw score directly, gives 80 × 0.25 = 20, which turns a thin positive signal into a strongly bearish one. Low confidence should mean "closer to I don't know", and on this scale "I don't know" lives at 50.
How other stock ratings describe themselves
Well-known ratings use different inputs and different scales, and their publishers describe them plainly. Zacks says the Zacks Rank is built on earnings estimate revisions and sorts stocks from #1 (Strong Buy) to #5 (Strong Sell). TipRanks describes its Smart Score as a 1–10 score built from eight factors: Wall Street analysts, financial bloggers, hedge funds, corporate insiders, individual investors, news sentiment, and technical and fundamental factors. Different scales answer different questions at different resolutions. We put the main tools side by side in our comparison of AI stock rating tools.
How to read a stock score without fooling yourself
Even a carefully built score misleads if you read it as something it is not. A short checklist:
- Treat it as relative and probabilistic. A score ranks the current evidence; it does not promise an outcome. Whether a given kind of evidence pays off is a statistical question answered across many stocks and many months, not on the one stock in front of you. A gap of a few points between two stocks is noise.
- Check for pillar disagreement. A composite of 60 can be two pillars near 60, or a technical score of 85 sitting on a fundamental score of 35. The second is a different situation: momentum running ahead of the business, perhaps, or a market reacting to something the financials do not show yet. The composite cannot tell you which. The pillars, and the scorers under them, can. That is why every StocksScores score drills down to the scorers that pushed it up or dragged it down; our piece on explainable AI in stock analysis makes the general case.
- Check what is null. A score built on most of its scorers and one built on half of them are not equally informed, even when they print the same number. Many nulls usually point to a young company, thin coverage or an undefined ratio.
- Match the time horizon. A 5-minute RSI and a 3-month moving-average trend are both "technical", and they routinely disagree. If you hold for months, a bullish reading driven by short timeframes is not about your trade.
- Keep the sector in mind. Sector-relative scoring means a high valuation score says "cheap for its sector", not "cheap". A bank and a software company with the same fundamental score were measured against different yardsticks.
- Use it to choose what to research, not what to buy. A score is good at narrowing thousands of stocks to a short list worth reading about. It knows nothing about your position size, existing exposure, tax situation or the price you would pay. Those decisions stay with you.
Look at a real one
The quickest way to make this concrete is to take a score apart. Every large US company has a public breakdown page — Apple's, for instance, or the whole index by sector — showing the strongest and weakest scorers, the technical score per timeframe and 90 days of history. The free analysis page needs no sign-up: pick a ticker, compare the three pillars, then follow the largest contributors down to individual scorers. Note which scorers are null and why, and whether the timeframes driving the technical pillar match how long you would actually hold. Premium ($29.99 a month, with a 7-day free trial) adds an AI analyst chat, top-score lists, trade ideas, portfolios, alerts and custom weight presets.
FAQ
Is a high stock score a buy signal?
No. A high score says the evidence the model measures leans favourable today. It says nothing about your time horizon, your portfolio or the risk you can carry, and individual stocks with high scores can and do fall. Use it as a filter for research, then make the decision on your own analysis.
Why is a stock's score null?
Because the input a scorer needs does not exist or cannot be computed. A company with negative earnings has no meaningful P/E; a recent listing lacks multi-year history; a quiet stock may have no news or transcripts in the window. Stocks outside the coverage universe (US-listed common stock above $1 and $25M market cap) are not scored at all. Null is the honest answer; a zero would be a false bearish one.
How often do scores change?
The pillars move at different speeds by nature. A short-timeframe technical reading reflects the latest stretch of trading, while a 3-month trend barely moves from one day to the next. Fundamental scores shift when new financial statements arrive or when the share price moves a valuation ratio such as P/E. News scores follow the news flow. A composite can therefore change noticeably within a week while its fundamental pillar holds steady for a quarter.
Is a 0–100 score more precise than a 1–10 rating?
It has more resolution, not necessarily more accuracy. A 0–100 scale lets you see drift over time and the contribution of individual signals, but a 63 against a 65 is not a meaningful difference. Read the bands and the pillars, not the last digit.
Stock scores are information, not investment advice.