Methodology
How every number on this site is calculated
Trust starts with transparency. This page explains our data sources, the formulas behind every metric, and the honest limitations of historical analysis.
Data source and coverage
ReturnScreener's analytics are computed from publicly available market data covering the Nifty 500 universe — 500+ listed Indian companies across 19 sectors and major indices such as the Nifty 50 and Bank Nifty. For most companies, our price history extends up to 20 years.
Prices and all derived metrics refresh every trading day. Pages across the site are regenerated on a daily cycle, so the figures you see reflect the most recent completed trading session.
How we calculate CAGR
CAGR (Compound Annual Growth Rate) is the single rate at which an investment would have grown each year to get from its starting price to its ending price over a period. We calculate it with the standard formula:
CAGR = (Ending Price ÷ Starting Price)1/years − 1
For example, if a stock went from ₹100 to ₹400 in 10 years, its CAGR is (400 ÷ 100)1/10 − 1 = 14.87% per year — even though the journey between those two points was never a straight line.
How we calculate wealth creation
Our “₹10,000 became ₹X” figures simulate a one-time (lump-sum) investment at the start of the selected period, held untouched until today. The final value is the invested amount multiplied by the stock's total return over that period.
These simulations use the adjustedclosing price, which already folds in dividends and stock splits. They are therefore total returns, not price-only returns: a dividend-paying company's figure includes the dividends it paid, reinvested. Displayed share prices elsewhere on the site — the header price, the daily change, the Price Performance section — are the unadjusted quoted closes instead, so you can check them against NSE or your broker. That is why a stock's start-to-end price change will not always reproduce its stated return: the difference is the dividends.
Three things are still excluded. Brokerage and taxes are not modelled, so real outcomes would be a little lower. Demergers and spin-offs are not credited — our data source does not adjust for them, so a demerged parent shows the price fall without the shares its holders received. And the simulation assumes the position was held continuously, with no trading in between.
How benchmark comparisons work
Where you see a stock compared against the NIFTY benchmark, we run the same lump-sum simulation on both the stock and the index over the identical period, then compare the outcomes. This answers a simple question: did this stock reward its investors better than the market as a whole?
How rankings are built
Top Stocks pages rank companies by historical CAGR over the selected period (1 to 20 years), on the adjusted price — so those boards are ranked on total return. Best Stocks pages rank companies by price return over recent periods — one week to one year — optionally filtered by sector. Those short windows deliberately use the quoted price rather than the adjusted one, because over a week or a month they are meant to describe how the share price itself moved.
Rankings are purely mathematical: they describe what happened, in order. A high historical rank is a record of past performance, not a prediction or a recommendation.
How Stock DNA is scored
Stock DNA is a set of four measurements taken from the same price history shown on a stock's page. It is not a rating, an opinion, or a proprietary black box — each dimension is a single calculation, and the underlying figure is printed next to every score so you can check it against the chart above it.
- Growth — the annualised return (CAGR) over the selected window, scaled linearly so that 25% a year scores 10 and 0% scores 0. For reference, the long-run NIFTY 50 rate sits near the middle of that scale.
- Consistency — the share of intervals that closed higher than the one before, expressed directly as the score. Twelve up years out of twenty is 6.0. There is no curve applied.
- Resilience— the worst fall from a previous peak in the value series, scoring 10 at no decline and 0 at a 70% fall. Because it is measured on interval-end values, falls that happened and recovered inside a single interval are not captured, so a real-world drawdown was usually deeper than the figure shown. This is a coarse score, not a drawdown figure; the precise one, measured month by month with the peak, trough and recovery dates named, is on each stock's drawdown page.
- Vs NIFTY 50— the gap between the stock's annualised return and the index's over the same window. A score of 5 means it matched the index; each percentage point of annual out- or under-performance moves the score half a point.
The overall figure is the plain average of whichever dimensions could be calculated — no weighting. Where an input does not exist for a holding period (CAGR is not meaningful under a year; some windows have no benchmark; short series cannot show a drawdown) the dimension is left out rather than estimated, and the page states how many of the four were used.
A previous version of this scorecard included “Stability” and “Risk” scores. Stability was derived from market capitalisation alone and Risk was simply its arithmetic inverse, so neither measured anything about how the stock had actually behaved. Both were removed rather than reworded.
Rolling returns, drawdowns and price extremes
Three of the newer pages measure the same price history in ways the rest of the site does not, and two of them deliberately use a different basis. Reading a figure off the wrong one is the easiest mistake to make here, so this is what each means.
Rolling returnstake every possible start month rather than one. A five-year window beginning in January is a different investment from one beginning in February, and across twenty years there are roughly 180 of them. We publish the whole distribution — worst, 25th percentile, median, 75th, best, and the share that ended in profit — on month-end closes adjusted for dividends and splits. Percentiles are linearly interpolated rather than nearest-rank, so the figures do not jump as a window enters or leaves. A window length is only published once at least twelve complete windows exist behind it; fewer than that describes an anecdote, and presenting it as a range would overstate what the data supports. The windows overlap heavily by construction, so they are a description of one company's history and not a sample from which probabilities can be estimated.
Drawdowns are measured on the same month-end adjusted series, which makes them total-return figures — the fall a holder experienced with dividends reinvested. Because they are month-end, a fall that went deeper inside a month and recovered before it closed is not captured: the real worst moment was at least as bad as the figure shown, and often worse. We report the peak month, the trough month, the recovery month where one exists, and the number of months spent below the old peak.
All-time highs and 52-week ranges come from a different column and a different basis, and this is the one distinction on the page worth reading twice. They are taken from daily intraday highs and lows, split-adjusted but notdividend-adjusted — the basis on which prices are quoted, so they are directly comparable with the price at a broker. The drawdown section's own peak is the high point of a dividend-reinvested holding, which on any dividend payer sits several percent below the highest price the stock actually traded at. Using that number to answer “what is the all-time high” would understate it, so we do not. Where a company's stored history contains an unresolved corporate-action break and its high falls on the wrong side of it, we withhold the all-time high entirely rather than publish a price the stock never traded at.
All three honour the same trust window as the rest of the site: where our data source never re-based prices after a split or similar event, the record is measured only from the point it becomes reliable, so these pages can never contradict the figures on the company's own overview.
Calendar years, and why the current one is missing
The year pages measure December close to December close on the adjusted series, so they are total returns with dividends treated as reinvested — a little higher than the price changes usually quoted in the press, and not comparable with the all-time-high figures above, which are quoted prices.
Only complete years appear. Both the first and last calendar year of any price series are partial by construction — a company listed in September has three months of that year, and the year in progress is not over — so both are dropped. The practical consequence is that a year becomes available only once it has ended and our pipeline has run again, and the current year is never shown. A fragment of a year reported as a year is the kind of quietly wrong number that costs a data site its credibility, so we would rather publish nothing.
Two things to hold in mind on the losing end of any year table. Our data source does not credit demergers, so a company that spun off a subsidiary shows the value leaving and never arriving — which can read as a catastrophic year when it was a restructuring. And the universe is today's Nifty 500, so the genuinely worst performers of a bad year may have delisted and be absent entirely.
Goal figures are measurements, not forecasts
Every goal calculator we know of asks for an expected rate of return, usually 12%, and compounds forward from it. The answer it produces is the number the reader supplied, rearranged. Our goal pages accept no rate at all — there is no field for one, deliberately.
Instead they take every 10- and 15-year period the benchmark index has actually been through, measure what each one returned, and report what the target would have required in the worst, the median and the best of them. Three figures, always, because a single one carries no sense of how far either side of it real outcomes fell. The required contribution is the exact inverse of the same month-end annuity our SIP pages use, so the two can never disagree about the same arithmetic.
The horizons stop at fifteen years, and that is a property of the data rather than a choice. No instrument on this site has more than twenty years of usable history, and describing a distribution honestly takes at least twelve complete periods — which makes fifteen the longest window with enough of them behind it. A twenty-five-year page would have to stretch a shorter window's rate far past anything measured. Where no measured window covers a horizon, the page returns a 404 rather than substituting one.
These are index returns, before brokerage and taxes, and they assume an uninterrupted monthly contribution that almost nobody manages in practice. They describe what history would have demanded. They are not a prediction of the next ten or fifteen years, and nothing on those pages is a recommendation.
Honest limitations
- Past performance does not predict future returns — market cycles, company fundamentals, and economic conditions change.
- Long-horizon returns include dividends and splits, but not demergers — our data source does not adjust for them, so a demerged parent understates what its holders actually received. The short-window Best Stocks boards are price return only and exclude dividends by design.
- No figure anywhere on the site accounts for brokerage or taxes, so real-world outcomes would be lower than shown.
- Our universe is the Nifty 500 — smaller listed companies outside it are not covered.
- Corporate actions (splits, bonuses) are reflected as provided by our data sources; rare discrepancies are corrected as they are found.
- Very recently listed companies have short histories, so long-period analytics for them appear only as data accumulates.
Found a figure that looks wrong? We take data accuracy seriously — please report it through the Contact page and we will investigate.