Skip to content
StoreProfiles
Methodology
DOC-0001

How we score.

The trust score is arithmetic, not opinion. This page is the actual formula the registry runs — six components a store’s own data earns (≤80) plus a verified tier of collected external facts (≤20), computed from public data and refreshed every 24 hours. No store pays to be listed, scored, or re-scored.

5On record≤25Catalog depth≤15Images≤12Descriptions≤8Pricing data+15Claimed≤20Verified
The registry

What is StoreProfiles?

StoreProfiles is an independent registry of e-commerce stores. It scores 1,139Shopify stores out of 100 using only data those stores publish themselves, and prints the arithmetic behind every number. A score is read from a store’s own public product feed — how many distinct products it lists, and how many of them are photographed, described and priced — plus a domain-registration check and, where we managed to collect them, its published refund and shipping policies, a sampled product’s review rating and a timed server response. 171,089 products are on record and every store is re-scored every 24 hours. Each audit line links to the source it was read from. Nothing here is for sale: no paid tier, no placements, and claiming a profile adds 15 points but never unlocks editing the audit or the score. The honest limit: we host no customer reviews, so a store with poor service can still score well on catalog quality.

01

The formula

On record5
all-or-nothing base

The store is live and its public product feed answers with at least one product. Every listed store clears this, which is exactly why it is worth five points and not twenty — rules v0.7 cut it, because a component everyone maxes cannot separate anyone. A reachable feed with zero products earns no score at all: the profile shows “Audit in preparation”.

Catalog depth≤25
effective products ⁄ 300 × 25

Depth counts DISTINCT products — the same title repeated, or a product duplicated across variants, counts once. Since v0.7 the full 25 needs 300 effective products, not 100: 100 products score 8, 200 score 17, 300 or more the full 25. A feed of 100 rows with 2 real products scores 1 point here, not 25 — and the audit flags that duplication as a con on the profile.

Images≤15
share photographed × 15

The fraction of products with an image on the feed, times 15. Every product photographed = 15; half = 7.5. A product without an image URL counts against the whole catalog.

Descriptions≤12
share over 40 characters × 12

Only descriptions longer than 40 characters count — the floor for saying something real about a product. A bare title or a one-line “Great quality!” doesn’t clear it.

Pricing data≤8
share priced above zero × 8

The fraction of products with a real price greater than zero, times 8. Missing prices and $0 placeholders both score nothing.

Claimed+15
owner verified the profile

The owner proved control of the domain (a meta tag, about two minutes) and answers for the data publicly. The only component a store controls directly, and v0.7 raised it from 5 to 15: standing behind your own data publicly is the strongest trust signal a store can give us. It never unlocks editing the audit or the score.

Verified≤20
external facts we actually collected

Up to twenty points from facts beyond the feed, awarded only when we have collected them: +8 for published refund + shipping policies, +8 for a sampled product rated 4.3+ across 50 or more reviews, +4 for a sub-400 ms server response from our own probe. v0.7 moved weight here on purpose — these facts are where real stores actually differ. No fact collected means zero — never a penalty, and each point maps 1:1 to a verified “pro” on the profile.

score = on_record + catalog + images + descriptions + pricing + claimed + verified · max 5 + 25 + 15 + 12 + 8 + 15 + 20 = 100

What a store’s own data can earn tops out at 80 (65 unclaimed, 80 claimed). The verified tier adds up to +20 from external facts we have collected — lifting the ceiling to 100. Across the 1,139 scored stores on record scores run 26 to 85, median 58; the top tenth starts at 73. See 04 for what the verified tier does and doesn’t count.

02

Worked example

ColourPopbeauty · 100 products on record · scored from the same feed you can openLive profile →
On recordfeed answers, 100 products recorded5/5
Catalog depth100 effective titles → min(25, 100 ⁄ 300 × 25)8/25
Images100 of 100 photographed → 1.00 × 1515/15
Descriptions100 of 100 over 40 chars → 1.00 × 1212/12
Pricing data100 of 100 priced above zero → 1.00 × 88/8
Claimedprofile not claimed by the owner0/15
Verifiedpolicies +8 · reviews +0 (1 rating < 50) · speed +0 (1071 ms)8/20
20 + 25 + 20 + 15 + 10 + 0 + 292/100

