Resolution Layer Case Study  ·  Read & Diagnose

A fashion footwear and apparel brand.

A multi-lens data-quality read of the catalog — and where it leads.

Scope
Footwear & apparel catalog  ·  women's, men's, clothing, accessories
Lead finding
Product pages serving another style's photograph
Issues surfaced
34 actionable (40 flagged)
Method
Full-catalog read  ·  auto-profiled, no setup
Vertical
Fashion Footwear & Apparel — brand-owned DTC
This pass
Read & diagnose — step one of the arc
Prepared by
EKOM
Type
Case study — client anonymized

What this is.

This is a real EKOM catalog analysis, with the brand's identity removed. The client is a fashion footwear and apparel brand selling direct to consumers — women's and men's footwear, a substantial clothing line, and accessories, all under names it owns rather than resells. EKOM ran a full-catalog quality read with no schema supplied and surfaced 40 flagged items — 34 of which are real, actionable catalog issues, the kind standard validation misses, because it checks whether a field is filled, not whether the value is right.

Third-party brand and model names are kept as they appeared; only the brand's own identity, product names and asset paths have been removed. Where a defect is best shown by the broken value itself, that value is quoted verbatim.

These are machine-surfaced findings meant as a triage signal, not a verified defect list — a small share may be intentional. Even so, the concentration and specificity of what surfaced is a strong read on catalog health.

What's inside

At a glance.

Where the 34 actionable findings concentrate, by theme.

34
Actionable
findings
12
Critical
30
High severity
or above
14
Issue
themes

By theme

ThemeCountWho feels it
Wrong-product imagery6Shoppers
Specification typos4Shoppers
Tag token hygiene4Shoppers + ops
Measurement mislabels3Shoppers
Brand & vendor fragmentation3Ops + brand partners
Size picker integrity3Shoppers
Color value integrity2Shoppers
Fiber & material claims2Shoppers + compliance
Product type misassignment2Ops
Collection routing1Shoppers
Bundle structure1Shoppers + ops
Copy contradiction1Shoppers
Color & rebrand drift1Shoppers
URL & handle integrity1Ops
The count isn't the point. Every one of these is a filled field. A validator checking completeness waves all of them through, because the problem is never absence — it is a value that is present, well-formed, and wrong. They cluster where they hurt most: what a shopper sees before they decide, and what a claim commits the brand to after they buy.

What a shopper runs into first.

The critical findings, in the order a customer meets them.

Highest-Visibility Finding  ·  Wrong-Product Imagery
Product pages carrying a photograph of a different shoe.
This brand names its image assets to a strict internal convention — <BRAND>_SHOES_<STYLE>_<COLORWAY>_01.jpg — and that consistency is precisely what makes the exceptions legible. Every colorway of one dress-shoe style is served an asset named for a different style entirely. A second style's colorways carry a third style's name. A brown suede shoe carries an asset named for an unrelated style; a skirt carries an asset named for a different colorway; a multi-color shoe is served its own leather colorway's photograph. One faux-fur sneaker family abandons the convention altogether for generic upload names like cream_1_1600x2000_0ec83abc-...jpg, where every sibling colorway conforms — a wrong or placeholder asset rather than a named mismatch.

An honest limit on that finding

The evidence is a filename naming another style, inside a catalog where the convention otherwise holds. That is strong — but a filename can survive a re-shoot or a rename, so it is not proof of what renders on the page. EKOM flags it and says so rather than asserting it, and the report recommends a human open the affected pages before anything else happens. Naming the limit is what lets the rest of the language be blunt.

A fiber content that cannot be true

Both colorways of one dress state their composition as 55% rayon 45% rayon — the same fiber named twice at two different percentages, which cannot describe any garment. Almost certainly a copy-paste that overwrote a second material. Fiber content is federally required to be accurate on US apparel; whether a facially impossible declaration crosses a line is a question for counsel, but it is not one to leave sitting on a live page, and it travels to every channel the record reaches.

Leather in the name, suede in the spec

Two leather colorways of the same style open their specifications with Suede upper material, while their own sibling colorway correctly states Leather upper material. The product name promises one material and the spec on the same page states another. The sibling is the tell: this is a data error, not a product difference — and the resolution arrives after delivery, as a return.

