ASOPROFESSIONALLET’S TALK ↗
← ALL ASO EXPERIMENTS

RESEARCH 20 · BAD REVIEW STREAKS

When is a streak of bad reviews unusual?

I compared each app’s longest streak with what could happen if its own reviews appeared in a different order.

Research: 2026

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.

The questions I asked myself and the steps I took
01Take a review sample

I selected up to 200 recent retrieved written reviews per app, with minimum counts for a useful comparison.

02Find the longest streak

I ordered the saved reviews by update time and counted the longest uninterrupted run of bad reviews.

03Compare possible orders

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.

A streak needs its review mix

bad reviews in sample → longest streak

AI Maker · each square is one review in the streak; read across each row
Bad reviews in sample70 of 200
Longest bad streak35
Gmail · each square is one review in the streak; read across each row
Bad reviews in sample174 of 200
Longest bad streak22

Only AI Maker passed after adjustment. A result that does not pass does not establish healthy feedback.

See the original result chart
Results of the main comparison
Passed after adjustment1 of 49
Did not pass48 of 49

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.

Why the review mix matters

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.

AI Maker · 70 bad reviews35 in a row
Gmail · 174 bad reviews22 in a row

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 detailsThe 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 English

Gmail’s 22-review streak was not surprising given its review mix.

MeasureGmailAI Maker: Photo Video Filters
Selected written reviews200200
Bad reviews174 / 20070 / 200
Bad-review share87%35%
Longest observed bad streak2235
Typical longest streak if reordered254
Central 95% range if reordered17 to 443 to 7
Chance of a streak at least as long under that model75.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 explicit

Six 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.