A hundred products, fully photographed, described and priced — 48 before external facts, because depth now needs 300 products for full marks and being on record is worth only 5. The verified tier adds +8 for published refund + shipping policies; the review and speed points stay unearned, because the sampled product has a single rating (not 50+) and the origin answered in 1,071 ms (not sub-400). Claiming would add +15, for 71.

03

No points for sale

Computed, not written

Every point comes out of the store’s own public feed — data anyone can open in a browser and recount. There is no editor to persuade and no judgment call in the pipeline.

Refreshed every 24 hours

A score moves only when the store’s data moves. Each day’s read is snapshotted, and the history is public — on every profile and in the JSON API.

Owners answer, never edit

Claiming unlocks a public reply under the audit and exactly +15 — accountability points. It never unlocks editing the audit, the facts, or the score. $0 placements sold — ever.

04

Limits of the verified tier

rules v0.8 · the verified tier is deliberately narrow
  • Full review aggregation

    Our review point reads structured ratings from one sampled product page, not every review across every platform. It confirms a real public rating exists and clears a bar — it is not a store-wide review average.

  • Real-user (field) performance

    The speed point is a single server-response measurement from our own probe, not Core Web Vitals collected from real shoppers on their own devices and networks. It rewards a fast origin, nothing more.

  • Dispute & complaint history

    Chargebacks, regulator actions and third-party complaint records. We do not ingest them, so they neither add nor subtract points today.

The verified tier is worth five points precisely because it stays narrow: we award only facts we can collect and cite, and we say what they are — a policy page, one sampled rating, one server-response measurement. When a signal above lands, the formula changes and this page changes with it. A store that has none of the verified facts is not penalised; it is simply scored by what its own data earns.

05

Data sources

  • 1.1/products.json — the public product feedTitles, prices, images and descriptions — the same JSON anyone can open at store.com/products.json. We walk the whole feed once a day and store a sample. This is the sole input to the feed components (≤60 of the 100).
  • 1.2/meta.json — store currencyThe store’s own currency setting, used to label prices on the profile. When the endpoint doesn’t answer, we display USD as a fallback — a display default, not a verified fact. Currency never affects the score.
  • 1.3Policy pages · a sampled product · the homepageInputs to the verified tier (≤20): the store’s own refund/shipping policy pages, structured review data on one sampled product page, and a single timed request to the homepage from our probe. Each is re-collected on its own schedule and cited on the profile — the only source of points beyond the product feed.
06

Questions

How does a store score above 80?

Everything a product feed and a claim can prove tops out at 80. The last 20 come from the verified tier: +8 published refund + shipping policies, +8 a sampled product rated 4.3+ across 50+ reviews, +4 a sub-400 ms server response from our probe. Each is awarded only when we have actually collected the fact, and each maps to a verified pro on the profile. A store with none of them still scores by its own tier alone — no penalty for facts we haven't collected. Across the 1,139 scored stores on record scores run 26 to 85 with a median of 58. The top tenth of the fleet starts at 73.

Why does the highest score on the registry stop at 85?

Because no store has claimed its profile yet. 15 of the 100 points are the claim, and they cannot be earned by data alone — an unclaimed store therefore tops out at 85, which is exactly where the fleet maximum sits. The ceiling and its reason are printed on every profile, so nobody has to infer it from the scale.

Does publishing policies help a store with an unfinished catalog?

Not since rules v0.8. The verified tier is only added once the catalog itself clears a quality bar — 32 of the 35 points for images, descriptions and pricing. The facts are still collected and still shown on the profile; they simply stop being worth points while part of the catalog has no photo, no description or no price. The bar deliberately excludes catalog depth: gating on size would penalise small brands for being small rather than for being careless.

What changes a score?

Only the store’s own public data, at the next daily refresh. Add distinct products (up to the 300 that count — duplicates don’t), photograph them, write descriptions past 40 characters, fix zero prices. Scores fall the same way when data degrades — every store is re-scored on the same schedule.

What does “claimed” add?

Exactly +15 on the rules v0.8 scale, plus a public reply under the audit, a live trust badge, and partner-program controls. It never adds editing rights — the audit text and the score stay computed from the feed.

How do I dispute a score?

Claim the profile and reply publicly — the reply appears on the profile, next to the audit it answers. If a fact we cite is wrong, we re-collect the feed and re-score. The formula is not negotiable; the data behind it is checkable by anyone.

This is my store — claim it