About

Built on a gap that was too specific to ignore.

ApparelSignals was founded on a straightforward observation: the data needed to understand what European fashion is actually made of exists on every product page, but it arrives in a form that makes cross-brand analysis impossible without a normalization layer. We built the normalization layer.

Amsterdam, Netherlands
Founder
A
Akemi
Founder · Amsterdam
Background in fashion analytics and product data, with a particular focus on material composition and the gap between how brands describe their products and what structured analysis actually requires.

ApparelSignals was built to make that gap disappear for anyone who needs to ask serious questions about what European fashion is made of, where it's produced, and whether the claims attached to it hold up.
PythonSupabasePostgreSQLReactSeleniumPlaywrightHAR Analysis
The origin

Why this
had to be built.

The problem isn't access to data. The problem is that the data arrives in a form that makes it unusable without significant cleaning work that no one had done systematically.

Every product page at every major European retailer contains a material composition declaration. In the EU, this is legally required under Regulation 1007/2011. The data is there. It's public. And it's unusable in its raw form.

"Poliester", "polyester (PES)", "polyester fiber", and "100% PES" are four strings collected from different product pages. They mean the same thing. Multiply that across hundreds of fiber labels and dozens of retailers and you have a dataset that cannot be queried without a normalization layer.

The first thing built wasn't a dashboard. It was a material alias table mapping every collected fiber string to a canonical taxonomy entry aligned to EU Regulation 1007/2011. That table was built edge case by edge case, with explicit rulings on ambiguous inputs.

The same process was applied to care instructions and to production country normalization, including regional naming questions and alias cleanup across multiple languages. The result is a database where every row means the same thing as every other row using the same label.

That consistency is the entire point. Without it, a dashboard is decoration. With it, the market becomes comparable.

Five decisions that define
what the data means.

Step oneProblem

The problem had to be stated precisely.

Retailer product pages declare material composition by law. But the declared values are unstructured strings. 'Polyester', 'polyester (PES)', 'poliester', and '100% PES' are four representations of the same fiber. Before any analysis is possible, that inconsistency has to be resolved.

Step twoTaxonomy

Build the taxonomy before touching the data.

The first deliverable was a material alias table mapping raw collected fiber strings to canonical taxonomy entries aligned to EU Regulation 1007/2011. PLA is synthetic. MDF is natural despite synthetic binders. Branded fibers like TENCEL and LYCRA are composition entries, not certifications.

Step threeNormalization

Expand normalization to every structured field.

The same methodology was applied to care instructions and production country. Every field in the database has a corresponding alias table. None are left to interpretation.

Step fourArchitecture

Decide how to aggregate, and why.

Variant-weighted aggregation was a deliberate architectural decision. A product available in multiple colorways and sizes represents multiple manufactured SKUs. The database treats each variant as its own data point.

Step fivePlatform

The platform is the interface to the normalized layer.

The dashboard, API, and export tools are interfaces to the underlying normalized database. The defensibility of ApparelSignals is not in the charts. It's in the alias tables and rulings that make cross-brand comparison possible at all.

The decisions that define
what the data means.

Every dataset is shaped by the choices made during its construction. These are the explicit rules that govern ApparelSignals and determine whether a cell in the database contains a number you can trust.

01

No inference. No gap-filling.

If a brand doesn't state it, we don't record it. No extrapolation from similar products, no default values, no inferred certifications from reputation or marketing language.

02

MECE taxonomy, no exceptions.

Every classification decision is mutually exclusive and collectively exhaustive. A fiber is natural, regenerated, or synthetic. When a term appears in multiple taxonomy paths, it gets renamed into distinct entries rather than left ambiguous.

03

Certifications are not branded fibers.

TENCEL, LYCRA, and ECONYL are trade names, not third-party certification standards. They belong in the composition field, not the certification field.

04

Variants are the unit of analysis.

A product that comes in multiple colorways is multiple manufactured SKUs, not one product. Aggregating at product level averages away information brands actually make decisions on.

05

Nomenclature follows EU Regulation 1007/2011.

The EU textile labelling regulation defines the canonical list of fiber names. That list is the normalization target, not common usage or brand preference.

06

The alias table is the product.

The dashboard and API are interfaces. The real defensibility is in the manually reviewed normalization layer that makes cross-brand comparison possible at all.

What's coming

The platform
is expanding.

The current retailer set is the foundation. The normalization pipeline, taxonomy, and scraping infrastructure were built to scale. The roadmap follows what becomes analytically possible once coverage is broad enough to be truly representative.

Near term
Expanding retailer coverage toward 200+ European brands
Historical archive view to track how any brand's material mix shifts across collection cycles
Care instruction analytics to show what aftercare patterns reveal about fiber strategy
Medium term
Certification trend tracking across brands and price tiers
Gender and category breakdown analytics at market level
Embeddable chart components for third-party publishing
On the radar
Teams access with shared dashboards for departments working from the same dataset
Digital Product Passport data model alignment
Public methodology changelog with transparent versioning of alias table updates

Questions, feedback,
or a data request.

If you've found a classification error in the data, have a question about the methodology, want to suggest a retailer for coverage, or are evaluating ApparelSignals for a specific research or business use case, reach out directly.

See it for yourself

The methodology is only as good
as what it produces. Here's the data.

Start with the free resources: the Natural Fiber Products list, the Fashion Empire visualization, and the Fabric Library. No account required.

Browse free resources
No account required
March 2026 scrape
Fully normalised
EU Reg 1007/2011 aligned