The instrument
This is what the surface looks like.
A redacted instance of a deployed instrumentation layer. Names are struck out and absolute values are shifted; the structure, cadence, sample sizes and confidence bands are the ones that ran.
What has been changed
- Entity names are struck out. Each mask is stable across the whole page, so ███ 04 is the same operator in every panel.
- Absolute values are shifted by a per-panel constant. Relative position, direction and spread are unchanged.
- The observation window, the sample sizes and the intervals are as measured. Nothing here is illustrative.
Surface
Six panels from one deployment.
Each panel states its provenance — counted, computed, or estimated — and every estimate carries the interval it comes with.
01 — Corpus
observedWhat is being counted.
RAW_COUNTS · AGG 1w · n=13,596 records · CONF 5
CONF 5 — Stable, with no known data-quality issue.
The instrument tracks a fixed set of operators on a weekly cadence. Coverage is stated per source, including where it is incomplete — a source that reaches 62% of the set is reported as 62%, not quietly dropped.
| Source | Records | Coverage | Cadence |
|---|---|---|---|
| Public review corpus, source A | 4,955 | 21 of 21 operators | Weekly |
| Public review corpus, source B | 349 | 13 of 21 operators | Weekly |
| Paid creative, live-ad capture | 1,880 | 18 of 21 operators | Daily, rolled weekly |
| Booking-surface instrumentation | 21 surfaces × 34 fields | 21 of 21 operators | Weekly |
| Organic publishing capture | 6,412 | 20 of 21 operators | Daily, rolled weekly |
Every downstream figure resolves to one of these five corpora. Nothing on this page is sourced from a panel, a survey, or a purchased estimate.
02 — Movement
derivedWhere custom actually goes when it leaves.
PERTURBED · RAW_COUNTS · AGG 1w · n=302 resolved · CONF 4
CONF 4 — Stable, with a known gap in source coverage.
Every edge is a resolved public statement that a person moved from one operator to another, and the stated reason. Edges below a floor of four resolved mentions are not shown at all rather than shown faintly — a thin edge is the most persuasive and least reliable object on a graph like this.
Why this is hard to get
No operator can see this from their own systems. It is not in a CRM, a booking platform, or a payment processor: the moment a customer leaves, they stop generating records you own. It only exists in what they say somewhere public, and only if someone resolves those statements to entities.
Net movement, resolved mentions
| Operator | In | Out | Net |
|---|---|---|---|
| ███ 01 | 58 | 0 | 58 |
| OPERATOR | 67 | 30 | 37 |
| ███ 05 | 11 | 0 | 11 |
| ███ 03 | 17 | 12 | 5 |
| ███ 08 | 0 | 9 | -9 |
| ███ 07 | 0 | 14 | -14 |
| ███ 06 | 0 | 17 | -17 |
| ███ 02 | 0 | 22 | -22 |
| ███ 04 | 9 | 58 | -49 |
Edge ledger — every reportable edge with its interval
| From | To | n | 95% CI | Stated reason |
|---|---|---|---|---|
| ███ 04 | OPERATOR | 31 | 24–38 | Wait time |
| ███ 02 | OPERATOR | 22 | 16–28 | Result consistency |
| ███ 07 | OPERATOR | 14 | 9–19 | Handling of a complaint |
| OPERATOR | ███ 01 | 19 | 13–25 | Price |
| OPERATOR | ███ 05 | 11 | 7–16 | Availability |
| ███ 04 | ███ 01 | 27 | 20–34 | Wait time |
| ███ 06 | ███ 03 | 17 | 11–23 | Staff turnover |
| ███ 03 | ███ 01 | 12 | 8–17 | Price |
| ███ 08 | ███ 04 | 9 | 5–13 | Booking friction |
Unresolved
214 Mentions of leaving that could not be resolved to a destination. Reported rather than dropped: an instrument that hides what it failed to resolve is overstating what it knows.
Edges below 4 resolved mentions are not shown.
03 — Paid position
derivedFormulas the set is running and you are not.
PERTURBED · RAW_COUNTS · AGG 1d rolled 1w · n=1,880 creatives · CONF 4
CONF 4 — Stable, with a known gap in source coverage.
Live creatives are captured daily and classified into a shared taxonomy. Survival — how many days a creative stays live — is the honest proxy for whether it is working: nobody keeps paying to run something that is not.
Why this is hard to get
Ad libraries show you what is running today. They do not tell you how long each creative has survived, which formulas cluster, or which ones an operator quietly killed at 48 hours. That needs daily capture held over months, which is a pipeline, not a search.
Archetype
Median survival
Before / after sequence
not runningset 7 · you 0
41d
33–52
Practitioner to camera
set 6 · you 2
37d
28–46
Price-anchored offer
set 9 · you 4
12d
8–17
Third-party endorsement
not runningset 4 · you 0
55d
39–71
Process explainer
set 5 · you 1
33d
25–44
Objection answered directly
not runningset 3 · you 0
48d
31–64
| Archetype | Set | Subject | Median survival, days | 95% CI |
|---|---|---|---|---|
| Before / after sequence | 7 | 0 | 41 | 33–52 |
| Practitioner to camera | 6 | 2 | 37 | 28–46 |
| Price-anchored offer | 9 | 4 | 12 | 8–17 |
| Third-party endorsement | 4 | 0 | 55 | 39–71 |
| Process explainer | 5 | 1 | 33 | 25–44 |
| Objection answered directly | 3 | 0 | 48 | 31–64 |
04 — Friction
observedHow hard each operator is to buy from.
RANK_ONLY · AGG 1w · n=21 surfaces · CONF 4
CONF 4 — Stable, with a known gap in source coverage.
Public booking surfaces are enumerated field by field — never submitted to. Rank only: these observations are ordinal, and an index would imply a precision the measurement does not have.
Why this is hard to get
You know your own funnel. You do not know that four operators in your set dropped their deposit requirement this quarter, or that the two ranked above you ask for three fewer fields than you do before a customer can commit.
| Rank | Operator | Required fields | Steps | Deposit | Policy upfront |
|---|---|---|---|---|---|
| 01 | ███ 05 | 4 | 2 | None | Stated |
| 02 | ███ 01 | 5 | 2 | None | Stated |
| 03 | OPERATOR | 6 | 3 | Required | Stated |
| 04 | ███ 03 | 7 | 3 | Required | Not stated |
| 05 | ███ 04 | 9 | 4 | Required | Not stated |
| 06 | ███ 07 | 11 | 4 | Required | Not stated |
05 — Recovery
observedWho answers, and how fast.
PERTURBED · PCT · AGG 1w · n=617 pairs · CONF 5
CONF 5 — Stable, with no known data-quality issue.
Every public complaint in the corpus is paired with its first response, if one exists. Rate and latency are counted, not sampled.
Why this is hard to get
This is visible to anyone and instrumented by almost nobody, because it requires pairing two records that no platform joins for you — the complaint and the reply, across every operator, every week.
Operator
Response rate
Median
n
3.1h
142
19.4h
118
26.8h
96
61.2h
173
96.5h
88
WITHHELD — n below the reporting threshold of 30 paired records.
—
<30
WITHHELD — n below the reporting threshold of 30 paired records.
—
<30
Bar = share of public complaints answered. Tick = median hours to first response, against the slowest operator in the set.
| Operator | Response rate | Median hours | n |
|---|---|---|---|
| ███ 01 | 94% | 3.1 | 142 |
| OPERATOR | 71% | 19.4 | 118 |
| ███ 03 | 68% | 26.8 | 96 |
| ███ 04 | 44% | 61.2 | 173 |
| ███ 07 | 29% | 96.5 | 88 |
06 — Pressure
modelledCompetitive weight, week by week.
PERTURBED · RAW_COUNTS · AGG 1w · n=52 weeks · CONF 4
CONF 4 — Stable, with a known gap in source coverage.
Distinct live creatives across the tracked set, weekly. The band is the modelled expectation given the set's own seasonality; the line leaving it is the event worth a decision.
Why this is hard to get
A single operator sees their own spend. Nobody sees the set's aggregate weight moving — which is what tells you whether a bad month was you or the market.
Latest
196
distinct live creatives
Against expectation
-5
8 of 26 weeks outside the band
Solid = observed. Dashed = modelled expectation. Band = ±14 distinct live creatives.
Series — 26 weekly observations
| Week | Observed | Expected |
|---|---|---|
| 1 | 148 | 158 |
| 2 | 156 | 158 |
| 3 | 164 | 158 |
| 4 | 164 | 158 |
| 5 | 182 | 159 |
| 6 | 186 | 159 |
| 7 | 192 | 160 |
| 8 | 191 | 160 |
| 9 | 199 | 161 |
| 10 | 196 | 162 |
| 11 | 160 | 164 |
| 12 | 160 | 165 |
| 13 | 176 | 167 |
| 14 | 168 | 169 |
| 15 | 178 | 171 |
| 16 | 173 | 173 |
| 17 | 178 | 176 |
| 18 | 175 | 178 |
| 19 | 210 | 181 |
| 20 | 216 | 184 |
| 21 | 180 | 186 |
| 22 | 193 | 189 |
| 23 | 191 | 192 |
| 24 | 202 | 195 |
| 25 | 203 | 198 |
| 26 | 196 | 201 |
What this is not
None of this is your data.
This is one deployment with its identity removed. Yours would be built against your set, your baseline and your questions — and it would be wrong to promise you these specific figures, because they belong to someone else's market.
The read-only audit that starts an engagement produces the first version of this surface. Start a conversation.
Contact
If you already have the data, we can show you what it says.
We take on a small number of operators at a time. Engagements start with a read-only audit of what your existing systems already know.
No deck, no discovery call. Send the shape of your data and we will tell you what it can support.