How the scoring works.
Every call on StreetPredict is scraped from a public post, locked at the price it went out, and graded by the market — no human in the loop, no hindsight edits. Here's exactly how a messy Reddit comment becomes a number on a track record.
From a post to a scored call.
Bots watch the feeds
Crawlers pull new posts every few minutes from Reddit, SeekingAlpha, X and Substack.
LLMs parse the call
Language models pull structured predictions out of prose — ticker, direction, target and expiry.
Entry price is locked
We record the security's price at the moment the post went public. That's the entry — it never moves.
The market grades it
At expiry we compare the entry price to where the market actually went, and assign a score.
One number, from −1.0 to +1.0.
A score blends three things: the direction of the call, the conviction behind it, and the magnitude of the move. Strong, correct calls earn bonus weight; strong, wrong ones are penalised hardest.
- Buy / Sell — scores linearly with the move in the called direction, reaching the maximum at about a 10% move. A move the wrong way goes negative.
- Strong buy / Strong sell — more demanding and more rewarding: any move against the call is penalised to the floor, while a large move the right way earns bonus weight beyond a normal call.
- Hold — rewards staying put. A perfect score for staying within ±5%, decaying as the price drifts, turning negative once it moves more than ~20%.
- Price target — full credit when the target is reached, partial credit for progress toward it, and a negative score if the price moves the opposite way.
The final stored score is clamped to the −1.0 … +1.0 range for the leaderboard, so one spectacular call can't distort a track record. A call can only be graded once both an entry price and an expiry price exist; if either is missing, it stays pending rather than scoring wrong.
Ranked by track record, not volume.
The board rewards being repeatedly right in independent ways — not simply posting the most calls. Two predictors with the same hit rate are separated by how many independent bets stand behind it.
- Repeats don't stack — saying “sell Bitcoin” ten times while it trends down is one bet, not ten. A single low-information call, repeated, can't inflate a record.
- Calling the turn counts — changing your call on a security (buy → sell → buy) opens a new bet each time, so a predictor who correctly times reversals gets full credit for every turn they call.
- Small samples regress — a record with only a couple of bets is pulled toward the site-wide average, so a lucky hit or two can't top the board. You need at least two independent bets to be ranked at all.
So there are two honest ways to climb: be right across many different securities, or call the turns on a few. Riding one long trend with the same call, over and over, is not one of them.
Where the prices come from.
Equities
Priced from market data providers, including full daily history — so a call on a stock that was later acquired or delisted still resolves at the correct price.
Crypto
Priced around the clock, with a deep historical daily series so calls of any age resolve — even years-old ones.
Indices
Market indices (S&P 500, Nasdaq, Dow, Russell, VIX and more) are priced at their true index level from a native index feed, so a target like “S&P to 6,000” is graded in the same units it was called in.
Indices are graded on their daily closing level. A call that is both created and expires within the same trading day is measured against a single close, so a purely intraday index move isn't captured — the overwhelming majority of calls, which span multiple days, are unaffected. (Individual stocks and crypto, which have finer-grained price data, don't have this limit.)
No hindsight. No hiding.
Entry prices are locked at publication and never revised. Once a call expires, its score is permanent and rolls up into the caller's track record. StreetPredict is an accountability layer for market opinions — not investment advice, and for entertainment only.