← Back to Blog

How 'SURF EXCEL EW 1KG' and 'Surf Excel Easy Wash 1 Kg' become one product

Consider one product — Surf Excel Easy Wash, 1kg. Across four stockists in Madurai it might appear as "SURF EXCEL EW 1KG", "Surf Excel Easy Wash 1 Kg", "SurfExcel-EW-1000g", and "UNILEVER SURF EW KG". Same product. Four names. Sometimes two different HSN entries and two different prices. The consumer should see one listing. Getting there is the work.

The raw data is human, not clean

Stockist billing names are typed by people, for people who already know what they mean. Abbreviations, missing spaces, brand-versus-product ordering, quantity written four different ways. It's perfectly functional for billing a kirana and completely unusable as a consumer catalogue until it's resolved.

Canonicalising the mess

The standardisation layer breaks each entry into its parts — brand, product line, variant, pack size — and rebuilds it into one canonical form. "EW" resolves to "Easy Wash"; "1000g", "1 Kg", and "KG" collapse to a single 1kg unit. Entries that resolve to the same canonical product get merged into one listing, with the underlying stockist records still linked behind it.

Validated, not guessed

Matching is checked, not assumed. HSN codes are validated against the HSN master; names are verified against brand and FSSAI references. A confident-looking match that fails validation is flagged rather than published — because a wrong merge is worse than no merge.

Why this is the moat

Every stockist we onboard adds more raw variants — and every correction we learn from one applies to the next. A normalisation learned from one stockist resolves the same mess for another automatically. The catalogue doesn't just grow; it gets cleaner as it scales. That compounding is hard to start and harder to catch up to.


Real stockist prices. No inflated MRP. Download VeBy.Download App