Methodology

How we source reviews and ratings

The long-form version of the About page. This is the page we cite when asked how reliable the data on the site is — and how we make sure no fake testimonials end up on a product page.

The three data tiers

Every claim on the site sits in one of three confidence tiers, always with explicit attribution. We borrowed this structure from sibling editorial sites that handle the same problem in other product categories — separating verifiable data from community signal from editorial opinion.

Tier 1 — Amazon (verifiable, first-party)

Star rating, review count, ASIN, listing URL, and per-review permalinks come from a live scrape of the relevant amazon.com listing page. We run the scrape from a real browser session (not raw HTTP fetches that trip Amazon's bot wall) and store the result in a per-SKU JSON file atdata/live/reviews/<slug>.json. That file carries a fetched_attimestamp; pages display it as “last verified”.

JSON-LD AggregateRating is emitted only when this tier is present. SKUs without a first-party Schylling listing get an OutOfStock schema and no aggregate rating — search engines see the honest absence rather than a fabricated number.

Tier 2 — Reddit community (verifiable, third-party)

Verbatim quotes from public Reddit threads in r/NeeDoh, r/fidgettoys, r/ADHD, r/autism, and r/toys. Each quote is filtered for substance (length ≥50 chars, comment score ≥1, comment author not deleted), and required to mention the specific SKU keyword in the comment text — not just appear in a related thread.

Reddit sentiment surfaces as a word (“positive”, “mixed”, “negative”) and never as a numeric rating, per Google's review-snippet policy. Per- comment upvotes are shown to give readers a sense of how broadly the comment was endorsed.

Tier 3 — Editorial (opinion, attributed to us)

Comparison frameworks (firm vs soft, ADHD criteria), verdict paragraphs, and the “who this fits” pick lists are written by the editor. These are explicitly our opinion — they sit in their own visually-distinct sections on the page and are never presented as user reviews.

Truthfulness rules

Four hard rules govern every page on the site. They're enforced both editorially and structurally — the guide-body type system rejects blockquotes that don't carry a real sourceUrl.

  1. No fabricated user testimonials. Every quote is verbatim and permalinks to a real source.
  2. No fabricated ratings. Star ratings come from the live Amazon scrape only.
  3. No counterfeit-listing affiliate links. We don't link to third-party Amazon sellers within a listing.
  4. No misleading schema. JSON-LD AggregateRating only when verifiable Amazon data backs it; OutOfStock when there's no listing.

Re-verification cycle

Amazon ratings drift over time. Reddit threads get deleted. Product listings come and go. We re-verify each product's data file on a rolling cycle:

  • Every SKU's Amazon scrape gets refreshed quarterly at minimum.
  • SKUs flagged as “listing failed” get re-checked monthly to catch new listings.
  • Reddit permalinks get audited every six months for breakage.
  • Long-form guide bodies cite a lastVerified date in the fact-card at the top of the page.

Frequently asked

How often do you refresh Amazon ratings?
Quarterly at minimum; whenever a SKU's rating shifts more than 0.2 stars between checks we re-verify within a week. The `lastVerified` field on each review file is the authoritative date for that SKU's data.
Do you remove negative reviews?
No. Our quote curation explicitly preserves the rating mix from the source listing — we surface up to four 4-5★ reviews and up to two 1-3★ reviews per product, ordered by verified-purchase status and helpful_count. Critical reviews stay visible.
What if a Reddit comment is later edited or deleted?
The permalink we save is to the comment ID, not the comment text. If the original user deletes or edits later, our snapshot still cites the text we read at scrape time. We periodically re-verify the permalinks themselves; broken ones get flagged in our internal review file.
How do you decide which Reddit quotes to publish?
We filter for substance — comments under 50 characters or with score <2 are excluded. Comments that don't mention the specific SKU directly are excluded even if they're in the right thread. We never paraphrase: every quote is verbatim, preserving the original user's spelling and punctuation.
Why do three NeeDoh SKUs not have Amazon data?
Jellyfish, Ice Cream, and Nice Berg don't currently have a first-party Schylling listing on Amazon US — Reddit users discuss them, but Amazon search results return only generic third-party products. We mark these as `status: failed` in the data file and surface a `No verified Amazon listing` disclosure on the product page rather than fabricate a rating.
Are AI tools involved in writing the content?
Long-form guide bodies are drafted with editorial AI assistance, then fact-checked against the source data files (data/live/reviews/*.json) before publishing. Every blockquote, statistic, ASIN, and price gets manually verified against the original source. Our type system enforces that every blockquote carries a sourceUrl — fabricated quotes are structurally rejected at build time.

Spotted a methodology error or a data file that should be re-verified? Let us know. We update the page when something changes.