Product Matching: How Ecommerce Teams Compare Products Without Shared SKUs

Product Matching

Key Takeaways

  • Product matching allows ecommerce teams to compare competitor catalogs even when retailers do not share the same SKU or product ID.
  • SKU matching alone is insufficient because retailer SKUs are usually internal identifiers and standardized identifiers may be missing, inconsistent, or unavailable.
  • A scalable matching workflow typically combines candidate generation, identifier checks, normalized attributes, similarity scoring, conflict detection, confidence thresholds, and manual review.
  • Exact matches, variants, multipacks, bundles, and comparable substitutes should be represented as different relationship types.
  • Match thresholds should depend on the use case. Automated repricing usually requires higher precision than exploratory assortment analysis.
  • Product matching quality must be monitored over time because product pages, variants, identifiers, and catalog structures change.
Product Matching

Ecommerce teams cannot compare competitor pricing reliably until they know which products are actually comparable.

That is straightforward when two retailers expose the same UPC, EAN, GTIN, manufacturer part number, or model number. In practice, retail catalogs rarely align so cleanly.

Competitors may use different internal SKUs, suppress manufacturer identifiers, rename products, structure variants differently, sell multipacks, create exclusive bundles, or describe the same item using different attributes.

Product matching resolves that identity problem. It determines whether two listings represent the same product, different variants of the same product, different pack configurations, comparable substitutes, or unrelated items.

That distinction matters because competitor data is only as reliable as the relationship between the products being compared. A price comparison built on a false match can mislead pricing teams, assortment analysis, promotion monitoring, marketplace intelligence, and automated repricing systems.

Why Product Matching Matters in Retail Market Intelligence

Pricing teams, category managers, merchandising teams, marketplace operators, and ecommerce analysts all need accurate comparison groups before they can interpret competitor data.

A competitor price is useful only when the competing offer is sufficiently comparable for the decision being made.

A 12-pack should not be treated as the same product as a 6-pack. A refurbished laptop should not be compared with a new one as though their prices were directly equivalent. A queen-size bed frame should not silently match a king-size version. A foundation shade should not match another shade simply because the brand and product line are identical.

These mistakes create false precision.

Deloitte’s 2026 retail industry outlook discusses retailers using tactics such as dynamic pricing, data-led promotions, and targeted assortment shifts to protect profitability. Those decisions require reliable external product comparisons, not merely large volumes of competitor data.

Why SKU Matching Fails Across Competitors

A SKU is usually an internal retailer identifier.

Retailer A may assign one SKU to a product family. Retailer B may create separate SKUs for every color and size. A marketplace may expose seller-specific offer identifiers rather than a single product-level SKU.

Even standardized identifiers are not always available.

Retailers may omit UPC, EAN, or GTIN values. Manufacturer part numbers may be incomplete or applied at the product-family level. Marketplace sellers may attach incorrect identifiers. Exclusive bundles or private-label products may have no direct equivalent at another retailer.

SKU matching is therefore useful when identifiers align, but ecommerce product matching needs additional evidence when they do not.

How Poor Matching Distorts Retail Decisions

Poor matching can affect more than a dashboard.

A false match can make a retailer appear overpriced when the competitor is actually selling:

  • a smaller pack;
  • an older generation;
  • a refurbished item;
  • a different variant;
  • a bundle with different contents;
  • an unavailable product;
  • a different seller offer.

Category teams may also infer assortment gaps that do not exist. Marketplace monitoring may attach the wrong seller activity to a product. Repricing systems may react to irrelevant prices.

The matching decision therefore needs to be treated as a controlled data assertion rather than a convenience step.

A Practical Product Matching Architecture

A scalable product matching workflow should not compare every listing against every other listing using one similarity score.

A more robust architecture separates the problem into stages:

candidate generation → normalization → identifier checks → similarity scoring → conflict detection → classification → manual review → persistence → revalidation

Each stage reduces uncertainty before a match enters downstream systems.

1. Generate Plausible Match Candidates

Candidate generation narrows the search space before detailed scoring begins.

Suppose one retailer has 500,000 products and another has 700,000. Comparing every possible pair would create an enormous number of combinations, most of which are obviously irrelevant.

