Data to 5 October 2026

Methods

Dossiers: how the questions are answered

Each question page (/q/<id>/) answers its question every day from the data. This note explains how. The rules were written down before they were first run on the data (docs/site/DOSSIERS_PLAN.md, with every later change logged there), and the code is apps/site/src/lib/dossier/. No sentence on a dossier is written by a model; every sentence is a template filled with numbers from the published data at build time.

The measures and their votes

Each dossier weighs a fixed list of measures. Every measure has a dated history and a rule that turns today’s value into one of three votes: for the question (+1: dear, up, strong, risky, heavy, cheap money, weakening rupee, a headwind), against it (−1), or in between (0).

From votes to an answer

Primary measures count twice, supporting measures once. The score is the weighted average of the votes, from −1 to +1, and maps to five answers: 0.6 or more is the strong end (“Expensive”), 0.25 to 0.6 the leaning end (“Somewhat expensive”), between −0.25 and 0.25 the middle (“About usual”), and the same on the other side.

What has changed

The same rules are run as of one month and one year before the latest session, using only what was known then: each measure’s last value on or before that date, and its percentile within the history up to that date. The page gives the answer then and now, the measures whose votes changed, and the largest move in percentile terms over the year.

What would change the answer

For each primary measure the page gives the value at which its vote would change: the 30th or 70th percentile of its history, or its fixed level. It also counts the fewest single-step vote changes that would move the answer one level, and lists the relevant releases and results dates in the next 14 days.

What history says

Only our own tests and pre-registered studies are quoted, with their numbers read from the published results: evidence C1–C3 (valuation and later returns, breadth thrusts, flows and returns), the trend, momentum and mood barometers’ tests, the trend and momentum models and the IPO study. Failed and untestable results are stated as plainly as passed ones. Where we have not tested a link, the page says so.

Answers that are names

Three questions are not a scale. Who is buying? names the largest net buyer and seller over three months of exchange category flows (validated sessions only), says whether the latest month agrees, and places foreign and domestic institutions’ last 13 weeks against every 13-week span of their history. What is leading? names the leader by size (six-month return relative to the Nifty 500, and whether it is still ahead over one month), the sectors ahead over both six months and one month, and the best and worst asset over a year. Are the products doing what they promise? applies one fixed test to each promise (for example, the median equity ETF trades within ±0.5% of its NAV) and counts how many hold.

The risk dossier’s own series

dossiers/risk_weekly and dossiers/risk_next come from the site_dossiers pipeline step (pipeline/tipsheet/compute/site_dossiers.py):

The charts

Each dossier carries the charts its argument needs, in an order of reasoning: the main measure over its history, what is driving it, the cross-section today, and what followed similar readings in our own tests (docs/site/DOSSIERS_PLAN.md, Charts). Titles and reading lines are filled from the data at build time, so a title such as “Over the last three years prices rose 16% and earnings grew 34%” changes when the data do.

Caveats

This note is the repository file docs/methods/dossiers.md, rendered as-is.