Skip to content
CohortWatch
Momentum LedgerMethodologyas of 2026-07-13
40 / 30 / 30
Signal weights
Hiring · Code · Capital
0–100
Score range
cohort-relative
3
Signal families
2 in dated export
Deterministic
Model type
rule-based · inspectable

Methodology

How the momentum read is built

Momentum here is a dated reading of observable public activity. The current export contains hiring and frozen code evidence; capital is designed but has no shipping collector data. It is not a valuation, a prediction, or a measure of team quality.

What this score is not

Not a valuation. Not a prediction of success. Not a measure of team quality. It is a peer-relative reading of dated, observable public activity. Nothing more.

The score, in one line

Three method families, with two populated in the current export.

The method defines Hiring, Code, and Capital at 40/30/30. The current export contains hiring and code evidence only. Weights renormalize over observed families, and public comparisons use the supported peer pool named on the page.

40%
Hiring

Observed first-party job-page activity. Open roles are a public hiring signal, not proof of demand or growth.

30%
Code

Public repository and package evidence through the frozen code lane. Absence lowers confidence rather than becoming a hard zero.

30%
Capital

A designed, one-sided signal family. No capital collector data ships in the current export, so the published capital contribution is absent rather than inferred.

Hiring 40 + Code 30 + Capital 30cohort-relative score 0–100 + a stated confidence level

Weights are renormalised over the signal families we actually find, so a company with no code presence is not silently penalised. Its score simply leans on the signals we have. Capital contributes nothing until its collector ships observed data.

Confidence, honestly

Thin data washes the number out. It never turns red, and it is never hidden.

Confidence rides with every score. High confidence states the read at full strength; low confidence pulls the estimate toward 50 and visibly washes the gauge out, with a label.

78out of 100
Gaining

High confidence

Enough signal to state the read at full strength. The arc carries the momentum colour.

~51out of 100
UncertainLow data: estimate, pulled toward 50

Low confidence

Thin data washes the arc out and pulls the estimate toward 50, with a label. Never red, never hidden.

Illustration of the mechanism, not a real company. In the dated export, no company reads “gaining”, and we say so.

The rules we hold

Six rules that keep the number honest.

01

Named peers, not the whole world

Every published comparison names its supported accelerator-bounded peer pool. When only a cross-accelerator fallback is available, public peer statistics are withheld.

02

Capital is one-sided

The method specifies that a detected round could lift momentum while non-detection would not count against it. The current export contains no capital collector data.

03

Honest shrinkage toward 50

When data is thin, the score is pulled toward the neutral midpoint (50) in proportion to confidence, and the gauge visibly washes out. We show uncertainty rather than fake precision.

04

Confidence is not freshness

Confidence reflects how much data we have (coverage, history, peer density). Freshness reflects how recently it was refreshed. They are tracked separately and never conflated.

05

Silence is not absence

A source we found but that is flat counts as observed low momentum. A source we could not find only lowers confidence; it is never scored as a zero.

06

Accuracy per class (pre-registered)

If the owner-adjudicated benchmark set ships, accuracy will be reported separately for code-verified and claim-only signals, never blended into one flattering number. Until then, CohortWatch makes no accuracy claim.

Every score also carries a version (current: momentum-v2, shown in the footer and on every company page), so a change in the model is always visible and correctable.

Published scope

What the instrument exposes, and what it refuses.

The useful distinction is what a reading makes inspectable and where it stops.

Published hereDeliberate boundary
AccessFree to inspectNo account or paywall
Source codeOpen and auditableNo hidden scoring path
EvidenceObserved receipts linkedMissing evidence is not invented
ModelRule-based and deterministicNo predictive performance model
ComparisonNamed peer poolsNo global ranking
UnitCompaniesNo founder profiles

The current export covers selected accelerator cohorts in the pre-seed to Series A window. It is not a comprehensive market map, and it does not measure company quality, job quality, viability, or investment merit.

Robustness

Do the exact weights even matter?