Instead, teams can generate smaller candidate groups using signals such as:

  • brand;
  • category;
  • model family;
  • GTIN, UPC, or EAN;
  • manufacturer part number;
  • normalized title tokens;
  • size;
  • dimensions;
  • product type;
  • key specifications.

A Samsung television should not need to be compared with every pair of shoes in the competitor catalog.

Candidate generation makes high-volume ecommerce product matching more computationally practical and reduces the number of irrelevant comparisons entering later stages.

2. Start With Strong Identifiers Where Available

Strong identifiers provide some of the best evidence for exact product matching.

Useful identifiers may include:

  • GTIN;
  • UPC;
  • EAN;
  • ISBN;
  • manufacturer part number;
  • model number;
  • brand SKU;
  • retailer-exposed product ID.

GS1 defines the Global Trade Item Number, or GTIN, as an identifier for trade items and maintains global standards governing trade-item identification.

A matching system can therefore place significant weight on a valid shared GTIN or another reliable manufacturer identifier.

But identifier agreement should still be checked against product context.

Identifiers can be missing, mistyped, reused incorrectly, or attached to the wrong marketplace listing. A model number may refer to a broader product family rather than a specific configuration.

Identifier matching is powerful evidence, not an excuse to ignore conflicting attributes.

3. Normalize Titles, Brands, Units, and Attributes

When strong identifiers are missing, product comparison depends more heavily on normalized product information.

Titles may contain:

  • retailer-specific marketing text;
  • promotional phrases;
  • inconsistent punctuation;
  • abbreviations;
  • reordered specifications;
  • different unit conventions.

For example:

“ACME Stainless Steel Bottle 24 oz”

and:

“Acme 0.71L SS Water Bottle”

may describe the same underlying product even though the text strings are quite different.

Normalization can standardize:

  • brand names;
  • casing;
  • punctuation;
  • unit measurements;
  • sizes;
  • dimensions;
  • colors;
  • materials;
  • pack counts;
  • capacity;
  • model formats.

Important attributes vary by category, but common signals include:

  • brand;
  • product family;
  • model number;
  • size;
  • color;
  • material;
  • pack count;
  • dimensions;
  • capacity;
  • flavor;
  • shade;
  • condition;
  • compatibility.

Normalization makes these fields comparable without erasing differences that matter commercially.

4. Score Similarity and Detect Conflicts Separately

A product pair may share many characteristics while still containing one attribute that makes the match invalid.

That is why similarity scoring and conflict detection should be treated separately.

Two televisions might share:

  • brand;
  • model family;
  • product title;
  • display technology;

while differing in screen size.

A high text-similarity score should not override that conflict.

Likewise, two grocery listings may describe the same product but have different pack counts. They may be useful for unit-price comparison, but they should not be classified as the same pack-level product.

A good matching model therefore asks two questions:

  1. How much evidence supports the match?
  2. Does any critical attribute contradict it?

Critical conflicts may include:

  • different model numbers;
  • incompatible sizes;
  • different conditions;
  • conflicting generations;
  • different pack counts;
  • incompatible dimensions;
  • different variants where variant precision matters.

5. Use Confidence Thresholds Appropriate to the Use Case

Not every potential match should receive the same treatment.

A useful classification model might distinguish:

  • high-confidence automated matches;
  • ambiguous matches requiring review;
  • rejected matches.

Illustrative logic could look like this:

PRODUCT_MATCH_RULES = {

    "required_fields": ["brand", "normalized_title", "category"],

    "auto_match_threshold": 0.95,

    "manual_review_threshold": 0.82,

}



