How we score
A banded label + flag count, never a single trust number. The outcome math below is fully public and reproducible from our published formulas; the behavioural lexicon and exact thresholds are kept private and adaptive. Method version 0.4-dev.
Recency decay
w = (1/2)^(dt/H) — A call's weight halves every 18 months for accuracy (and 6 months for hype language), aged from when the call was actually made.
Hit rate
HR = sum(w*hit) / sum(w) · HR* = (k*p0 + sum(w*hit)) / (k + sum(w))
The weighted hit rate is shrunk toward a neutral prior for small samples (k = 10, p₀ = 0.5). We always show a credible interval, at the 0.9 level.
Effective sample size
Neff = (sum w)^2 / sum(w^2). We only headline a rate once the effective sample size reaches 10 — below that, the record is shown as a neutral "insufficient" fact.
Hit rule & benchmark
Target hit = 1, stopped out = 0. An expired or direction-only call scores 1 if it beat its benchmark, else 0. Index calls are judged on absolute return. Excess return is versus the appropriate per-class benchmark over the same window, on corporate-action-adjusted prices.
One exception: if a call's stated target or stop had already been reached at the price when the call was made, it resolves the same day at about 0%. We leave that out of the record until a person has checked the level was genuine.
A second exception: we grade a call only if we hold market prices from around both ends of its window — the day it was made and the day it closes. Using a much later price, or a stale one, would measure a period the speaker never spoke about, so the call is left out of the record until the price history covers it.
When the same call is repeated and the repeat adds a target, stop or time frame the first one never gave, we apply that level to the call. A repeat never overrides a level the original call did give.
One limit worth knowing: we check targets and stops against each day’s closing price, not the highest and lowest points reached during the day. So if a price touched a target in the middle of a day and fell back before the close, we do not record it as reached.
“Keep holding” calls
When someone says to keep holding a stock, we treat that as a call to be in it from that day, and grade it the same way we grade a buy. Most calls we find are of this kind, so this choice affects most of the record you see.
Calls with no target and no time frame
Sometimes a person names a stock and a direction but never says a price to aim for, a price to give up at, or how long they mean. When that happens we measure the call over our own standard holding period, starting the day it was made. About a quarter of the calls we find are like this. If a person gave a price, or a time frame we can read, we use what they said instead.
The time frame we measure over
When someone says how long they mean — “this week”, “by the end of December”, “the next two trading days” — we measure the call over exactly that period. When their words could mean two different lengths, we take the one that gives their call its best chance. When they give no time frame at all, we use our own standard period and say so. And when they do give one but we cannot read it, or it begins and ends inside a single day, we do not count the call at all — measuring it would mean choosing the period ourselves, and we would rather leave it out than judge someone against a deadline they never set.
“It will hold above…”, “…will cap it”, and range calls
Some calls are not about a price being reached but about one being held — “the index will not fall below 23,000”, “24,600 will cap it”, “the range this week is 24,200 to 24,800”. We check whether any day’s closing price broke it during the period the person gave. It counts as correct if it held for the whole period, and as wrong from the day it broke. A call like this counts in the success rate but never in the return figures: saying the market will go nowhere is not a claim about a gain. We count it only when the person gave a time frame, because given long enough every such call breaks.
Prices said in shorthand
Traders drop the obvious part of a number — with the index at 23,659 they say “796” and everyone listening hears 23,796. We write the full number only when there is exactly one it could be: within 2% of that day’s closing price, no other number ending in those digits fits. Where two could fit, or none, we leave the call for a person and do not guess.
“I think”, “maybe” and similar
Saying “I think” or “maybe” does not change how we count a call. If someone names a stock and a direction, we measure what happened, however carefully they said it.
A general disclaimer — “this is not a recommendation”, “consult your advisor” — is not the same as “I think”, and it changes nothing about how a call is scored. Otherwise anyone could add one line to every video and stop being measured.
Co-signed calls
When someone co-signs another person's call (“I agree with X”), it counts toward their record at 0.5× the weight of a call they made themselves, and is shown separately on their profile.
Benchmark by class
- equity → NIFTY 50
- etf → NIFTY 50
- index → self
Sector benchmark by stock
- HDFCBANK → NIFTY BANK
- ICICIBANK → NIFTY BANK
- SBIN → NIFTY BANK
- AXISBANK → NIFTY BANK
- KOTAKBANK → NIFTY BANK
- BAJFINANCE → NIFTY FINANCIAL SERVICES
- SUZLON → NIFTY MIDCAP 100
- IRFC → NIFTY MIDCAP 100
Bands
Every verdict is one of: CLEAR, CAUTION, HIGH-RISK, NOT RATED, NOT TRACKED.
Signals & their basis
- hype_density (Layer 2) — How often the speaker uses over-promising language, measured as a density over their own quoted calls.
- over_optimism_ratio (Layer 2) — Degree of one-directional over-optimism in their own words.
- vagueness_index (Layer 2) — How often calls are hedged into unfalsifiable vagueness.
- pushes_intraday_fno (Layer 2) — Intensity of promoting intraday F&O/options — a severe-harm category (never accuracy-scored).
- promotes_crypto (Layer 2) — Promotes crypto (outside SEBI's securities remit).
- promotes_forex (Layer 2) — Promotes retail offshore forex (an RBI/FEMA red flag).
- unresolvable_ticker (Layer 2) — Pushes instruments that can't be verified against an authoritative master.
- spread_pump_intensity (Layer 2) — Pushes the same call across many clips.
- short_track_record (Layer 2) — Makes few specific calls — a neutral fact, not a penalty.
- stale_activity (Layer 2) — No recent specific calls — a neutral recency fact.
- host_amplification (Layer 2) — Features other creators — neutral, never an accuracy hit.
- disclosure_hygiene (Layer 1) — How often the speaker discloses positions or paid promotion.
The behavioural lexicon and exact thresholds are kept private and adaptive; the outcome math above is fully public and reproducible.