Transparency
Methodology
Launch Sentinel reports what it has observed, not what it can infer about a product's profile. This page documents the model exactly as it runs: how the liveness census probes the web, how the Pulse Index is computed, how deaths and revivals are detected, and what we do not know. Census figures are computed from the live catalogue and refreshed daily — measured August 26, 2026; the live census board carries the current numbers.
1. The Census
The census is a rolling HTTP sweep of every product with a usable website. Each probe issues a GET (not HEAD— parked and challenge pages often return 200 to a HEAD but give themselves away in the body), follows up to five redirects, times out at ten seconds, and sniffs the first 8 KB of the response. The outcome is classified into one of nine statuses.
| Status | Bucket | What it means |
|---|---|---|
| alive | Alive | 2xx/3xx, same apex domain, no parking or challenge markers in the first 8KB of body. |
| redirected_offsite | Redirected | Followed to a different apex domain — acquisition, pivot, or domain sale. Counted on its own, never as dead. |
| dead_404 | Hard-dead | HTTP 404 or 410. The page is gone. |
| dead_5xx | Hard-dead | HTTP 5xx. The server is erroring, not serving. |
| parked | Hard-dead | Final host is a known parking provider, or the body matches a domain-for-sale pattern. |
| unknown | Unverified | 4xx without a clear signal (paywall/login), or a network exception. Not evidence of death. |
| cf_block | Unverified | Cloudflare 403 with a cf-ray, or a challenge page. The probe was blocked, not the site. |
| timeout | Unverified | No response within the 10-second budget. Slow is not dead. |
| dns_fail | Unverified | DNS did not resolve (ENOTFOUND/EAI_AGAIN). Held as unverified, not dead. |
Measured August 26, 2026: 90,734 of 93,176 products probed — 47,578 alive, 12,593 hard-dead, 7,196 redirected off-site, and 23,367 unverified. Cadence: the showcase and emerging cohorts are re-probed daily; the full catalogue cycles roughly weekly via an oldest-probed-first shard, so nothing goes unchecked for long.
2. The Pulse Index
Pulse is a 0–100 score built only from observed activity — no profile-completeness input of any kind. It is a fixed-weight blend of four signal families:
| Family | Weight | Definition (each maps to [0,1]) |
|---|---|---|
| liveness | 0.40 | From the latest HTTP probe. Alive scores 0.7 + 0.3 × min(consecutive-alive streak, 5) / 5 — a stability bonus that rewards a site that has stayed up across probes, capped at five. Redirected-offsite = 0.4; unverified (unknown/timeout/cf_block/dns_fail) = 0.2; hard-dead (dead_404/dead_5xx/parked) = 0.0. |
| press | 0.30 | Importance-weighted press over the last 90 days: for each linked mention, (importance_score ÷ 5, default 3) × exp(−days_since ÷ 30) — a 30-day exponential decay. The sum is capped at 3 units, then divided by 3 to land in [0,1]. A product with no press contributes 0 and the family is treated as absent. |
| github | 0.20 | 30-day star-growth percentile among repositories with a fresh snapshot (≤ 14 days old). If the snapshot pipeline stalls, every repo falls out of the fresh window and this family contributes 0 across the board — by design, so stale data cannot masquerade as signal. |
| tranco | 0.10 | Inverse Tranco-rank percentile: 1 − percent_rank(tranco_rank), so the most-visited domains score near 1.0. Present only for products we have matched to a Tranco rank. |
A missing family contributes 0 and is never renormalized. Pulse measures observed activity, so an unobserved family genuinely means less evidence — lowering the score is the honest outcome, not a bug. This is the opposite of the retired signal score, which normalized over present signals and so rewarded thin data.
A pulse is only displayed when at least two signal families are present, and it always renders alongside its families_present denominator. Below two families a product shows its evidence strip instead of a number. Measured August 26, 2026, 90,619 products carry a pulse, but only 16,228 (18%) clear the two-family bar — the rest have liveness alone. There is no backfilled history: rows accrue from the day the index shipped, so the series is 100% real.
Signal coverage today. 82% of the 90,619 scored products carry one family (liveness only) and cannot display a Pulse. The GitHub family depends on daily star snapshots — last snapshot August 26, 2026. A rebuild of the index around five signal families is under way; until it ships, these are the honest limits of what this page ranks.
3. Observed Transitions
Deaths and revivals are read directly off the probe timeline — never inferred from a score. Only classified probes participate: alive versus hard-dead (dead_404 / dead_5xx / parked). When two consecutive classified probes for a product change class, that flip is recorded — an alive → hard-dead flip is a death, the reverse is a revival. Ambiguous statuses (unverified or redirected) can never produce a transition, which is the false-positive guard.
A transition is marked confirmedonly when the post-flip state still holds at the product's latest probe. Measured August 26, 2026 we have observed 3,672 flips (1,884 deaths, 1,788 revivals), of which 2,364 currently hold.
4. Survival Analysis
For the 269 products with a documented shutdown and a dated lifespan, we compute a Kaplan–Meier survival curve — S(t) = P(a product lives longer than t months) — overall and per category, plus a Weibull fit whose shape parameter tells us whether a category's mortality is front-loaded, flat, or rising with age.
5. Coverage & Provenance
Every score is only as good as its coverage. Here is exactly what each signal reaches today, and which ones feed the Pulse Index.
| Source | Coverage (live) |
|---|---|
| Liveness census | 90,734 probed of 93,176 products |
| Press mentions | 967 products (2,124 linked mentions; 3,893 crawled) |
| GitHub stars | 574 products with a fresh (≤14d) snapshot contributing to Pulse |
| Tranco rank | 18,701 products |
| Documented closures | Products with a dated lifespan |
| Funding | Sparse — not broadly reliable yet |
| Pricing | Sparse |
| Ratings (G2 / Capterra) | Sparse — top cohort only |
- —Most products have exactly one observed family (liveness), which is why the majority of pulses stay below the two-family display bar. Coverage is the constraint, not the algorithm.
- —Funding, pricing, and ratings are too sparse to score honestly, so they feed no score today. When a field is thin, we leave it out rather than dress it up.
- —We have no window into private revenue, internal roadmaps, headcount, or non-public funding. Everything here is derived from public, re-observable signals — a URL you can probe, a mention you can read, a star count you can check.
6. Retired Metrics
The old Signal Score correlated 0.92 with a pure profile-completeness measure — it was largely rewarding products with a filled-in profile, not products with real momentum, so it was pulled from every surface. The Velocity Score, derived from the same foundation, went with it. They are replaced by the observed-only Pulse Index (completeness correlation: 0.06). No surface displays the retired scores as a current signal.
7. Use & Limits
Everything on Launch Sentinel is an algorithmic reading of public data, offered as a discovery and triage aid — not a rating to make a decision on, and not financial advice. Coverage is uneven, small samples are labelled as such, and observed signals lag reality by up to a sweep cycle. When we are not sure, the page says so.