def classify_product_match(candidate):

    missing = [

        field

        for field in PRODUCT_MATCH_RULES["required_fields"]

        if not candidate.get(field)

    ]



    if missing:

        return {

            "match_status": "review",

            "reason": "missing_required_fields",

            "fields": missing,

        }



    if candidate.get("attribute_conflict") is True:

        return {

            "match_status": "not_matched",

            "reason": "blocking_attribute_conflict",

        }



    if (

        candidate.get("identifier_match") is True

        and candidate.get("match_score", 0)

        >= PRODUCT_MATCH_RULES["auto_match_threshold"]

    ):

        return {

            "match_status": "matched",

            "reason": "identifier_and_attributes_aligned",

        }



    score = candidate.get("match_score", 0)



    if score >= PRODUCT_MATCH_RULES["auto_match_threshold"]:

        return {

            "match_status": "matched",

            "reason": "high_confidence_score",

        }



    if score >= PRODUCT_MATCH_RULES["manual_review_threshold"]:

        return {

            "match_status": "review",

            "reason": "ambiguous_match",

        }



    return {

        "match_status": "not_matched",

        "reason": "low_confidence",

    }

This is illustrative rather than production software. The important principle is that confidence should lead to different operational outcomes.

High-confidence candidates can proceed. Ambiguous pairs move to review. Weak or conflicting candidates are rejected.

Precision and Recall Matter

Matching quality cannot be judged by match rate alone.

Two concepts are particularly useful:

Precision asks:

Of the products classified as matches, how many were actually correct?

Recall asks:

Of all the true matches that existed, how many did the system successfully find?

The appropriate tradeoff depends on the workflow.

Automated Repricing

For automated repricing, precision is usually critical.

A false match could cause a pricing engine to react to the wrong competitor product.

It may therefore be reasonable to leave some products unmatched rather than automate a comparison that is uncertain.

Assortment Discovery

For exploratory assortment analysis, teams may accept a broader candidate set.

Higher recall can be useful when analysts want to discover potential substitutes or competitor products, provided lower-confidence relationships remain clearly labeled or move through review.

The same matching model does not need one universal threshold for every business use case.

Exact Match, Variant Match, Pack Comparison, and Substitute Match

Ecommerce product matching should preserve the type of relationship between two listings.

Exact Match

An exact match means the listings represent materially the same trade item or product configuration.

This is common with branded CPG, electronics, books, appliances, and other products with stable manufacturer identifiers.

Variant Match

Two listings may belong to the same parent product but represent different variants.

Examples include:

  • size;
  • color;
  • shade;
  • finish;
  • storage capacity;
  • voltage;
  • configuration.

One retailer may combine every variant on one product page while another creates separate URLs.

The matching model should identify both the parent relationship and the specific variant where the business workflow requires that detail.

Pack-Equivalent Comparison

A 24-count pack and a 12-count pack should not be classified as the same exact product.

They may still be comparable for a specific analysis if:

  • the underlying product is equivalent;
  • unit quantities are known;
  • relevant attributes align;
  • the comparison is explicitly normalized to unit price.

That is a comparison relationship, not an exact product identity.

Preserving that distinction prevents unit normalization from accidentally turning different commercial products into identical matches.

Bundle or Configuration Match

Retailers may add accessories, services, subscriptions, installation materials, warranties, or promotional items.

An electronics bundle containing a laptop, case, and software subscription is not necessarily equivalent to the laptop sold alone.

The relationship may need to be classified as:

  • exact bundle match;
  • partial bundle overlap;
  • non-comparable configuration.

Comparable or Substitute Product

Some categories require comparison even when no identical product exists.

Furniture, private-label products, apparel, home decor, and other less-standardized categories often require similarity matching.

Potential dimensions can include:

  • category;
  • dimensions;
  • materials;
  • features;
  • style;
  • use case;
  • price range;
  • visual similarity.

These relationships should be explicitly labeled as comparable or substitute matches rather than exact matches.

Handling Variants Correctly

Variants are one of the most common sources of false matches.

A competitor may list one parent product while another retailer creates separate records for each variation.

Matching may need to account for:

  • size;
  • color;
  • finish;
  • shade;
  • flavor;
  • storage;
  • capacity;
  • dimensions;
  • compatibility.

A matching system should avoid allowing strong title similarity to override a commercially meaningful variant difference.

A beauty foundation in “warm honey” should not become the same offer as “matte beige” simply because the brand and product line match.

A 128 GB phone should not match a 512 GB configuration as an exact item.

Parent-product similarity and exact commercial equivalence are different relationships.