AppActual longest streakModel median & 95% rangeRaw pAdjusted pPasses?
AI Maker: Photo Video Filters200 reviews · 35.0% bad354Range: 3 to 71.04e-175.12e-16Yes
Gmail - Email by Google200 reviews · 87.0% bad2225Range: 17 to 440.75031.0000No
TikTok Pro - Events200 reviews · 41.5% bad125Range: 4 to 90.00190.0898No
Capital One Mobile200 reviews · 42.0% bad115Range: 4 to 90.00560.2631No
Polymarket: Trade Live Sports200 reviews · 72.5% bad2113Range: 9 to 220.04211.0000No
Claude by Anthropic200 reviews · 41.5% bad75Range: 4 to 90.19951.0000No

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
AppActual longest streakModel median & 95% rangeRaw pAdjusted pPasses?
AI Maker: Photo Video Filters200 reviews · 35.0% bad354Range: 3 to 71.04e-175.12e-16Yes
Amazon Prime Video200 reviews · 59.0% bad79Range: 6 to 140.90911.0000No
BlinkDrama - Short Dramas200 reviews · 13.0% bad22Range: 2 to 40.97591.0000No
CapCut: Photo & Video Editor200 reviews · 51.0% bad117Range: 5 to 110.04501.0000No
Capital One Mobile200 reviews · 42.0% bad115Range: 4 to 90.00560.2631No
Capital One Shopping: Save Now200 reviews · 36.5% bad45Range: 3 to 80.92741.0000No
ChatGPT200 reviews · 16.5% bad23Range: 2 to 40.99821.0000No
Claude by Anthropic200 reviews · 41.5% bad75Range: 4 to 90.19951.0000No
Dave’s Hot Chicken®150 reviews · 31.3% bad44Range: 3 to 60.64561.0000No
DealSeek: Coupons & Discounts200 reviews · 5.0% bad11Range: 1 to 21.00001.0000No
Depop - Buy & Sell Clothes200 reviews · 32.0% bad34Range: 3 to 70.99751.0000No
DoorDash: Food, Grocery, More200 reviews · 50.5% bad57Range: 5 to 110.98451.0000No
DramaWave - Dramas & Reels200 reviews · 20.5% bad33Range: 2 to 50.77361.0000No
Five Guys Burgers & Fries150 reviews · 22.0% bad33Range: 2 to 50.74241.0000No
FOX One: Live News, Sports, TV150 reviews · 75.3% bad1213Range: 9 to 230.74901.0000No
Freecash - Get Paid Real Money200 reviews · 30.5% bad54Range: 3 to 70.29151.0000No
Fubo: Watch Live TV & Sports200 reviews · 72.0% bad1513Range: 9 to 220.30141.0000No
Gmail - Email by Google200 reviews · 87.0% bad2225Range: 17 to 440.75031.0000No
Google200 reviews · 31.0% bad44Range: 3 to 70.74321.0000No
Google Gemini200 reviews · 8.5% bad22Range: 1 to 30.77241.0000No
Google Maps200 reviews · 60.0% bad129Range: 6 to 150.13441.0000No
Instagram200 reviews · 79.5% bad1317Range: 11 to 290.93231.0000No
Kalshi: Trade Sports & Events200 reviews · 35.5% bad45Range: 3 to 70.90401.0000No
KICK - Live Streaming150 reviews · 34.0% bad44Range: 3 to 70.76381.0000No
Koupon: Promo Codes & Deals150 reviews · 26.7% bad43Range: 2 to 60.41831.0000No
McDonald's200 reviews · 82.5% bad1820Range: 13 to 340.69371.0000No
Muse from Meta200 reviews · 9.0% bad22Range: 1 to 30.81261.0000No
Netflix Game Controller200 reviews · 28.5% bad44Range: 3 to 60.62151.0000No
Paramount+200 reviews · 46.5% bad66Range: 4 to 100.67621.0000No
Peacock TV: Stream TV & Movies200 reviews · 50.0% bad67Range: 5 to 110.82161.0000No
PineDrama - Short Dramas200 reviews · 5.0% bad11Range: 1 to 21.00001.0000No
PLAYFUL REWARDS: Earn Rewards200 reviews · 55.0% bad138Range: 5 to 130.02721.0000No
Polymarket: Trade Live Sports200 reviews · 72.5% bad2113Range: 9 to 220.04211.0000No
Reco Social150 reviews · 36.7% bad44Range: 3 to 70.85931.0000No
ReelShort - Stream Drama & TV200 reviews · 25.0% bad43Range: 2 to 60.43791.0000No
Shop: Track, Pay, Discover200 reviews · 60.5% bad129Range: 6 to 150.14671.0000No
StoryReel: Drama Shorts & TV200 reviews · 14.0% bad22Range: 2 to 40.98761.0000No
Telegram Messenger200 reviews · 63.5% bad810Range: 7 to 160.89611.0000No
Temu: Shop Like a Billionaire200 reviews · 38.0% bad55Range: 3 to 80.63681.0000No
Threads200 reviews · 41.0% bad45Range: 4 to 90.98531.0000No
TikTok - Videos, Shop & LIVE200 reviews · 53.5% bad67Range: 5 to 120.92351.0000No
TikTok Pro - Events200 reviews · 41.5% bad125Range: 4 to 90.00190.0898No
Trump Accounts: Official App200 reviews · 21.0% bad33Range: 2 to 50.79811.0000No
Twitch: Live Streaming200 reviews · 60.0% bad89Range: 6 to 150.76721.0000No
Uber - Rides, Eats, Hotels200 reviews · 26.5% bad44Range: 2 to 60.51651.0000No
VibeShort: AI Short Dramas200 reviews · 8.5% bad22Range: 1 to 30.77241.0000No
Vinted: Pre-loved marketplace200 reviews · 15.0% bad32Range: 2 to 40.43341.0000No
WhatsApp Messenger200 reviews · 49.0% bad76Range: 4 to 110.49401.0000No
YouTube TV100 reviews · 75.0% bad1012Range: 8 to 210.82411.0000No

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 calculation

AI Maker remained unusual under every alternative definition.

ChangeEligible appsApps passingAI Maker streak / sampleApps passing after correction
Latest 100 retrieved reviews46135 of 100Adjusted p: 3.63e-10AI Maker: Photo Video Filters
Up to 500 retrieved reviews51335 of 500Adjusted p: 1.87e-18TikTok Pro - Events; Shots: Photo & Video Generator; AI Maker: Photo Video Filters
Only 1-star reviews count as bad48221 of 200Adjusted p: 1.32e-08Capital One Mobile; AI Maker: Photo Video Filters
Remove reviews sharing a timestamp49135 of 198Adjusted p: 3.73e-16AI 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 it

Compare each app against its own review totals.

  1. 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.
  2. 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.
  3. 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.
  4. Find the longest uninterrupted bad streak. A nonbad record breaks the streak. We search the entire selected sequence, not just its newest end.
  5. 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.
  6. Account for testing many apps. Apply Holm’s correction within the primary group, then report every app and all exclusions.

What was excluded?