The precise 40/30/30 split is third-order (Dawes, improper linear models), so CohortWatch tests it rather than assuming it. The fixed scorer was re-run over every scored company under deliberate weight tilts, then checked for changes in the internal top-20 set.

Weight vector (H / C / $)Top-20 unchangedMedian |Δ|p95 |Δ|Max |Δ|
hiring heavy (50/25/25)15/200.18 pts0.51 pts1.65 pts
equal (33/33/33)18/200.12 pts0.34 pts1.1 pts
capital heavy (25/25/50)18/200.28 pts0.77 pts3.26 pts

Default weights 40/30/30 · 6,137 scored companies · as of 2026-06-20. Top-20 is an internal robustness measure across all tracked companies. No ranking or identities are published. Reproducible from committed data (scripts/sensitivity_grid.py).

Display honesty standard

When we refuse to state a number: the published rules.

Every suppression below is mechanical: a rule over exported facts, applied identically to all companies. If a page abstains, one of these rules fired. The instrument stays visible and says why, in words, in place.

RuleFires whenWhat renders instead
Withheld peer statsthe nearest peer pool crosses accelerators (flagged rung) or no stats existno bar, no median, no count; we never rank across accelerators or fabricate a comparison
Low-confidence percentilescore confidence is low (the displayed score is mostly shrinkage toward 50)the track renders, the point marker abstains in place: “data is thin, so we don't state a percentile yet”
Median tie bandthe displayed score is within 1 point of the displayed cohort median“around the cohort median” as a band, never a finer rank that would fight the median beside it
Single-family evidencefewer than 2 signal families are present for the companyno percentile ordinal: “one signal family isn't enough to state a percentile; we wait for a second family”
Older-vintage poolthe scorer pooled the company into its unbounded top age band (activates when the backend exports the flag)no cohort position at all, and the pool is named honestly: “older vintages pooled,” never “similar vintage”

Cross-check strip: the three states

  • Cross-checks agree: the quietest state, on most pages: independent reads were compared and none conflict. When every visible check agrees and the agreement is fully reconstructible, the line says so (“all N checks run agree”).
  • Signals not fully consistent: the most visibly distinct state: checks ran, and we do not claim consistency. Not an error or a verdict. It is a stated cap on what the read may assert.
  • Nothing to cross-validate yet: no publishable checks exist for the company. An explained absence, never a bare one and never a negative mark.

Collection lanes: the four states

  • Checked (dated): the lane collected on cadence; the date is derived from the shipped data.
  • Behind cadence: the newest observation trails the export clock; we say so rather than rounding up to “fresh”.
  • Frozen: collection paused on a stated date; historical data through that date remains in the record, and every score that leans on the lane carries an “includes … as of” note on the number.
  • Designed: the signal family is specified, but no collector data ships yet; its coverage reads 0%, not a claim.

display-standard v1 · 2026-07-12 · rule changes bump this version visibly

Corrections & trust

The guarantees, the licence, and how to tell us we're wrong.

A credibility tool is only as good as what it refuses to claim, and how quickly it fixes a mistake. These are hard rules, not preferences.

Honesty guarantees

  • Never use an opaque predictive model in the published score. The score is deterministic and rule-based.
  • Never publish founder names or personal profiles. Companies are the unit.
  • Never publish cross-accelerator peer comparisons. Unsupported comparison statistics are withheld.
  • Never infer private data (revenue, valuation) from public proxies.
  • Never treat the designed capital lane as observed data. The current export contains no capital collector evidence.

Found something wrong?

Every company page carries a correction link. Open an issue on GitLab so the report and its review can be tracked in public.

Open a correction on GitLab

Open data & licence

Code is Apache-2.0; the dataset is CC BY 4.0. The published export and scoring method are committed for inspection and reproduction. Reuse them, check them, or run your own copy.

See configured source lanes & coverage

Now read a real one, and check our work.

Observed evidence is listed with source links when the export provides them. Explore the tracked companies, or read the code that produces the numbers.