Handling Bundles and Multipacks

Bundles and multipacks often defeat simple SKU or identifier comparison.

Examples include:

  • two-unit grocery packs;
  • beauty gift sets;
  • electronics bundles;
  • tool kits;
  • contractor packs;
  • furniture sets.

The matching system should identify whether the observed listing represents:

  • a single item;
  • multipack;
  • bundle;
  • kit;
  • promotional configuration.

The correct treatment then depends on the analytical purpose.

For pricing analysis, teams might normalize some multipacks to unit price.

For exact product monitoring, the same multipacks should remain distinct products.

False-Match Prevention

In many pricing and automation workflows, false matches are more damaging than missed matches.

A missed match creates an information gap.

A false match creates incorrect information that appears trustworthy.

Block Critical Attribute Conflicts

Certain differences should automatically block or downgrade potential matches.

Examples include:

  • conflicting model numbers;
  • different sizes;
  • different product generation;
  • incompatible dimensions;
  • different condition;
  • conflicting pack counts;
  • different shade or color where the variant matters.

A 55-inch television should not become an exact match to a 65-inch model simply because both belong to the same product family.

Conflict rules are particularly important when similarity models are heavily influenced by titles or images.

Route Ambiguous Pairs to Manual Review

Manual review is useful when the evidence is neither clearly sufficient nor clearly contradictory.

A review interface can present:

  • original titles;
  • normalized titles;
  • brand;
  • identifiers;
  • attributes;
  • images;
  • pack count;
  • dimensions;
  • category;
  • prices;
  • source URLs;
  • confidence score.

Reviewers can then approve or reject the relationship.

Those decisions should be stored so they can inform future matching rules, validation datasets, model training, or repeated decisions on the same product pairs.

Storing review decisions does not automatically make a system learn. The implementation must explicitly use those decisions.

Preserve Match Evidence

Product relationships should remain auditable.

Useful evidence can include:

  • source listing IDs;
  • source URLs;
  • identifiers used;
  • attributes compared;
  • confidence score;
  • blocking conflicts;
  • match type;
  • review decision;
  • approval timestamp;
  • last validation date.

OECD’s work on data governance discusses broader principles around trustworthy, responsible, and well-governed data use. While it does not prescribe e-commerce product-matching workflows specifically, maintaining match provenance and review evidence applies those principles to retail intelligence systems that influence business decisions.

Category-Specific Matching Rules

One universal similarity model is rarely enough across retail.

Different categories need different definitions of what makes two products equivalent.

Grocery and CPG

Important attributes may include:

  • brand;
  • flavor;
  • size;
  • unit of measure;
  • pack count;
  • formulation;
  • organic or dietary characteristics.

Fashion and Apparel

Important attributes may include:

  • brand;
  • style;
  • size;
  • color;
  • gender or target segment;
  • season;
  • collection.

Beauty and Personal Care

Important attributes may include:

  • product line;
  • shade;
  • formulation;
  • size;
  • finish;
  • product type.

Electronics

Important attributes may include:

  • manufacturer;
  • model number;
  • generation;
  • storage;
  • screen size;
  • condition;
  • bundle contents;
  • compatibility.

Furniture and Home Improvement

Important attributes may include:

  • dimensions;
  • material;
  • finish;
  • configuration;
  • pack count;
  • room type;
  • technical specifications;
  • visual similarity.

Product matching software should allow matching rules and attribute importance to vary by category.

A single title-similarity score cannot reliably represent all of these relationships.

Product Matching Drift and Revalidation

A match that was correct six months ago may not remain correct indefinitely.

Retailers can:

  • rename listings;
  • replace images;
  • split variants;
  • consolidate pages;
  • launch new generations;
  • change pack sizes;
  • introduce bundles;
  • retire products;
  • restructure catalog categories.

Matching therefore needs ongoing revalidation.

Potential drift signals include:

  • major title changes;
  • new identifier conflicts;
  • attribute changes;
  • unusual price divergence;
  • changed pack counts;
  • category movement;
  • source-page restructuring.

A materially changed listing should trigger review rather than silently inherit an old match forever.

