BalanceBikeToddler

Ten catalogue listings carried review counts reaching 47 million. We suppressed them rather than estimate, set a hard credibility ceiling of 200,000, and added a build-time guard.

Review Count Integrity

The Review Counts We Refuse to Publish

Ten listings in this catalogue carried review counts reaching 47 million. We deleted them rather than round them, and anything above 200,000 is now blocked automatically.

A review count is a claim about how many families bought something. Publishing a number we cannot defend is worse than publishing no number at all — especially when that same number silently changes how we rank products.

Detected 13 Oct 2026 · gated the same day · 10 records affected · all in the stroller family

Largest count suppressed
47,475,530

on a stroller listing

Credibility ceiling
200,000

any count above this is dropped, not published

Records affected
10

pages publishing a count went 176 → 166

Balance-bike pages clean
16 of 16

no balance-bike listing ever carried a bad count

01 / Defect

What was actually wrong

A review-count field arrives with each catalogue record. Ten records carried values that cannot be true — up to 47,475,530 on a stroller listing and 47,475,117 on a Baby Trend playard. For scale, the highest credible figure anywhere in this catalogue is roughly 59,000 on a convertible car seat, and one of the biggest sellers on the site, the Radio Flyer wagon, shows 14,471.

Forty-seven million ratings on a toddler playard exceeds plausible unit sales for that category by orders of magnitude.

These are values inside our own catalogue as our collector recorded them. They are not figures published by any brand, and they have never appeared in a brand's own materials. The defect is in our pipeline, not in anyone's product.

Surface affectedWhat happened
Visible page copyPages read star-rated copy followed by tens of millions of ratings
Product structured dataaggregateRating.ratingCount was emitted with the impossible value
Internal ranking mathsreviewCount / 100,000 in our scoring added up to +475 to a single row, silently reordering top-pick lists

02 / Response

Deleted rather than estimated

The count is dropped, not replaced with a plausible guess. Where the source supports it the star rating stays; the count and the entire aggregateRating block go with it.

An aggregateRating whose ratingCount is fabricated is a structured-data violation. Losing the rich result is the lesser cost — a search result built on a number we invented would not be a small mistake, it would be this site's credibility spent on one field.

One function now gates every path: credibleReviewCount() in src/lib/reviewSignal.ts. Prerendering, client-side structured data, API responses and our own scoring all route through it, so a future output surface cannot quietly bypass the rule.

03 / Calibration

Why the ceiling sits at 200,000

The threshold is deliberately an order of magnitude above anything credible in this catalogue. The largest defensible count we hold is about 59,000. Setting the gate far above that means legitimate movers cannot trip it — and empirically they did not: exactly ten records were suppressed, pages publishing a count fell from 176 to 166, and nothing else moved.

If a real product ever does clear 200,000 ratings, that is a case worth noticing by hand rather than a case worth optimising for in advance.

04 / Records

The ten suppressed records

All ten sit in the stroller family, which the search data had already demoted to a subordinate section. Not one balance-bike page was affected.

The values cluster suspiciously — several share leading digits (47,475,530 and 47,475,117; 4,444,511 and 4,444,515) — which points at a scraper or field-concatenation defect rather than ten independent typos. The fix belongs in the collector, not in ten hand-edited fields.

PagePublished countBrand
/products/strollers/stroller-b07pjmb6gf47,475,530—
/products/strollers/playard-b07964sfw447,475,117Baby Trend
/products/strollers/stroller-b09jls8lsr46,465,563Mompush
/products/strollers/playard-b08bt16th545,455,104Dream On Me
/products/strollers/stroller-b07g55y3dp44,445,715—
/products/strollers/stroller-b008u4mku64,646,593Baby Trend
/products/strollers/stroller-b00gjixp5o4,545,537—
/products/strollers/stroller-b07bb5vxbw4,545,528Baby Trend
/products/strollers/stroller-b07kr61jvd4,444,511BABY JOY
/products/strollers/stroller-b07b7qc8dv464,652Jeep

05 / Guard

How it stays fixed

npm run check:reviewcounts walks every HTML file in dist/, checking both the visible copy and the JSON-LD, and fails the run if any count exceeds the ceiling. The ceiling itself is read out of reviewSignal.ts by regex, so the guard cannot drift away from the rule it guards.

If the collector is fixed at source, these ten rows leave the suppression list and their counts return automatically. Until then the correct answer for those pages is no number at all.

Every balance-bike page passed this check clean — start where the inventory and the evidence agree.

See the rest of the scoring model, and why a corrupted count mattered more than a cosmetic defect.