Catalog Analysis  ·  Case Study in BriefEKOM

A direct-to-consumer occasion-wear brand.

A full-catalog read, one pass, zero setup — and the bridal swatch that exists to stop a wedding party ordering the wrong colour was filed under the wrong colour. One of a set of anonymized EKOM analyses.

Vertical
DTC Women's Occasion Wear — dresses, bridal party, knitwear, swim
Dataset
2,049 styles × 11,435 variants
Method
Zero-setup read — live public catalog, no schema
Findings
128 analytical · 40 critical
The pattern  ·  the record is the fitting room
Every field below showed complete on a standard check. Many were wrong.
EKOM ran this brand's live public catalog through our analysis pipeline exactly as we would a new account's — one pass, no hand-built schema, nothing telling the system what it was looking at. What came back concentrated where an apparel brand can least afford it: colour, fit, size and price — the four things a customer cannot verify until the box arrives. A struck-through "was" price below the price actually charged. A cream dress whose own copy sells rich green lace. A jean titled a straight leg and described, three times, as a wide leg. And a class invisible to shoppers but not to the warehouse: listings whose every identifier belongs to a different garment. None of it would fail a completeness scan — every affected field was already marked filled.

What surfaced

A teal swatch in the navy filter
A tulle fabric swatch titled teal carries the tag bridesmaid-navy. A swatch exists so a bride can confirm a colour before eight people order it — filed under navy, it misroutes at exactly that moment.
A discount that runs backwards
A $62.00 sweater shows a reference price of $18.50; $38.00 earrings show $9.24 — 76% below the selling price, shaped like a landed cost in a public field. Others strike through the exact price charged.
Identifiers pointing at another garment
The brand encodes garment type into its SKU prefix, so a code reading -SK on a dress is checkable. One jean's codes all belong to a different product; one jumpsuit holds two unrelated products in a single listing.
An extended size that can't be bought
A maxi dress lists S | M | L while a fourth variant ending -XL exists in its identifier set. Elsewhere 1X–3X variants are real but carry no extended-size tag, so the filter never finds them.

Why it's the harder problem to catch. A completeness check confirms a field is filled; it can't tell that an $18.50 "was" price on a $62.00 sweater isn't a discount, or that a cardigan's identifiers describe a dress. In occasion wear, the fields carrying colour, fit, size and price are the entire basis on which someone commits to a dress for an event they can't re-do. Overwhelmingly these are corrections rather than gaps — the data was present, specific enough to check against itself, and wrong. 59% ship with a machine-applicable fix already attached.

Where this leads  ·  diagnosis to channel-ready
This pass read and diagnosed. Correction and enrichment are the natural next phase.

For a brand shipping new drops continuously, the next step is correcting what the catalog already proves — where a sibling colourway or a product's own title establishes the right value, the fix is deterministic rather than a rewrite — then resolving the few decisions only the brand can make, and holding that line as new product arrives rather than re-auditing a season later.

Jonah Santo
EKOM
[email protected]  ·  ekom.ai
EKOM
Case study — client anonymized