Stars GitHub later removed: AI repos and matched repos

Published .

What we found

  • Since June 30, 2026, GitHub shows who starred a repository only to its admins. This study uses what is still public, today's weekly star counts and the GH Archive event record up to 2025-05-18, to ask whether stars that arrived in bursts on AI repos were later removed more often than on comparable non-AI repos.
  • Across all cohort years, of the stars that arrived during archived star bursts, 0.5% were missing today beyond the organic baseline for AI repos (95% interval 0.3% to 0.8%) and 0.4% for matched non-AI repos (95% interval 0.2% to 0.7%). The intervals overlap, so the difference between the groups is within the uncertainty of these estimates.
  • The cohort year with the largest gap between the groups was 2025: 0.2% for AI repos and 1.2% for the matched baseline, from 106 and 91 assessable repos. The intervals overlap, so the difference between the groups is within the uncertainty of these estimates.
  • Ghost bursts, pooled over all cohort years, were 3.9 per 1,000 assessable AI repos (95% interval 0.0 to 10.4) and 0.0 per 1,000 matched non-AI repos (95% interval 0.0 to 0.0). The intervals overlap, so the difference between the groups is within the uncertainty of these estimates.
  • Of 3,395 study repos (1,727 AI and 1,668 matched non-AI), 1,445 were assessable. The other 1,950 had fewer than 4 weeks with 50 or more archived stars that could be compared with today's star counts.
  • Anyone can buy stars for any repo, so a burst of stars is a reason to look closer, not proof of why the stars arrived.
  • Results describe groups of repos, not individual projects. They do not judge any single project.

How we measured it

  • AI set: repos with AI-related topics, at least 500 stars, created between 2019-01 and 2025-03.
  • Baseline set: non-AI repos matched on star bracket, creation quarter and primary language, sampled with a fixed seed.
  • Archived stars: weekly counts of accounts that starred each repo, from GH Archive, for 2015-01-04 to 2025-05-18 (the end date is excluded), compared with the stars each repo has today.
  • Organic baseline G_w: for each week, the typical share of a week's archived stars that organic repos still have today, estimated from the top 500 reference repos by stars.
  • Survival (method 2026.10.1), in plain words: each week's expected stars are its archived stars times G_w. Observed stars are today's count for that week. A burst is a run of unusually busy weeks with at least 100 stars above the usual level. Missing stars are expected minus observed over each burst window, widened by 1 week on each side and never below zero. The removed share is missing stars over expected stars, pooled across each group.
  • Weeks before the last history reset are ignored. A history reset is a run of at least 26 weeks with no stars in current history that ends before the last week; counting restarts 4 weeks after it.
  • A repo is assessable when at least 4 weeks have 50 or more archived stars and a usable current star count. Only assessable repos enter a rate.
  • A ghost burst is a burst window where at least 50% of its expected stars are missing today.
  • Intervals are 95% percentile bootstrap intervals from 1,000 resamples of repos within each group and cohort year, seed 20261012. The point estimate is the full-sample value. Charts show only the years where both groups have a value.
  • Every cohort year with assessable repos is shown for both groups.
  • Repos named under the naming rule (a hard survival signal plus a second signal from a report): 0.
  • Not in this edition: the uncorroborated-burst rate and the StarScout comparison. The first needs a full report for every study repo; the second needs StarScout data, which is not loaded for this edition.

Results by cohort year

