Platform specifics
What makes Fnac data different from other European retailers
These are the reasons a Fnac dataset needs its own handling rather than a shared retail schema.
A statutory price cap makes price the wrong metric for one category
Under French law, new books are sold at a price set by the publisher and a retailer's discount is limited to a
small statutory margin. The practical result is that new-book prices are near-identical across French retailers.
- A price index on new books will show almost no variance, which is a correct measurement of a
constrained market and tells a client nothing they can act on.
- Discount depth is capped, so promotional analysis in this category measures compliance with a ceiling
rather than competitive intent.
- Competition therefore moves elsewhere — to availability, delivery speed, membership benefits,
loyalty points and marketplace condition offers.
We flag is_price_regulated_category so a client does not build a price index where price cannot
move, and we shift collection emphasis in those categories to the fields that do vary. Getting this wrong is not
a small error: it produces a project that runs correctly for months and answers nothing.
Used and marketplace offers are where book price variance lives
The statutory cap applies to new copies. Used and marketplace offers are not constrained the same way, and
that is where genuine price dispersion in the category exists.
We capture the full offer set per product with condition and seller_type on each
row, plus which offer held the default position. For a publisher or a distributor, used-copy pricing and
availability relative to the new price is frequently the only live commercial question in this category.
Blending new and used offers into one price series produces a figure that moves whenever used stock arrives,
which reads as a repricing and is a change in the offer mix.
Fnac is a media retailer and an electronics retailer at once
The catalogue spans books, music, film and games alongside consumer electronics and appliances. These do not
share a data shape or a competitive logic.
Media categories need edition, format, contributor and release-date fields, and in the case of books a
regulated-price flag. Electronics need model number, energy labelling and store availability. Applying one field
set across both produces a schema adequate for neither.
We scope collection per category tree with department-specific extensions over a common core, so the
departments stay comparable on lifecycle and availability without being forced into an identical shape.
Membership is a live pricing lever here
Fnac operates a paid membership with pricing and delivery benefits, and in a category where headline price is
constrained, membership becomes one of the few levers left.
We capture member pricing and benefits where they are publicly displayed, as their own fields rather than
substituted into the price. Where a benefit requires a signed-in session it is out of scope and the boundary is
stated.
For competitive work in French media retail, tracking membership benefit changes over time is frequently more
informative than tracking prices, because that is where the retailer can actually act.
French-language product data and edition identity
Titles, contributor names and category paths are in French, and media products carry edition-level identity
that matters commercially: a paperback reissue, a collector edition and an original hardback are different
products sharing a title.
We retain the published title and category path with translation as separate fields, and capture ISBN or
equivalent identifiers where present alongside edition and format fields. Grouping by title alone merges editions
that should not be merged, and it is the most common failure in media-catalogue projects.