THE VERDICT · NOT SUPPORTED
One app stood out after I accounted for testing 49 apps.
I expected at least three apps to have an unusually long streak under my comparison. One did. A longer streak alone is not enough: the app’s overall review mix changes what the model considers unusual.
This result describes the order of reviews in a saved sample. It does not tell me why the streak happened or whether reviews were fake.
See the comparison ↓
MY QUESTION
Does ten bad reviews in a row mean the same thing for every app?
Not necessarily. A streak is easier to encounter when most written reviews are already bad. Here I call one and two star written reviews bad; three to five stars simply break the streak.
I selected up to 200 recent retrieved written reviews per app, with minimum counts for a useful comparison.
I ordered the saved reviews by update time and counted the longest uninterrupted run of bad reviews.
I kept the same bad and other review counts and calculated how often an equally long streak could occur under a random order model.
I then adjusted the results for testing 49 apps. A review update time can reflect an edit rather than its original submission.
MY THEORY VS THE RESULT
One of 49 apps passed the main test.
My theory
At least three apps would have a streak unusually long for their own review mix after adjustment.
What I found
One app passed. Six had a low unadjusted probability, but five did not pass after accounting for the 49 comparisons.
bad reviews in sample → longest streak
Only AI Maker passed after adjustment. A result that does not pass does not establish healthy feedback.
See the original result chart
Not passing does not prove that reviews were random or that feedback was healthy.
REAL APPS IN MY SAMPLE
Why 35 in a row can stand out more than 22.
These examples use saved 2026 US App Store written reviews. They are not current ratings or diagnoses of either app.
APP STORE · UNITED STATES
AI Maker: Photo Video Filters
In 200 selected reviews, 70 were bad. I found a streak of 35 bad reviews. When I held that review mix fixed and considered random orders, the typical longest streak was four and the central 95% of model results ran from three to seven. The observed streak passed after adjustment.
APP STORE · UNITED STATES
Gmail
Its sample had 174 bad reviews out of 200, with a longest streak of 22. Under the same kind of comparison, about 75% of random orders had a streak at least that long. This does not mean the feedback was healthy: the bad share in this sample was 87%.
APP STORE · UNITED STATES
TikTok Pro - Events
Its 12 review streak had a low probability in its individual comparison, but it did not pass the adjusted threshold across all 49 apps. An unadjusted result is not the same as a finding that passed the main test.
Both examples use 200 retrieved US written reviews. The bars show the number of bad reviews; the streak counts are consecutive reviews within those samples.
The comparison uses each app’s own mix. The bars represent bad review shares, not the length of the streak.
MY ASO TAKEAWAY
Read a streak alongside the whole review mix.
My ASO tip: Show the streak length, sample size and bad review share together. A fixed alert threshold can mean different things for different apps.
My ASO strategy: Use a streak as a prompt to read the complaints and investigate timing, versions and review volume. Compare it with an appropriate baseline before calling it unusual.
My ASO warning: The model assumes all possible orders are equally likely once counts are fixed. Passing the test does not prove fraud, a product defect or a change in rankings.
WHAT I COULD NOT PROVE
Here is where the evidence stops.
- All apps and users: These were selected popular US apps and retrieved written reviews, not a representative sample of all users or star only ratings.
- Complete feeds: Public review feeds can omit reviews; update timestamps can reflect edits.
- Equal time windows: Up to 200 reviews cover different calendar periods for different apps. A streak measures consecutive records, not review speed.
- Independent confirmation: Alternative checks reuse overlapping records. One wider sample flagged three apps, but that does not replace the primary result.
- Cause: An unusual order does not establish the cause, fake reviews, a product issue or an ASO outcome.
SOURCES & METHODS
Want to check my work?
I reused the saved US App Store written review facts from my review spike study and a panel selected from AppOrbit’s archived US chart. The independent verifier reconstructed the sequences, probability calculations and multiple test adjustment. It checks processing, not feed completeness or causes.
A later feed recheck matched the saved AI Maker records, but cannot prove the feed was complete. The original evidence and technical report remain local while third party redistribution rights are reviewed.
Read the original report and technical details
The findingTwo app examplesAll app resultsExtra checksMethod & limitsDownload evidence Bad reviews in a row: warning sign or expected pattern?When is a bad-review streak actually unusual?
Gmail had 22 bad reviews in a row. That was not unusually long for a sample where 87% of reviews were bad. AI Maker had 35 in a row despite only 35% of its sample being bad. That was a very different pattern.
We compared each app with hypothetical reorderings of its own review mix. The question was whether bad reviews were unusually concentrated in the sequence, not whether the app had too many complaints overall.
49 apps9,400 written reviews in the primary comparison25 appshad at least five bad reviews in a row1 apphad an unusually long streak after correcting for testing 49 appsStreak length needs the app’s review mix for context.AI Maker was the only app that passed the primary statistical threshold. It also passed all four planned alternative checks. The broader theory that we would find this in at least three apps did not pass the primary test.
This identifies an unusual ordering in the retrieved sample. It does not identify a cause, prove fake reviews, or establish a new app defect.
Why this matters for ASO
An ASO dashboard might flag “ten bad reviews in a row.” But ten in a row is much easier to get when most of an app’s reviews are already bad. A fixed streak threshold gives different signals for different apps.
Our test keeps the number of bad and nonbad reviews unchanged, rearranges their possible order mathematically, and asks: how often would a streak at least this long appear somewhere in the sample?
Bad means 1 or 2 stars. Nonbad means 3, 4 or 5 stars; it does not necessarily mean a positive review. This is about written reviews, not every star rating or every app user.
01 / The difference in plain EnglishGmail’s 22-review streak was not surprising given its review mix.
| Measure | Gmail | AI Maker: Photo Video Filters |
|---|---|---|
| Selected written reviews | 200 | 200 |
| Bad reviews | 174 / 200 | 70 / 200 |
| Bad-review share | 87% | 35% |
| Longest observed bad streak | 22 | 35 |
| Typical longest streak if reordered | 25 | 4 |
| Central 95% range if reordered | 17 to 44 | 3 to 7 |
| Chance of a streak at least as long under that model | 75.0% | About 1.04 × 10-17 |
For Gmail, about three out of four possible random reorderings would contain a bad streak of 22 or more. Its observed run was shorter than the model’s median maximum of 25.
That does not mean Gmail had healthy feedback. It had 174 bad written reviews out of 200. The narrower finding is that the streak did not add evidence of unusual clustering beyond that already high bad-review percentage.
AI Maker’s 35-review streak was the clear exception.
Only 70 of its 200 selected reviews were bad, but half of those bad reviews appeared in one uninterrupted run of 35. That run was at the newest end of the selected sequence, with update timestamps from 21 to 25 October 2026 UTC.
Keeping the same 70 bad and 130 nonbad reviews, the random-order model’s typical longest bad streak was four. Its central 95% range was three to seven. The observed run of 35 was far outside that range and remained significant after accounting for all 49 apps tested.
The very small probability belongs to the random-order model. It is not the probability that the reviews are fake, nor the probability that a specific explanation is true.
We checked the source again
After finding this result, we fetched four current US review-feed pages for AI Maker. All 200 selected records matched the earlier data for review ID, score, update timestamp and app version, including all 35 streak records. This confirms that the saved records matched the feed at recheck; it cannot establish that the feed contains every review.
02 / Results with the comparison made explicitSix apps looked unusual before correction. One remained afterward.
Testing many apps creates more opportunities for a chance finding. We used Holm’s correction across the 49 primary tests, with a 5% family-wide threshold. This does not require the apps’ tests to be independent, but it still depends on valid probabilities under the stated model.
In the table, a smaller probability means the observed streak is harder to explain by random ordering of that app’s selected reviews. “Passes” means adjusted p ≤ 0.05. A “No” is not proof that reviews are random or the app has no problems.
| App | Actual longest streak | Model median & 95% range | Raw p | Adjusted p | Passes? |
|---|---|---|---|---|---|
| AI Maker: Photo Video Filters200 reviews · 35.0% bad | 35 | 4Range: 3 to 7 | 1.04e-17 | 5.12e-16 | Yes |
| Gmail - Email by Google200 reviews · 87.0% bad | 22 | 25Range: 17 to 44 | 0.7503 | 1.0000 | No |
| TikTok Pro - Events200 reviews · 41.5% bad | 12 | 5Range: 4 to 9 | 0.0019 | 0.0898 | No |
| Capital One Mobile200 reviews · 42.0% bad | 11 | 5Range: 4 to 9 | 0.0056 | 0.2631 | No |
| Polymarket: Trade Live Sports200 reviews · 72.5% bad | 21 | 13Range: 9 to 22 | 0.0421 | 1.0000 | No |
| Claude by Anthropic200 reviews · 41.5% bad | 7 | 5Range: 4 to 9 | 0.1995 | 1.0000 | No |
TikTok Pro’s twelve-review run was unusual in its individual comparison, with raw p ≈ 0.00187. Its adjusted p was about 0.0898, so it did not pass the primary family-wide threshold. We retain that distinction rather than treating every low raw probability as a confirmed finding.
See results for all 49 eligible apps
| App | Actual longest streak | Model median & 95% range | Raw p | Adjusted p | Passes? |
|---|---|---|---|---|---|
| AI Maker: Photo Video Filters200 reviews · 35.0% bad | 35 | 4Range: 3 to 7 | 1.04e-17 | 5.12e-16 | Yes |
| Amazon Prime Video200 reviews · 59.0% bad | 7 | 9Range: 6 to 14 | 0.9091 | 1.0000 | No |
| BlinkDrama - Short Dramas200 reviews · 13.0% bad | 2 | 2Range: 2 to 4 | 0.9759 | 1.0000 | No |
| CapCut: Photo & Video Editor200 reviews · 51.0% bad | 11 | 7Range: 5 to 11 | 0.0450 | 1.0000 | No |
| Capital One Mobile200 reviews · 42.0% bad | 11 | 5Range: 4 to 9 | 0.0056 | 0.2631 | No |
| Capital One Shopping: Save Now200 reviews · 36.5% bad | 4 | 5Range: 3 to 8 | 0.9274 | 1.0000 | No |
| ChatGPT200 reviews · 16.5% bad | 2 | 3Range: 2 to 4 | 0.9982 | 1.0000 | No |
| Claude by Anthropic200 reviews · 41.5% bad | 7 | 5Range: 4 to 9 | 0.1995 | 1.0000 | No |
| Dave’s Hot Chicken®150 reviews · 31.3% bad | 4 | 4Range: 3 to 6 | 0.6456 | 1.0000 | No |
| DealSeek: Coupons & Discounts200 reviews · 5.0% bad | 1 | 1Range: 1 to 2 | 1.0000 | 1.0000 | No |
| Depop - Buy & Sell Clothes200 reviews · 32.0% bad | 3 | 4Range: 3 to 7 | 0.9975 | 1.0000 | No |
| DoorDash: Food, Grocery, More200 reviews · 50.5% bad | 5 | 7Range: 5 to 11 | 0.9845 | 1.0000 | No |
| DramaWave - Dramas & Reels200 reviews · 20.5% bad | 3 | 3Range: 2 to 5 | 0.7736 | 1.0000 | No |
| Five Guys Burgers & Fries150 reviews · 22.0% bad | 3 | 3Range: 2 to 5 | 0.7424 | 1.0000 | No |
| FOX One: Live News, Sports, TV150 reviews · 75.3% bad | 12 | 13Range: 9 to 23 | 0.7490 | 1.0000 | No |
| Freecash - Get Paid Real Money200 reviews · 30.5% bad | 5 | 4Range: 3 to 7 | 0.2915 | 1.0000 | No |
| Fubo: Watch Live TV & Sports200 reviews · 72.0% bad | 15 | 13Range: 9 to 22 | 0.3014 | 1.0000 | No |
| Gmail - Email by Google200 reviews · 87.0% bad | 22 | 25Range: 17 to 44 | 0.7503 | 1.0000 | No |
| Google200 reviews · 31.0% bad | 4 | 4Range: 3 to 7 | 0.7432 | 1.0000 | No |
| Google Gemini200 reviews · 8.5% bad | 2 | 2Range: 1 to 3 | 0.7724 | 1.0000 | No |
| Google Maps200 reviews · 60.0% bad | 12 | 9Range: 6 to 15 | 0.1344 | 1.0000 | No |
| Instagram200 reviews · 79.5% bad | 13 | 17Range: 11 to 29 | 0.9323 | 1.0000 | No |
| Kalshi: Trade Sports & Events200 reviews · 35.5% bad | 4 | 5Range: 3 to 7 | 0.9040 | 1.0000 | No |
| KICK - Live Streaming150 reviews · 34.0% bad | 4 | 4Range: 3 to 7 | 0.7638 | 1.0000 | No |
| Koupon: Promo Codes & Deals150 reviews · 26.7% bad | 4 | 3Range: 2 to 6 | 0.4183 | 1.0000 | No |
| McDonald's200 reviews · 82.5% bad | 18 | 20Range: 13 to 34 | 0.6937 | 1.0000 | No |
| Muse from Meta200 reviews · 9.0% bad | 2 | 2Range: 1 to 3 | 0.8126 | 1.0000 | No |
| Netflix Game Controller200 reviews · 28.5% bad | 4 | 4Range: 3 to 6 | 0.6215 | 1.0000 | No |
| Paramount+200 reviews · 46.5% bad | 6 | 6Range: 4 to 10 | 0.6762 | 1.0000 | No |
| Peacock TV: Stream TV & Movies200 reviews · 50.0% bad | 6 | 7Range: 5 to 11 | 0.8216 | 1.0000 | No |
| PineDrama - Short Dramas200 reviews · 5.0% bad | 1 | 1Range: 1 to 2 | 1.0000 | 1.0000 | No |
| PLAYFUL REWARDS: Earn Rewards200 reviews · 55.0% bad | 13 | 8Range: 5 to 13 | 0.0272 | 1.0000 | No |
| Polymarket: Trade Live Sports200 reviews · 72.5% bad | 21 | 13Range: 9 to 22 | 0.0421 | 1.0000 | No |
| Reco Social150 reviews · 36.7% bad | 4 | 4Range: 3 to 7 | 0.8593 | 1.0000 | No |
| ReelShort - Stream Drama & TV200 reviews · 25.0% bad | 4 | 3Range: 2 to 6 | 0.4379 | 1.0000 | No |
| Shop: Track, Pay, Discover200 reviews · 60.5% bad | 12 | 9Range: 6 to 15 | 0.1467 | 1.0000 | No |
| StoryReel: Drama Shorts & TV200 reviews · 14.0% bad | 2 | 2Range: 2 to 4 | 0.9876 | 1.0000 | No |
| Telegram Messenger200 reviews · 63.5% bad | 8 | 10Range: 7 to 16 | 0.8961 | 1.0000 | No |
| Temu: Shop Like a Billionaire200 reviews · 38.0% bad | 5 | 5Range: 3 to 8 | 0.6368 | 1.0000 | No |
| Threads200 reviews · 41.0% bad | 4 | 5Range: 4 to 9 | 0.9853 | 1.0000 | No |
| TikTok - Videos, Shop & LIVE200 reviews · 53.5% bad | 6 | 7Range: 5 to 12 | 0.9235 | 1.0000 | No |
| TikTok Pro - Events200 reviews · 41.5% bad | 12 | 5Range: 4 to 9 | 0.0019 | 0.0898 | No |
| Trump Accounts: Official App200 reviews · 21.0% bad | 3 | 3Range: 2 to 5 | 0.7981 | 1.0000 | No |
| Twitch: Live Streaming200 reviews · 60.0% bad | 8 | 9Range: 6 to 15 | 0.7672 | 1.0000 | No |
| Uber - Rides, Eats, Hotels200 reviews · 26.5% bad | 4 | 4Range: 2 to 6 | 0.5165 | 1.0000 | No |
| VibeShort: AI Short Dramas200 reviews · 8.5% bad | 2 | 2Range: 1 to 3 | 0.7724 | 1.0000 | No |
| Vinted: Pre-loved marketplace200 reviews · 15.0% bad | 3 | 2Range: 2 to 4 | 0.4334 | 1.0000 | No |
| WhatsApp Messenger200 reviews · 49.0% bad | 7 | 6Range: 4 to 11 | 0.4940 | 1.0000 | No |
| YouTube TV100 reviews · 75.0% bad | 10 | 12Range: 8 to 21 | 0.8241 | 1.0000 | No |
The model range is a discrete equal-tail interval containing at least 95% of hypothetical maximum streaks. It is not a confidence interval for app quality. For example, 1.04e-17 means 1.04 × 10-17.
03 / Four checks chosen before calculationAI Maker remained unusual under every alternative definition.
| Change | Eligible apps | Apps passing | AI Maker streak / sample | Apps passing after correction |
|---|---|---|---|---|
| Latest 100 retrieved reviews | 46 | 1 | 35 of 100Adjusted p: 3.63e-10 | AI Maker: Photo Video Filters |
| Up to 500 retrieved reviews | 51 | 3 | 35 of 500Adjusted p: 1.87e-18 | TikTok Pro - Events; Shots: Photo & Video Generator; AI Maker: Photo Video Filters |
| Only 1-star reviews count as bad | 48 | 2 | 21 of 200Adjusted p: 1.32e-08 | Capital One Mobile; AI Maker: Photo Video Filters |
| Remove reviews sharing a timestamp | 49 | 1 | 35 of 198Adjusted p: 3.73e-16 | AI Maker: Photo Video Filters |
Latest 100 reviews: AI Maker still had a 35-review bad streak, even though its bad-review share in that smaller window was higher, at 54%.
Up to 500 reviews: AI Maker, TikTok Pro and Shots passed. This wider window changes the time period and each app’s reference mix. It is a sensitivity result, not a replacement for the primary one-app finding.
Shots illustrates the difference. In its latest 200 records, 191 were bad and only nine were nonbad, so it failed our primary minimum of ten nonbad reviews. With 500 records, it had 352 bad and 148 nonbad, and an 87-review run compared with a model median maximum of fifteen.
Only 1-star reviews: AI Maker and Capital One Mobile passed. AI Maker’s uninterrupted 1-star run was 21 reviews, shorter than its 35-review run of 1-star and 2-star reviews combined.
Remove tied timestamps: five primary apps had ties, involving ten records in total. Removing them without replacing them left the same sole primary exception. AI Maker’s sample fell from 200 to 198 records and its 35-review streak remained.
These are overlapping samples and separate exploratory test families. Passing several versions is useful for checking sensitivity, but it is not independent replication. The three-app result in the wider window does not make the original primary theory pass.
04 / How we tested itCompare each app against its own review totals.
- Use the fixed 57-app US panel. The panel came from apps appearing in an earlier archived top-free apps chart. We reused 21,750 deidentified written-review facts collected for Experiment 15 on 27 October 2026.
- Select the latest 200 retrieved records per app. If fewer were available, keep those available. Require at least 100 total records, ten bad and ten nonbad.
- Sort from oldest to newest. Use each record’s UTC update timestamp, then numeric review ID to break ties. An edited review’s timestamp may not be its original posting time.
- Find the longest uninterrupted bad streak. A nonbad record breaks the streak. We search the entire selected sequence, not just its newest end.
- Calculate the exact comparison. Hold the bad/nonbad counts fixed and consider every possible ordering equally likely. Calculate the chance that the longest streak anywhere is at least as long as observed.
- Account for testing many apps. Apply Holm’s correction within the primary group, then report every app and all exclusions.
What was excluded?
| App | Selected reviews | Bad reviews | Reason excluded |
|---|---|---|---|
| Cinnabon | 50 | 36 | Fewer than 100 retrieved reviews |
| APTV | 0 | 0 | Fewer than 100 retrieved reviews |
| Momo: AI Photo & Video Maker | 0 | 0 | Fewer than 100 retrieved reviews |
| BigFuture School | 50 | 28 | Fewer than 100 retrieved reviews |
| Quince: Luxury Essentials | 50 | 18 | Fewer than 100 retrieved reviews |
| Shots: Photo & Video Generator | 200 | 191 | Fewer than ten nonbad reviews |
| The White House | 200 | 2 | Fewer than ten bad reviews |
| Be My Eyes | 50 | 3 | Fewer than 100 retrieved reviews |
That left 49 apps and 9,400 records. Empty feeds were not treated as apps without complaints.
“Latest 200” is not the same calendar period for every app.
The eligible windows ranged from roughly ten hours to 96.7 days, with a median of 7.4 days. A streak measures consecutive records, not the speed at which reviews arrive. This experiment does not compare complaints per hour, per day or per download.
Review-window dates and timestamp ties for all 49 apps
| App | Records | Window dates, UTC | Elapsed days | Records sharing timestamps |
|---|---|---|---|---|
| AI Maker: Photo Video Filters | 200 | 2026-10-20 to 2026-10-25 | 5.66 | 2 |
| Amazon Prime Video | 200 | 2026-10-07 to 2026-10-26 | 19.15 | 0 |
| BlinkDrama - Short Dramas | 200 | 2026-10-18 to 2026-10-26 | 7.39 | 0 |
| CapCut: Photo & Video Editor | 200 | 2026-10-18 to 2026-10-26 | 7.39 | 0 |
| Capital One Mobile | 200 | 2026-10-20 to 2026-10-26 | 5.55 | 0 |
| Capital One Shopping: Save Now | 200 | 2026-09-22 to 2026-10-25 | 33.68 | 0 |
| ChatGPT | 200 | 2026-10-25 to 2026-10-26 | 0.42 | 0 |
| Claude by Anthropic | 200 | 2026-10-13 to 2026-10-26 | 13.13 | 0 |
| Dave’s Hot Chicken® | 150 | 2026-09-06 to 2026-10-25 | 49.79 | 0 |
| DealSeek: Coupons & Discounts | 200 | 2026-10-10 to 2026-10-26 | 15.35 | 2 |
| Depop - Buy & Sell Clothes | 200 | 2026-10-18 to 2026-10-26 | 8.13 | 0 |
| DoorDash: Food, Grocery, More | 200 | 2026-10-25 to 2026-10-26 | 1.04 | 0 |
| DramaWave - Dramas & Reels | 200 | 2026-10-18 to 2026-10-26 | 7.92 | 0 |
| Five Guys Burgers & Fries | 150 | 2026-07-21 to 2026-10-25 | 96.68 | 0 |
| FOX One: Live News, Sports, TV | 150 | 2026-09-01 to 2026-10-26 | 54.88 | 0 |
| Freecash - Get Paid Real Money | 200 | 2026-10-23 to 2026-10-26 | 2.56 | 0 |
| Fubo: Watch Live TV & Sports | 200 | 2026-08-02 to 2026-10-26 | 84.48 | 0 |
| Gmail - Email by Google | 200 | 2026-10-19 to 2026-10-26 | 6.23 | 0 |
| 200 | 2026-10-21 to 2026-10-26 | 5.16 | 0 | |
| Google Gemini | 200 | 2026-10-25 to 2026-10-26 | 0.71 | 0 |
| Google Maps | 200 | 2026-10-21 to 2026-10-26 | 4.55 | 0 |
| 200 | 2026-10-25 to 2026-10-26 | 0.74 | 2 | |
| Kalshi: Trade Sports & Events | 200 | 2026-10-18 to 2026-10-26 | 7.28 | 2 |
| KICK - Live Streaming | 150 | 2026-09-09 to 2026-10-25 | 46.47 | 0 |
| Koupon: Promo Codes & Deals | 150 | 2026-09-08 to 2026-10-26 | 47.55 | 0 |
| McDonald's | 200 | 2026-10-19 to 2026-10-26 | 6.36 | 0 |
| Muse from Meta | 200 | 2026-10-25 to 2026-10-26 | 1.07 | 2 |
| Netflix Game Controller | 200 | 2026-09-18 to 2026-10-26 | 38.14 | 0 |
| Paramount+ | 200 | 2026-10-15 to 2026-10-26 | 11.06 | 0 |
| Peacock TV: Stream TV & Movies | 200 | 2026-10-16 to 2026-10-26 | 9.95 | 0 |
| PineDrama - Short Dramas | 200 | 2026-10-24 to 2026-10-26 | 1.34 | 0 |
| PLAYFUL REWARDS: Earn Rewards | 200 | 2026-09-18 to 2026-10-26 | 37.32 | 0 |
| Polymarket: Trade Live Sports | 200 | 2026-10-03 to 2026-10-26 | 22.73 | 0 |
| Reco Social | 150 | 2026-09-08 to 2026-10-26 | 47.90 | 0 |
| ReelShort - Stream Drama & TV | 200 | 2026-10-23 to 2026-10-26 | 2.43 | 0 |
| Shop: Track, Pay, Discover | 200 | 2026-10-22 to 2026-10-26 | 4.17 | 0 |
| StoryReel: Drama Shorts & TV | 200 | 2026-10-21 to 2026-10-26 | 4.39 | 0 |
| Telegram Messenger | 200 | 2026-10-11 to 2026-10-26 | 14.54 | 0 |
| Temu: Shop Like a Billionaire | 200 | 2026-10-21 to 2026-10-26 | 4.64 | 0 |
| Threads | 200 | 2026-10-16 to 2026-10-26 | 9.70 | 0 |
| TikTok - Videos, Shop & LIVE | 200 | 2026-10-25 to 2026-10-26 | 1.01 | 0 |
| TikTok Pro - Events | 200 | 2026-10-06 to 2026-10-26 | 20.10 | 0 |
| Trump Accounts: Official App | 200 | 2026-09-03 to 2026-10-26 | 52.38 | 0 |
| Twitch: Live Streaming | 200 | 2026-10-12 to 2026-10-26 | 13.26 | 0 |
| Uber - Rides, Eats, Hotels | 200 | 2026-10-24 to 2026-10-26 | 1.96 | 0 |
| VibeShort: AI Short Dramas | 200 | 2026-10-20 to 2026-10-26 | 5.51 | 0 |
| Vinted: Pre-loved marketplace | 200 | 2026-10-25 to 2026-10-26 | 0.64 | 0 |
| WhatsApp Messenger | 200 | 2026-10-22 to 2026-10-26 | 3.75 | 0 |
| YouTube TV | 100 | 2026-08-15 to 2026-10-25 | 71.25 | 0 |
The exact calculation, without simulation
Imagine placing the nonbad records in a line. The bad records occupy the gaps before, between and after them. Each possible ordering corresponds to one way of distributing the bad records among those gaps.
To count orderings with no streak as long as the observed one, we count only distributions where every gap is shorter than that streak. We subtract that count from all possible orderings. The analysis uses integer counts and exact fractions, not simulated random shuffles.
The code uses inclusion-exclusion to count bounded gaps. A separate dynamic-programming calculation checks the result, and exhaustive enumeration checks every binary sequence up to ten records. Full equations and code are in the download.
What this evidence can and cannot establish
The model assumes the labels could appear in any order with equal probability. A significant result says the observed run is difficult to explain under that assumption. It does not establish why reviews were clustered.
User mix, versions, changes in review prompts, seasonal events, genuine product issues and edits could all change the sequence. A significant result is not evidence by itself of coordinated posting or manipulated reviews.
Apple allows reviews and ratings to be updated. The latest submission replaces the previous one. These later public feeds can also omit removed reviews, truncate older records or contain pagination gaps. The recheck confirms matching records, not complete historical coverage.
Written reviewers are not a representative sample of all app users. Star-only ratings are absent. The panel consists of selected popular US apps. We did not measure rankings, installs, conversion, localization or the effect of changing an app listing.
The rules were recorded before this experiment’s calculations, but the same data had been studied earlier. This is exploratory follow-on work. Statistical correction covers the 49 primary comparisons, not every question asked across the entire ASO research series.
05 / Every result is available to inspectData, exact probabilities and reproducible code.
The ZIP includes the fixed review pool, selected primary sequences, every app’s result and exclusion, exact probability fractions, model distributions, four sensitivity families, source logs, the fresh AI Maker source check, the original rules and verification code.
Verification passed 68,817 checks. It enumerated 2,047 binary sequences up to length ten, independently checked every primary and sensitivity tail probability, rebuilt the observed runs and reproduced the corrected decisions. These are checks of calculation and data processing, not proof that the public feeds are complete.
Extract and run python analyse.py, then python verify.py. Both work offline with Python’s standard library. Reviewer names and text are excluded.
- Apple US review feed: AI Maker. Four pages rechecked on 27 October 2026. Exact request URLs, capture times and response hashes are included.
- Apple: ratings and reviews overview. Documents replacement of updated review submissions.
- R statistical software documentation: multiple-comparison adjustments. Explains Holm’s family-wise correction.
- AppOrbit by ivershuo, pinned source. Earlier chart source for panel selection. Derived-panel attribution and ODbL 1.0 license included.
Keep exploring
All ASO experiments · See what followed a review spike · Compare review counts and shares