Methodology

How we verify prices.

No price appears on Prixette without the time we last confirmed it — and a price we can’t confirm doesn’t appear. This page is the rulebook.

Our principles say prices are ranked by price, every price carries a timestamp, and no retailer can pay for placement. Principles are easy to state; this page describes the machinery that enforces them.

Where prices come from

Prices come from retailer product feeds — the structured files retailers publish through their affiliate networks describing what they sell and at what price. We ingest those feeds daily. Each feed row becomes an offer: one retailer, one price, and the moment we observed it.

Offers are then matched across retailers on style codes and GTINs — the identifiers printed on the box, not a similar-looking photo — so that when we say “same item, six prices,” it is the same style code and the same colorway at all six.

A timestamp on every price

Every price we show carries the time it was last confirmed. Under 24 hours old, it reads as relative time — “verified 2 hours ago.” Older than that, it carries the date. The timestamp is not decoration; it is the honest answer to the only question that matters about a listed price: how sure are you that this is still true?

Two dates, not one

Every price here carries two different facts, and confusing them is how comparison sites mislead people:

  • When we last saw it

    The time we last read this price from the retailer’s live feed. This is what the timestamp on each row means. If we cannot read a price, we do not show one.

  • When the retailer last changed it

    Where a price has held for a fortnight or more, we say so: “price unchanged since Aug 12”. That is the retailer’s own last-modified date, not our guess. A price that has not moved in months is a stable price, not a stale one, and we stopped treating the two as the same thing on 1 September 2026.

Age still has consequences. An offer we have not seen in a live feed for more than 48 hours is downgraded, and past seven days it leaves the page entirely until a fresh reading arrives. Separately, an advertiser whose whole catalogue has not been republished in over a month is removed from our index outright — a feed nobody maintains is not inventory, whatever it still contains.

What we do not claim: that we checked the retailer’s website itself. We read the product feed the retailer publishes. Their checkout price is the one that governs, always, and it is the reason every link here goes to their page rather than ours.

When a price fails a check

After every ingest, automated checks look for the ways a comparison can quietly go wrong: a match that pairs two items that are not the same item, a price in our data that disagrees with the retailer’s, a spread between offers so wide it suggests one of them is broken.

A price that fails verification is removed from the page. It stays off until a fresh observation arrives from the retailer’s feed, or a human reviewer confirms the price is right. We remove; we do not caveat. And the page says so — where offers are suppressed, you see a line like “Not shown: retailers whose prices we couldn’t confirm today,” because knowing what we couldn’t verify is part of the comparison.

People behind the matching

Matching is automated; judgment is not. A standing sample of matched products goes to human review, and a proposed match the system is not sure of is held in a review queue rather than published. The bias is deliberate: precision over recall. A missing listing costs you a click; a wrong “same item, cheaper” costs you money. The doubtful case waits.

How we label retailers

The same genuine item can reach a retailer by different routes, and the route changes what you can expect after purchase. So every retailer we list carries a channel label:

  • Authorized retailer

    Carries the brand through its official distribution — the brand’s own store, or a department store or e-tailer it supplies directly. Brand warranty and after-sales service apply as the brand publishes them.

  • Independent boutique

    An independent multi-brand boutique the brand supplies. The route is the authorized channel — brand warranty applies as published — but the storefront is an independent shop, and we label that separately because the storefront type matters when you buy.

  • Marketplace

    A platform where third-party sellers list items. The seller, not the platform, sources the goods, and policies can differ from seller to seller on the same site.

  • Parallel-import retailer

    Sells genuine goods sourced outside the brand’s official distribution network — typically bought in a market where the brand prices lower and resold across borders.

What parallel import means for you

Parallel import is about the route, not the product: the goods are genuine. It is also, often, where the lowest price in a comparison comes from — buying in a cheaper market and reselling is the business model. The trade-offs are real, and we would rather you weigh them than discover them:

  • Price is typically lower than at authorized retailers — that is the point of the channel.
  • Brand warranty and repair service may not apply, because the brand did not sell through that channel. Check before you buy anything you expect the brand to service.
  • Returns run on the retailer’s policy, not the brand’s. Read it; they vary widely.
  • Import duties depend on your country and the route the item ships — the sticker price may not be the landed price.

None of this makes a parallel-import price wrong. It makes it a different trade, and a comparison that hides the difference isn’t a comparison. That is why the label sits next to the price, not in the fine print.

Where this stands today

Prixette is live, and the system this page describes — feed ingestion, matching, the 24/48-hour freshness thresholds, suppression, the review queue — is what every page on the site runs on.

The check that leaves the feed entirely is also running: we open the retailer’s own product page and compare the price we display against the price shown there. It returns one of three answers — match, mismatch, or refused — and only a match refreshes the timestamp. In practice a large share of attempts come back refused, because many retailers block automated reads of their pages. That is the extractor working correctly, not failing: a refusal leaves the feed price and its original timestamp untouched rather than replacing them with a guess. A mismatch is never published either, because at this layer a mis-parse and a real price change look identical, and believing the scrape is how a comparison site publishes a wrong number.

This page changes as the checks do.

Tell us when we’re wrong

A wrong price is the one thing this system exists to prevent. If you find one, write to [email protected] — we read everything, and a confirmed error takes the price off the page.