Everything the product claims, with the measurement behind it and the assumption that limits it. Thresholds were registered and hashed before any data was collected. Where one moved afterwards, the amendment says so.
Six differential tests. Each one asks whether the response changes when a parameter is removed, because this API answers 200 to parameters it does not understand. Two of the six did not resolve, and are here with that verdict rather than left out.
The finding the product is built on, and the one most worth checking. Two spellings, two modes, measured the same way.
A row that changes nothing in either column is a parameter
the API accepted and did not apply. signal.location and
filter.location return no results at all: those spellings are not
real. The product uses none of them: it describes an audience by the
entities it already loves, which is what the rest of this page measures.
The same question, put to a language model that sees only the two title lists. There is no ground truth for what a programmer would license, so this measures divergence, never correctness.
Two reasons. First, rank correlation at this n has a wide null distribution. The standard error is nearly as large as the value, so a single tau looks far more precise than it is. Second, it is computed from the model's full ordering, and that ordering is not reliably reproducible between recordings. The set of five has been identical in every run we have recorded. So the set is the primary measure, and the correlation is reported as a range with its error.
| Result | The assumption that limits it |
|---|---|
| 11 of 11 regionally-skewed films rank highest with their own home audience p = 0.0005 | This is a validity check, not a finding. Indian musicians favouring Indian films is what a working system should do. We also chose which films count as regionally skewed and which anchors represent each home, so the selection is ours, and the eleven cases are not fully independent because films sharing an audience move together. |
| 10 of 11 survive replacing every anchor artist p = 0.0059 | This is the result with weight: the effect belongs to the audience, not to the three names we picked. But both readings come from the same graph, so a second anchor set is a disjoint check, not an independent one: the halves share no entities, and that is all. |
| 67% of cluster pairings survive bootstrap resampling | Measured at the 0.75 linkage threshold. Looser grouping produced one large cluster that dissolved under the same test. 15 of the 18 audiences are too small to split at all and are labelled single-reading. |
| 2 of 5 markets agree with an external backtest | Wikipedia pageview ranks, collected before any Qloo call. Mumbai (tau 0.39) and Berlin (0.20) agree. The other three do not. Reported either way. Pageviews measure attention, not licensing demand. |
| Every hero-sweep qualifier fell below the separation floor | The 0.35 floor was in the code from 17 October, nine days before the sweep was registered. All four qualifying pairs sit under it. We label that on the page rather than hide it, and the floor was not recalibrated afterwards to make any pair look better. |
Every candidate evaluated, with the reason each did or did not qualify, is published in HERO_SWEEP.md. The rule was hashed before the data existed. The amendment that enlarged the candidate audiences records what had been seen at the time and states that no criterion, threshold, tie-break or model setting changed.