Quality Assurance for Product Matching

Match coverage alone is not a sufficient quality metric.

A system that matches 99% of the catalog but introduces large numbers of false positives may be worse than one that leaves more products unresolved.

Useful QA measures can include:

  • precision;
  • recall;
  • exact-match coverage;
  • unresolved candidate rate;
  • manual-review rate;
  • false-positive rate;
  • false-negative rate;
  • match drift rate;
  • category-level accuracy.

Sampling should include:

  • approved matches;
  • rejected candidates;
  • manual-review decisions;
  • long-standing matches;
  • recently changed listings.

This helps detect both overmatching and undermatching.

Integrating Product Matches Into Pricing and BI Systems

The match itself should become structured data.

A downstream record may include:

  • internal product ID;
  • competitor product ID;
  • match type;
  • confidence score;
  • source;
  • product attributes;
  • observed price;
  • promotion;
  • availability;
  • seller;
  • timestamp.

The relationship type and confidence should travel with the downstream signal.

A high-confidence exact match may be appropriate for automated repricing.

A lower-confidence comparable match may still be useful for category analysis but inappropriate for autonomous pricing decisions.

Deloitte’s analysis of retail and consumer trends discusses retailers using predictive analytics for inventory, sourcing, and pricing decisions. Reliable product relationships improve the quality of the competitor data that can feed those workflows.

What Product Matching Enables

Reliable product matching turns fragmented competitor catalogs into structured retail intelligence.

Pricing and Repricing

Pricing teams can compare equivalent products and understand relative market position.

Where automated repricing is used, confidence thresholds should be strict enough that uncertain matches do not trigger automatic responses.

Assortment Gap Analysis

Category teams can compare competitors’:

  • brands;
  • variants;
  • sizes;
  • colors;
  • bundles;
  • product types.

This helps reveal where competitor assortments differ even when catalog naming structures do not align.

Promotion Monitoring

Once the product relationship is established, teams can compare promotion status across retailers without confusing different products or variants.

Availability Monitoring

Matched products can also support cross-retailer availability analysis.

The match still needs to preserve the relevant variant and pack context. An out-of-stock signal on the wrong configuration should not affect decisions about another product.

Marketplace Intelligence

Product matching can connect seller offers to the appropriate underlying product, helping teams distinguish:

  • product identity;
  • seller identity;
  • individual offers;
  • price;
  • fulfillment;
  • availability.

This is especially important where one marketplace product has many active sellers.

How to Evaluate Product Matching Software or Workflows

Teams evaluating product matching software or internal matching pipelines should ask:

  1. How are match candidates generated?
  2. Which identifiers are used?
  3. How are titles and attributes normalized?
  4. Which fields can block a match?
  5. Are exact and comparable matches represented separately?
  6. How are confidence thresholds determined?
  7. Can thresholds vary by use case?
  8. How are ambiguous matches reviewed?
  9. Is match evidence preserved?
  10. How are old matches revalidated?
  11. How are precision and recall measured by category?
  12. Can downstream systems access match type and confidence?

These questions reveal more about matching quality than a headline match-rate percentage alone.

Conclusion: Product Matching as the Identity Layer of Retail Intelligence

Product matching is the identity layer behind reliable retail market intelligence.

It allows ecommerce teams to compare competitor catalogs even when SKUs, product IDs, titles, variants, packs, bundles, and catalog structures do not align.

Strong matching does not depend on one identifier or one similarity score. It combines candidate generation, standardized identifiers where available, normalized attributes, category-specific rules, conflict detection, confidence thresholds, manual review, QA, and ongoing revalidation.

The most important distinction is also one of the simplest: not every similar product is the same product.

Exact products, variants, pack-equivalent comparisons, bundles, and substitutes represent different relationships and should remain different in the data.

When those relationships are modeled correctly, competitor catalogs become considerably more useful for pricing, assortment, promotion, marketplace, availability, and BI workflows.

For teams reviewing existing product-comparison workflows, the most useful starting point is to examine identifier coverage, candidate-generation logic, match precision, unresolved cases, review processes, drift monitoring, and how match confidence is carried into downstream decisions.