What breaks the path to purchase.

The remaining critical findings — defects that keep a live, in-stock product from being found, filtered or bought.

Color values cut off mid-word, and one phantom swatch

Two styles carry the color value BLACK LEAT instead of BLACK LEATHER — both with the standard black-leather color code, confirming what was intended. A truncated value does not match the facet it belongs to, so the product drops out of color filtering entirely. A third style carries SNAKE MULTI | SNAKE MUL, two pipe-separated values where there should be one, which the storefront renders as a second, non-existent color option: a swatch on the page that leads nowhere.

A men's loafer that men's shoppers cannot browse to

One men's dress loafer — men's tags, men's sizing 7 through 13 — has its product_type set to Women's Shoes, where every other men's style uses Men's Shoes. The field appears to have been populated from a tag value by accident. The page exists and works if a customer lands on it; it simply never appears in the collection a customer would browse to find it. Live and invisible at the same time.

Bundles with no size selector and no visible saving

The bundle products use the full product-and-colorway string as the option axis name — <STYLE COLORWAY> (Size) — instead of a proper axis label, with the size ladder jammed into the values of that same axis and no second axis defined. Every bundle also has an empty compare_at_price. This is functional, not cosmetic: the size picker cannot render as its own selector, and with no compare-at price a bundle cannot show the saving that is the entire reason it exists.

Where it traces back: one unstructured field.

A single structural property of the catalog explains an entire class of the findings above.

The busiest defect surface in this catalog is the specification field. It is where heel heights, shaft measurements, upper material, lining, sole and country of origin all live. And they all live there as one run-on string of free text, separated by pipes. Here is one, verbatim: 1 inch heel height | 13.25 inch shaft circumference | 4 inch shaft circumference | Suede upper material | Textile lining | Textile sock | Rubber sole | Imported — a boot whose shaft is measured around twice and along never.

Why nothing catches it

Because it is prose, nothing can validate it. A heel height cannot be range-checked. A material cannot be cross-checked against the product name. A duplicate label cannot be caught. That is precisely why heel eight, heel heigh, heihgt, circumfernce, two conflicting heel heights on a platform shoe, two conflicting shaft circumferences on a boot, a bag measured 4.5in H x 9.5in W x 3.25in H, and suede specs on leather shoes all survived into the live catalog. They are not eight unrelated mistakes. They are one unstructured field, eight times.

Country of origin rides the same string

The word Imported is carrying that disclosure at the tail of a prose field, where nothing can assert it, audit it, or vary it by product. Structuring the specification field does not just fix today's list — it closes the class, and it gives the brand somewhere to put an origin claim that can actually be checked.

The same pattern, smaller, elsewhere

Two other fields show the shape at lower stakes. The brand's own name is stored three ways in the vendor field — all-caps, spaced, and camel-cased — and because that field is case-sensitive, one brand becomes three buckets across collections, filters and reporting. In the tag field, a single stray space after a colon puts six women's styles outside every collection rule that matches the correct token exactly; elsewhere a color tag written COLOR_BLACK instead of Color:Black excludes an item from black merchandising, and a stray style-group tag pulls a denim crop top into a shoe style-switcher.

Confirming against source — what EKOM withdrew.

Six of the 40 flagged items came from a heuristic layer that flags any column holding more than one kind of information — and on review, not all of them are the brand's. Four are withdrawn outright. The other two are real, and are kept below as structural recommendations rather than counted as defects. None of the six sits inside the 34. Calling that out here, plainly, is part of keeping this analysis honest.

