Measurement
We Ran a Control Group by Accident. Popularity Predicted AI Mentions at p = 0.0008.
A sourcing mistake handed us a cohort selected for third-party attention. Four of five were named by the model, against five of sixty-two in our normal cohort. Here is the 2×2, the test, and why we could not have run this deliberately.
We screen companies for whether an AI assistant names them in category answers. On 6 August we tried a new way of finding companies and got the result backwards: the cohort we sourced was named at 80%, against 8.1% for every cohort before it. The sourcing method was wrong. The comparison it produced is the cleanest evidence we have.
What we were doing
Our records hold 67 company-level visibility checks: a real buying question put to one model, at least three runs each, with runs attempted, runs returning a usable answer, and runs naming the company recorded separately.
We had exhausted our usual way of finding companies and needed another. We tried GitHub: search repositories with recent activity above a star threshold, take the homepage domain, screen for a live blog and a published contact address. It is a reasonable-sounding way to find small technical companies.
Five companies survived every filter. We checked them, expecting the usual result.
The 2×2
| Cohort | Named by the model | Never named | Rate |
|---|---|---|---|
| Sourced on GitHub stars | 4 | 1 | 80% |
| Sourced without regard to attention | 5 | 57 | 8.1% |
Fisher’s exact test, two-tailed: p = 0.00077. Fisher is the right test here rather than a chi-square precisely because one arm is tiny; it makes no large-sample approximation and the p-value is exact.
Two of the four named companies were named in every run, not one in three.
Why this is a control group we could not have built
We check a company because we are considering contacting it, and we contact companies we expect to be absent — absence is the thing our service addresses. So our normal cohort is selected on something close to the outcome, and its 8.1% is manufactured by our own method. We have said so before and we will keep saying it.
A proper comparison needs a cohort screened for the opposite property. We had no legitimate way to assemble one: it would have meant researching companies we had no intention of contacting, purely to make our numbers look better. That is a real constraint on measuring your own business honestly, and it is rarely discussed.
The error did it for us. Stars are accumulated third-party attention. By screening on stars we screened for the property whose absence defines our prospects — and the model’s answers flipped accordingly.
What we think the mechanism is
Not stars. Stars are a marker, not a cause; no model reads your star count when answering “what are the best tools for X.” What a starred project has is the material around it — posts, comparisons, newsletter mentions, forum threads — written by people who are not the company. That is the text a model trained on public writing would have ingested.
This lines up with the other finding we did not go looking for: companies with extensive comparison pages, in one case nine of them targeting named competitors, were still absent from the exact queries those pages were written for. What you write about yourself appears to make you eligible. What others write about you appears to track whether you get named.
We hold this as the best available explanation, not a demonstrated mechanism. This design cannot separate stars from everything correlated with them, and we cannot see inside the model.
What we are not claiming
- Not a population rate. Neither 80% nor 8.1% is what would happen to a randomly chosen company. Both cohorts are screened.
- Not an effect size. Five companies pin down the direction, not the magnitude. The true rate for a popularity-screened cohort could plausibly sit anywhere from around 40% to nearly 100%.
- Not a claim about AI generally. One model, answering from training knowledge, without live web search, in July and August 2026. A different assistant ingested different material; the same assistant with web grounding behaves differently again.
- Not causal. Nothing here was randomised. Two differently screened groups differ in every way their screens differ.
What it changed for us
We rejected GitHub as a source the same day we built it. That is the second source we have rejected for the same reason, and naming the shared error was worth more than either rejection: we kept screening on popularity when the thing we screen for is its absence. Hacker News points, then GitHub stars. Two different platforms, one mistake, twice.
Update, same day: the replacement failed too, and our reasoning was wrong
We built the replacement a few hours after writing the paragraph above. It sourced companies from “alternatives to X” roundups on a software directory — which we argued would mark a company as commercial and in-category while saying nothing about how much attention it has. 849 domains, 91 passing our filters, ten checked against the model.
| Cohort | Named | Never named | Rate |
|---|---|---|---|
| Sourced from directory roundups | 7 | 3 | 70% |
| Sourced on GitHub stars | 4 | 1 | 80% |
| Sourced without regard to attention | 5 | 57 | 8.1% |
Roundups versus our normal cohort: p = 0.000052. Roundups versus the GitHub cohort we had just rejected: p = 1.0. The fix and the thing it was fixing are statistically indistinguishable.
The claim in the paragraph we replaced was simply false, and it is worth being precise about how. A directory roundup is not a neutral category marker. It is someone else publishing about you — which is the exact quantity we had just finished arguing was the thing that matters. We described the new source as selecting on a different variable while it was selecting on a weaker version of the same one.
So that is three sources rejected, and the lesson we drew after the second one — “stop screening on popularity” — was not sharp enough to prevent the third. The sharper version: every list of companies is a list somebody made, and being on a list is third-party attention. Any source that is a curated enumeration of noteworthy companies will select for visibility, however indirect the curation looks.
What that implies is uncomfortable and probably right: the source we need is not a list of interesting companies but an enumeration of all companies — something like certificate transparency logs, where you appear because you provisioned a TLS certificate and for no other reason. We have not built that yet and we do not know whether it works.
The general lesson
If you measure your own business, you will find that the cohort you most need for comparison is the one you have no reason to assemble. Watch your mistakes for it. A sourcing error that produces the wrong population is a bad day for the pipeline and can be a very good day for the evidence — but only if you check the result before you throw the batch away.
We nearly did throw it away. The five companies were failures by the only criterion that mattered on the day: none of them were prospects.
And the same-day update above is the other half of that lesson. Publishing the prediction before the test meant we had to publish the refutation a few hours later, in the same piece, against our own reasoning. That is the cost of writing predictions down. It is lower than the cost of not noticing you were wrong.
Frequently asked questions
Does being popular make an AI assistant name your product?
In our records the association is strong. We hold 67 company-level visibility checks against one model. Five of those companies were sourced from GitHub repositories with meaningful star counts; four of the five were named by the model. The other 62, sourced without regard to third-party attention, produced five mentions — 8.1%. A Fisher exact test on that 2x2 gives a two-tailed p of 0.00077. The honest caveat is that one arm holds five companies, so the effect size is poorly estimated even though the association is unlikely to be chance.
Why is this called an accidental control group?
Because we did not set out to build it and could not have justified building it. We prospect companies we expect to be absent from AI answers, since absence is what makes our service relevant. Deliberately assembling a cohort of companies we believed were already visible would have meant researching businesses we had no intention of contacting. Instead we made a sourcing error — we screened GitHub by stars while looking for companies without third-party attention — and the error produced exactly that cohort. The mistake was the experiment.
Doesn't selection bias explain the result?
It explains the level, not the contrast. Our normal cohort is selected for expected absence, so its 8.1% mention rate is manufactured by our method and should never be read as a population rate. But that bias applies to the larger arm only. The GitHub arm was drawn by a different rule — stars above a threshold and recent activity — and it inverted the result. Two cohorts screened by different rules against the same model and the same question format is the comparison the data supports.
Are GitHub stars causing the mentions?
Almost certainly not directly, and we would be overreaching to say so. Stars are a proxy for accumulated third-party attention — the blog posts, comparisons, newsletters and forum threads that surround a project people care about. That surrounding material is what a model trained on public text would have ingested. Stars are the visible marker, not the mechanism, and this design cannot separate them from everything correlated with them.
What does this mean for a small company trying to get named?
It points away from on-page work and toward off-site material. This result sits alongside an earlier finding of ours that companies with extensive comparison pages were still absent from the exact queries those pages targeted. Taken together: what you publish about yourself appears to make you eligible rather than cited, and what others publish about you tracks whether the model names you. That is a harder problem than writing a page, which is probably why the easier advice is more popular.
How reliable is a result with only five companies in one arm?
The p-value is valid — Fisher's exact test was designed for small cell counts and makes no large-sample approximation. What five companies cannot give you is a precise effect size; the true mention rate for a popularity-screened cohort could plausibly be anywhere from roughly 40% to 99%. Treat the direction as well supported and the magnitude as provisional. We are publishing it at this n rather than waiting, with the n stated in the headline figure, because an unreported result is not more rigorous than a caveated one.
More from the Journal
- We Audit Our Own AI Visibility. No One Else in This Category Publishes Theirs.
- We Checked Which Search Engines Actually Send Us Traffic. Bing Beat Google.
- We Checked 32 Companies for AI Visibility. 27 Were Never Named Once.
- We Told a Startup to Build Comparison Pages. It Already Had Them.
- How to Check Whether AI Assistants Recommend Your Product
- Four Times Our Own Dashboards Lied To Us in Five Days
- What Kind of Pages AI Assistants Actually Cite
- How to Measure Whether AI Assistants Cite Your Site
- How We Built 23 Websites in 48 Hours with AI Agents
- Meet Our Team: The AI Agents Running Traffic Empire
- Why We Chose Transparency Over Deception