Methodology // rules, not adjectives

The rules behind every number here

Anyone can call their data accurate. This page states the specific rules that decide what gets published, what gets withheld, and what happens when a source disagrees with itself. Each one is enforced in code, and where a rule has already caught us being wrong, that case is named.

142 companies carry a stored snapshot, and 142 have had their dividend history derived from filings, including those that turn out to declare none. The market-wide board ranked 2,996 equities on 2026-08-07. 3 filter removals are on public record across 1 session. These counts are read from the same stores the product reads, at page build, so they cannot drift away from what the site actually holds.

Five rules

1. Derive by arithmetic. Abstain on contradiction.

A derived figure must be arithmetic on values the filer actually filed. Never a cadence assumption, never an average, never a projection. The case that produced the rule: standalone fourth-quarter dividend facts frequently do not exist in XBRL, because many calendar-year filers report only a nine-month and a full-year cumulative. That quarter is reconstructed as the filed full-year figure minus the filed nine-month figure. Two filed numbers, one subtraction.

The abstention half matters more. Some filers tag every cumulative period with the quarterly rate rather than the running total, and a naive subtraction against those invents a quarter that was never declared. So the nine-month figure is checked against the quarters the filer reported itself, and when they disagree we publish nothing for that period. The filer’s own quarters can refuse a derived value; they never build one. Reconstructed points are labelled derived and are not called estimated, because nothing was estimated.

2. A missing input is not a correction.

When a price feed returns nothing, that is an absence of new information, not evidence that the old price was wrong. Snapshot writes carry the last good value forward with its own timestamp instead of overwriting it with null. The whole price-derived group moves together, because carrying a price while recomputing a market cap against fresh share counts would mix vintages into a number that never existed at any moment. Staleness stays visible rather than becoming an empty cell.

3. What the filters removed is published.

Daily bars are raw traded prices, so a split or a bad print can look exactly like a huge move. Two guards decide what reaches the movers board, and both are thresholds we chose rather than facts about the market. Every name they remove is recorded with the reason and the number behind it, and those records accumulate across sessions. A strong filter quietly becomes censorship if nobody outside the codebase can see what it took out. Read the exclusion log.

4. Counts are computed, never typed.

Every count shown as proof, on the homepage and on this page, is computed from the underlying registry or database at build time. A typed number is correct on the day it is written and silently wrong afterwards, and a proof figure that drifts is worse than no figure. For the same reason no headline number on this site depends on a scroll-triggered animation to exist, which would make it invisible to anything reading the page rather than looking at it.

5. Say what is not covered.

Coverage boundaries are stated at the point of the claim rather than in a footnote. Rankings over the covered set say so in the heading and give both denominators, and market-wide boards are labelled market-wide only when they really are. The distinction is the difference between two honest claims and one dishonest one.

Where the numbers come from

SourceWhat we take
SEC EDGARCompany facts in XBRL, Form 4 insider transactions, filing full-text searchFetched from sec.gov and data.sec.gov directly. No filings vendor sits between us and the filer.
Databento (EQUS.SUMMARY)Daily open, high, low, close and volume for the whole US equity market, plus instrument definitionsRaw traded prices, not adjusted. That is why the movers guards exist.
Congressional disclosuresHouse and Senate periodic transaction reports, plus the congress-legislators rosterFiled on a lag that is measured on the disclosure-decay page rather than glossed over.
CboeOptions open interest for the max-pain calculationThe accuracy page scores the output against what the underlying actually did.
FREDMacroeconomic series for the economy dashboardSt. Louis Fed, cited by series where used.
Wikidata and Wikimedia CommonsCompany logosFetched once and stored by us. Never hotlinked, because a render-time logo puts a third party in the page load and hands them every visitor’s IP.

Where we score ourselves in public

A methodology is only worth as much as its error record. Three surfaces publish ours, each one measuring something that could embarrass us:

  • Does max pain work? scores our own max-pain output against what the underlying actually did, rather than asserting the calculation is useful.
  • Disclosure decay measures whether congressional trades still perform once the public can see them, which is the question that decides whether the whole tracker is worth reading.
  • The exclusion log lists every name our own filters removed from the market board, with the margin by which each one failed.

When we have been wrong

On 7 August 2026 the guard that rejects malformed price bars was scanning the entire comparison window instead of the two bars actually being compared. It removed a stock that rose 137.9% on $285.5M of turnover, the second largest gain in the market that session, because of a stub bar two sessions earlier that played no part in the calculation. The exclusion log is how it was found. The guard was narrowed to the two bars that form the comparison and the board was rebuilt the same day, which put the name back where the arithmetic had always placed it.

The correction is on this page for the same reason the log exists: a filter nobody can inspect is indistinguishable from a broken pipeline, and an accuracy record with no error case in it has not been tested.

What we deliberately do not do

  • No price targets and no recommendations.We analyse securities; we do not advise people. Nothing here accounts for anyone’s circumstances.
  • No blended composite scores. Quality tests gate what is eligible for a ranking and are never mixed into the rank itself, because a blended number cannot be explained in a sentence.
  • No undenominated claims. A percentage without its denominator, a precision figure without a sample, or a rating without the body that issued it are all the same failure, and none of them appear here.
  • No simulated or hypothetical performance presented as a result. Where a figure is measured, it says what it was measured over.

Educational information, not investment advice.

Methodology FAQ

What happens when the data is incomplete?

We show less rather than filling the gap. A derived figure must be arithmetic on values the filer actually filed, never a cadence assumption, an average or a projection, and when a filer’s own numbers contradict each other we publish nothing for that period. Abstention is a designed outcome here, not a failure.

Do you adjust prices for splits?

No. Daily bars are raw traded prices, which is exactly why a split or a bad print can look like a huge move. Rather than license a corporate-actions feed, we use the signature that separates them: a mechanical price change moves price without unusual volume, while real news brings volume. Every name that rule removes is published on the movers page.

Are any numbers on this site estimated or modelled?

Reconstructed quarterly dividends are the only derived figures, and they are subtraction on two filed cumulative totals rather than an estimate. They are labelled as derived and are never called estimated, because nothing was estimated. There are no price targets, no fair-value scores blended from weighted inputs, and no forecasts.

How do I know a number is current?

Dated figures carry the date they were filed or the session they describe. When a feed misses, the previous good value is carried forward with its own timestamp rather than being overwritten with nothing, so a stale figure shows as stale instead of vanishing.

Is this investment advice?

No. StockTools analyses securities and does not advise people. Nothing here accounts for your circumstances, and no output is a recommendation to buy or sell anything.

Keep going: exclusion log · dividend leaders · max pain accuracy · disclaimer