Estimates by cohort year and group, with 95 % intervals.
MeasureGroupCohort yearReposValue95 % interval
Archived stars missing today, beyond the organic baseline (pooled share)AI repos2019230.4%0.0% to 1.4%
Archived stars missing today, beyond the organic baseline (pooled share)AI repos2020191.1%0.3% to 2.4%
Archived stars missing today, beyond the organic baseline (pooled share)AI repos2021211.1%0.1% to 3.2%
Archived stars missing today, beyond the organic baseline (pooled share)AI repos2022520.4%0.0% to 1.3%
Archived stars missing today, beyond the organic baseline (pooled share)AI repos20232860.4%0.1% to 0.9%
Archived stars missing today, beyond the organic baseline (pooled share)AI repos20242620.5%0.1% to 0.9%
Archived stars missing today, beyond the organic baseline (pooled share)AI repos20251060.2%0.0% to 0.8%
Archived stars missing today, beyond the organic baseline (pooled share)Matched non-AI repos2019261.3%0.1% to 4.9%
Archived stars missing today, beyond the organic baseline (pooled share)Matched non-AI repos2020170.2%0.0% to 0.8%
Archived stars missing today, beyond the organic baseline (pooled share)Matched non-AI repos2021191.8%0.0% to 6.2%
Archived stars missing today, beyond the organic baseline (pooled share)Matched non-AI repos2022440.1%0.0% to 0.5%
Archived stars missing today, beyond the organic baseline (pooled share)Matched non-AI repos20232500.6%0.1% to 1.1%
Archived stars missing today, beyond the organic baseline (pooled share)Matched non-AI repos20242290.1%0.0% to 0.2%
Archived stars missing today, beyond the organic baseline (pooled share)Matched non-AI repos2025911.2%0.0% to 3.2%
Ghost bursts per 1k assessable reposAI repos2019230.0 per 1k0.0 per 1k to 0.0 per 1k
Ghost bursts per 1k assessable reposAI repos2020190.0 per 1k0.0 per 1k to 0.0 per 1k
Ghost bursts per 1k assessable reposAI repos20212147.6 per 1k0.0 per 1k to 142.9 per 1k
Ghost bursts per 1k assessable reposAI repos20225238.5 per 1k0.0 per 1k to 153.8 per 1k
Ghost bursts per 1k assessable reposAI repos20232860.0 per 1k0.0 per 1k to 0.0 per 1k
Ghost bursts per 1k assessable reposAI repos20242620.0 per 1k0.0 per 1k to 0.0 per 1k
Ghost bursts per 1k assessable reposAI repos20251060.0 per 1k0.0 per 1k to 0.0 per 1k
Ghost bursts per 1k assessable reposMatched non-AI repos2019260.0 per 1k0.0 per 1k to 0.0 per 1k
Ghost bursts per 1k assessable reposMatched non-AI repos2020170.0 per 1k0.0 per 1k to 0.0 per 1k
Ghost bursts per 1k assessable reposMatched non-AI repos2021190.0 per 1k0.0 per 1k to 0.0 per 1k
Ghost bursts per 1k assessable reposMatched non-AI repos2022440.0 per 1k0.0 per 1k to 0.0 per 1k
Ghost bursts per 1k assessable reposMatched non-AI repos20232500.0 per 1k0.0 per 1k to 0.0 per 1k
Ghost bursts per 1k assessable reposMatched non-AI repos20242290.0 per 1k0.0 per 1k to 0.0 per 1k
Ghost bursts per 1k assessable reposMatched non-AI repos2025910.0 per 1k0.0 per 1k to 0.0 per 1k
  • AI repos
  • Matched non-AI repos
Archived stars missing today, beyond the organic baseline, pooled by cohort year0.4%1.3%20191.1%0.2%20201.1%1.8%20210.4%0.1%20220.4%0.6%20230.5%0.1%20240.2%1.2%2025
Archived stars missing today, beyond the organic baseline, pooled by cohort year. Values are the table's estimates; the intervals are in the table above.
  • AI repos
  • Matched non-AI repos
Ghost bursts per 1k assessable repos, by cohort year0.00.020190.00.0202047.60.0202138.50.020220.00.020230.00.020240.00.02025
Ghost bursts per 1k assessable repos, by cohort year. Values are the table's estimates; the intervals are in the table above.

Repos named in this study

This study names no repos. Anyone can buy stars for any repo, so the results describe patterns in groups of repos, not verdicts on individual projects.

Limitations and what we do not do

  • Anyone can buy stars for any repo. A burst of stars is a reason to look closer, not proof of why the stars arrived.
  • The GH Archive window ends on 2025-05-18. Stars added after that day are not in the archive side of the comparison.
  • Stars GitHub has since removed are not the same as stars that were bought. Removals can have many causes.
  • The converse holds too: bought stars that GitHub never removed are not counted here, so a low removed share does not show that a group has no bought stars.
  • Results describe groups of repos. They say nothing about any one project's quality, maintainers or intent.
  • Small cohort years have wide intervals. Read the interval before the estimate.
  • We never store or show who starred a repo, and we do not rebuild stargazer lists from the Events API.
  • We do not name a repo unless the study labels it likely inflated at high confidence, on a hard signal plus a second independent one.

Attribution

  • Archived star history: GH Archive, read through ClickHouse, 2015-01-04 to 2025-05-18.
  • Current star history: GitHub's stargazer history API, used as aggregate counts only.
  • Calibration comparison: StarScout data, CC BY 4.0. Used only for aggregate agreement. Its authors ask that it not be used to publicly shame individual repositories, so this study names no repo from it.

Data and downloads

Manifest SHA-256: e90fbc9b5ee2d9312847479f588f3f20592afb75ee83cbf820643c4ebf0d357f.