Flagged fieldVerdictWhy it isn't reported
option2_valuesWithdrawnThe size ladder reads as one joined cell only because EKOM collapsed variants into a single record per style for this analysis. In the live catalog these are separate variant records. Nothing is wrong on the brand's side — and the tell is in the finding itself, which "splits" one column into exactly one child, a no-op.
tagsWithdrawnTags are natively a multi-value list; joining them into one cell was EKOM's own serialization. The taxonomy problems inside tags are real and are reported — the non-atomicity is not.
product_urlWithdrawnNot a defect in any sense. A URL is supposed to be one string.
option1_nameFolded inThe condition detected here is the bundle option-axis breakage already reported as critical. It is a defect on specific bundle products, not a catalog-wide property, and counting it twice would inflate the total.
detailsKeptGenuine structure on the brand's side — the specification field, and the origin of most of the spec defects in this analysis.
titleKeptGenuine naming convention on the brand's side: style name and color/material packed into one string.
Why this matters. None of these six is counted among the 34. The four withdrawn are gone entirely; the two kept are structural recommendations, not defects on the tally. What remains — 34 actionable findings — is what EKOM would stand behind as real, live, and actionable on the brand's site today. A cold read that reports everything it raised is easy to produce and hard to trust; separating what is genuinely wrong from what is an artifact of how the catalog was read is the difference between a defect list and an analysis.

How EKOM reads this catalog.

No file handoff, no credentials, no integration — and no manual tuning at any step.

1
Profile the catalog
EKOM profiled the catalog with no schema supplied — inferring the vertical and every field's role, fill rate, and quality signals before any analysis ran.
The brand's own image-naming convention was learned here.
2
Read in full
Rather than sampling, EKOM read the live catalog end to end — every style, every field — so a defect that only exists relative to a convention has something to be relative to.
Full coverage, not a sample. Nothing narrowed away.
3
De-duplicate & group
Findings are de-duplicated, then grouped by theme and root cause — which is why eight spec defects arrive as one structural argument about an unstructured field rather than eight typos.
Signal, not noise.

A sampled spot-check would have caught some of this and missed the most valuable part. The wrong-image findings are only detectable because the engine first learned what the brand's filenames normally look like and then read enough of the catalog to know that this style is the exception rather than the rule. Convention-relative defects are invisible to a sample by definition — there is nothing to compare against. Reading in full is what makes the next step precise: EKOM knows exactly which records need correction and which are already sound.

About this analysis

EKOM's first read of this brand's catalog. The pipeline profiled it with no schema and no manual setup, then read the catalog in full rather than sampling. The findings here are that read, with the brand's identity, product names and asset paths removed. Four of the 40 flagged items were withdrawn on review; two more are kept as structural recommendations rather than counted as defects.

What this means — and what's next.

more than26%
In a survey of 1,074 US consumers, more than a quarter said they are very unlikely to shop with a retailer again if the product does not match its image — rising to 40% among older shoppers. In fashion the photograph is the product for a customer who cannot touch it, so the cost of serving the wrong one is not the return. It is the customer who does not come back.
Nfinite consumer survey, 2023
None of these are content problems. A page serving another style's photograph converts a browse into a return, or into nothing at all. A color value truncated mid-word drops its style out of the filter a shopper is actually using. A men's loafer typed as women's is full margin at zero discoverability. They accumulate because standard validation checks for presence, not correctness — and for a brand that owns its names, its photography and its specs, every one is a statement the brand is making about its own product.
Two findings are not merchandising at all: a fiber content that cannot be true, sitting in regulated labeling copy, and a material named in the title and contradicted in the spec. Neither stays on the site — a product record travels, and any marketplace or wholesale partner that ingests it inherits the claim, so the exposure grows with exactly the channel expansion most brands are investing in.

This pass read and diagnosed. The same structural understanding powers the work that follows — turning a diagnosed catalog into one that reads right everywhere it's seen.

1  ·  Apply the corrections that have one right answer
Collapse the three vendor spellings into one, repair the malformed category tokens, restore the truncated color values, correct the spec typos, and reorder the size ladders — prepared as change sets and approved at the pattern level, not one listing at a time.
2  ·  Structure the specification field
Break heel height, upper material, lining, sole and country of origin out of one free-text string into fields that can be validated, faceted and audited — the fix that closes the class rather than clearing today's list.
3  ·  Hold the line at intake
Keep ongoing intelligence at intake so new styles, colorways and seasonal rebrands don't quietly reintroduce the same drift as the catalog grows.
This is how EKOM moves a catalog from insight to impact —
and keeps every listing reading right as the business grows.
EKOM
The Resolution Layer
ekom.ai
Case Study  —  Client anonymized  ·  The Resolution Layer
EKOM