AppSelected reviewsBad reviewsReason excluded
Cinnabon5036Fewer than 100 retrieved reviews
APTV00Fewer than 100 retrieved reviews
Momo: AI Photo & Video Maker00Fewer than 100 retrieved reviews
BigFuture School5028Fewer than 100 retrieved reviews
Quince: Luxury Essentials5018Fewer than 100 retrieved reviews
Shots: Photo & Video Generator200191Fewer than ten nonbad reviews
The White House2002Fewer than ten bad reviews
Be My Eyes503Fewer 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
AppRecordsWindow dates, UTCElapsed daysRecords sharing timestamps
AI Maker: Photo Video Filters2002026-10-20 to 2026-10-255.662
Amazon Prime Video2002026-10-07 to 2026-10-2619.150
BlinkDrama - Short Dramas2002026-10-18 to 2026-10-267.390
CapCut: Photo & Video Editor2002026-10-18 to 2026-10-267.390
Capital One Mobile2002026-10-20 to 2026-10-265.550
Capital One Shopping: Save Now2002026-09-22 to 2026-10-2533.680
ChatGPT2002026-10-25 to 2026-10-260.420
Claude by Anthropic2002026-10-13 to 2026-10-2613.130
Dave’s Hot Chicken®1502026-09-06 to 2026-10-2549.790
DealSeek: Coupons & Discounts2002026-10-10 to 2026-10-2615.352
Depop - Buy & Sell Clothes2002026-10-18 to 2026-10-268.130
DoorDash: Food, Grocery, More2002026-10-25 to 2026-10-261.040
DramaWave - Dramas & Reels2002026-10-18 to 2026-10-267.920
Five Guys Burgers & Fries1502026-07-21 to 2026-10-2596.680
FOX One: Live News, Sports, TV1502026-09-01 to 2026-10-2654.880
Freecash - Get Paid Real Money2002026-10-23 to 2026-10-262.560
Fubo: Watch Live TV & Sports2002026-08-02 to 2026-10-2684.480
Gmail - Email by Google2002026-10-19 to 2026-10-266.230
Google2002026-10-21 to 2026-10-265.160
Google Gemini2002026-10-25 to 2026-10-260.710
Google Maps2002026-10-21 to 2026-10-264.550
Instagram2002026-10-25 to 2026-10-260.742
Kalshi: Trade Sports & Events2002026-10-18 to 2026-10-267.282
KICK - Live Streaming1502026-09-09 to 2026-10-2546.470
Koupon: Promo Codes & Deals1502026-09-08 to 2026-10-2647.550
McDonald's2002026-10-19 to 2026-10-266.360
Muse from Meta2002026-10-25 to 2026-10-261.072
Netflix Game Controller2002026-09-18 to 2026-10-2638.140
Paramount+2002026-10-15 to 2026-10-2611.060
Peacock TV: Stream TV & Movies2002026-10-16 to 2026-10-269.950
PineDrama - Short Dramas2002026-10-24 to 2026-10-261.340
PLAYFUL REWARDS: Earn Rewards2002026-09-18 to 2026-10-2637.320
Polymarket: Trade Live Sports2002026-10-03 to 2026-10-2622.730
Reco Social1502026-09-08 to 2026-10-2647.900
ReelShort - Stream Drama & TV2002026-10-23 to 2026-10-262.430
Shop: Track, Pay, Discover2002026-10-22 to 2026-10-264.170
StoryReel: Drama Shorts & TV2002026-10-21 to 2026-10-264.390
Telegram Messenger2002026-10-11 to 2026-10-2614.540
Temu: Shop Like a Billionaire2002026-10-21 to 2026-10-264.640
Threads2002026-10-16 to 2026-10-269.700
TikTok - Videos, Shop & LIVE2002026-10-25 to 2026-10-261.010
TikTok Pro - Events2002026-10-06 to 2026-10-2620.100
Trump Accounts: Official App2002026-09-03 to 2026-10-2652.380
Twitch: Live Streaming2002026-10-12 to 2026-10-2613.260
Uber - Rides, Eats, Hotels2002026-10-24 to 2026-10-261.960
VibeShort: AI Short Dramas2002026-10-20 to 2026-10-265.510
Vinted: Pre-loved marketplace2002026-10-25 to 2026-10-260.640
WhatsApp Messenger2002026-10-22 to 2026-10-263.750
YouTube TV1002026-08-15 to 2026-10-2571.250
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 inspect

Data, 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.

  1. Apple US review feed: AI Maker. Four pages rechecked on 27 October 2026. Exact request URLs, capture times and response hashes are included.
  2. Apple: ratings and reviews overview. Documents replacement of updated review submissions.
  3. R statistical software documentation: multiple-comparison adjustments. Explains Holm’s family-wise correction.
  4. 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