Product Relationship Types: SAME_AS, EQUIVALENT_TO, COMPATIBLE_WITH
SAME_AS, VARIANT_OF, EQUIVALENT_TO, COMPATIBLE_WITH, REPLACED_BY and the rest: what each product relationship means, where the lines are, and why the distinctions have real consequences in distribution.
SAME_AS means two records are the identical product. EQUIVALENT_TO means a different manufacturer’s product that is technically interchangeable. COMPATIBLE_WITH means it works together with another product but is not interchangeable. VARIANT_OF, PACK_OF, REPLACED_BY, ACCESSORY_OF, COMPONENT_OF, SUPPLIED_BY and DOCUMENTED_BY cover the rest of a distribution catalog.
SAME_AS is not EQUIVALENT_TO is not COMPATIBLE_WITH. In a distribution catalog, confusing them is the difference between a correct substitution and a returned order, so it is worth being precise about what each relationship claims.
A catalog’s value is not only in its products. It is in the relationships between them. Those relationships let a counter rep offer a substitute, a webshop cross-sell an accessory, a procurement system honour a supersession and an AI agent answer “what else works here?”. But a relationship is only useful if its meaning is exact. Below is the working vocabulary Claro uses, and the lines between the ones people most often blur.
The vocabulary
| Relationship | Meaning | Typical action |
|---|---|---|
| SAME_AS | Two records represent the same product | Merge into one identity, dedupe, compare price |
| NOT_SAME_AS | A near-miss that must never be merged | Block merging, skip re-review |
| VARIANT_OF | A specific configuration of a parent product | Group under one family, show options |
| PACK_OF | A packaging or quantity relationship to a base unit | Correct unit of measure and price per unit |
| REPLACED_BY | Manufacturer successor: the part supersedes this one | Auto-supersede, avoid quoting discontinued parts |
| EQUIVALENT_TO | Technically interchangeable, different manufacturer | Offer as a substitute, cross-reference |
| COMPATIBLE_WITH | Can be used together, not interchangeable | Cross-sell, configuration |
| ACCESSORY_OF | An accessory to a parent product | Cross-sell, bundles |
| COMPONENT_OF | Part of a component hierarchy | Bill of materials, spares |
| SUPPLIED_BY | A commercial source for the product | Sourcing, price comparison |
| DOCUMENTED_BY | Evidence relationship to a document | Audit, provenance |
The three that get confused
These three carry the most operational risk because they look similar and mean very different things.
SAME_AS: the identical product, just different records. SKF 6204-2RS in Supplier A’s feed and 6204 2RS in Supplier B’s feed are SAME_AS. You can merge them into one identity and buy from whichever is cheaper, with no functional difference.
EQUIVALENT_TO: a different manufacturer’s product that is technically interchangeable for the application. SKF 6204-2RS and NSK 6204DDU are both sealed deep-groove bearings to the same ISO boundary dimensions (20 × 47 × 14 mm). They are EQUIVALENT_TO: usable as a substitute, but not the same product. Merging them would erase a real manufacturer distinction a customer may require.
COMPATIBLE_WITH: works together with another product, not in place of it. A 6204 bearing is COMPATIBLE_WITH a housing bored for 47 mm. Offering the housing as a substitute for the bearing because they are “related” is exactly the error this relationship exists to prevent.
Side-by-side
| SAME_AS | EQUIVALENT_TO | COMPATIBLE_WITH | |
|---|---|---|---|
| Same manufacturer and part? | Yes | No, usually a different manufacturer | No, a different product |
| Can replace the other? | Yes, identical | Yes, with checks | No |
| Merge records? | Yes | No | No |
| Example | 6204-2RS and 6204 2RS | SKF 6204-2RS and NSK 6204DDU | 6204 bearing and a 47 mm bore housing |
Close calls: variant, pack and replacement
VARIANT_OFis notSAME_AS. ABBAF16-30-10-13is a 100–250 V AC/DC coil version andAF16-30-10-11a 24–60 V AC / 20–60 V DC coil version of the same AF16 family. Both are variants of the AF16 range; neither is the other. Only the coil code differs, which is why a one-digit difference must not be merged.PACK_OFchanges the price maths. A box of 10 and a single unit share a GTIN family but not a price. Link them withPACK_OFand a quantity.REPLACED_BYis the manufacturer’s call. A successor part that supersedes a discontinued one is not the same as an equivalent from a competitor. Keep them apart.
Operational consequences
Each relationship drives a different action, which is why precision pays.
SAME_AS: deduplication, price comparison, single source of truth.REPLACED_BY: automatic supersession so you do not quote a discontinued part.EQUIVALENT_TO: substitution offers and competitive cross-references.COMPATIBLE_WITHandACCESSORY_OF: cross-sell and configuration (“you will also need…”).PACK_OF: correct unit-of-measure and price-per-unit maths.
Positive and negative edges
Relationships are not only assertions. They are also denials. A NOT_SAME_AS edge records a near-miss that must never be merged. Storing the rejection is how the catalog stops re-asking a question it has already answered. See product identity graph for how these edges persist.
Every relationship carries its evidence
In Claro, no edge is bare. Each SAME_AS, EQUIVALENT_TO or REPLACED_BY carries the source that justified it and a confidence score, so a substitution can be defended and a wrong one traced and corrected. That is the ontology and provenance working together, and it is the backbone of the Product Identity & Evidence Graph.
A rule of thumb for modelling
- Start from the decision. What action will this edge trigger (merge, substitute, cross-sell, supersede)?
- Choose the narrowest relationship that supports the action.
- Require evidence proportional to the cost of being wrong: a substitution needs more than a cross-sell.
- Record the near-misses.
Mapping editorial labels to the vocabulary
Teams often describe relationships in plain-language classes. These map onto the working vocabulary as follows. The left column is conceptual; the right column is what you store.
| Editorial class | Stored as | Notes |
|---|---|---|
| Identical item (same trade item) | SAME_AS | Merge. Includes the same item from two suppliers; the supplier offers stay separate via SUPPLIED_BY. |
| Same underlying part, different trade item | PACK_OF (quantity) or VARIANT_OF | Same manufacturer part sold as a single unit and a case: PACK_OF. See the worked examples linked below this table. |
| Technically equivalent | EQUIVALENT_TO | Different manufacturer, matching identity-critical attributes. Not a merge. |
| Compatible substitute (conditional) | EQUIVALENT_TO with conditions, directed | Substitutable only when stated conditions hold; record the conditions on the edge. |
| Approved alternative | EQUIVALENT_TO with an approval source | An approval by the buyer or a named engineer is evidence, not a new relationship type. |
| Superseded / replaced-by | REPLACED_BY | Manufacturer successor. Directed from old to new. |
| Offer / packaging relationship | SUPPLIED_BY and PACK_OF | Price, stock and unit of measure belong to the offer and pack level. |
| Near-miss | NOT_SAME_AS | Same size or similar name, different specification. Example: 6205-2RS vs 6205-2Z. |
| Unknown | No edge, review task | Do not guess. Record the open question and the evidence gap. |
For the identity-level distinctions behind this mapping, see variant vs duplicate vs replacement. Worked examples: same MPN, different pack sizes (PACK_OF) and 6205-2RS vs 6205-2Z (NOT_SAME_AS, VARIANT_OF).
Directed and symmetric edges
| Relationship | Direction | Reading |
|---|---|---|
| SAME_AS | Symmetric | A is B, so B is A |
| NOT_SAME_AS | Symmetric | A is not B, so B is not A |
| COMPATIBLE_WITH | Symmetric | They work together |
| EQUIVALENT_TO | Directed in practice | A can replace B under conditions; do not assume B can replace A |
| VARIANT_OF | Directed | Variant to parent family |
| PACK_OF | Directed | Pack to base unit, with a quantity |
| REPLACED_BY | Directed | Old to successor |
| ACCESSORY_OF, COMPONENT_OF | Directed | Child to parent |
| SUPPLIED_BY, DOCUMENTED_BY | Directed | Product to source or document |
EQUIVALENT_TO is the one to watch. Technical interchangeability is often one-directional, so the safe default is to store it as a directed edge from the candidate substitute to the part it can replace.
Evidence criteria per edge
| Edge | Minimum evidence | Cost of being wrong |
|---|---|---|
| SAME_AS | Same resolved manufacturer and normalized MPN, or matching GTIN at the same pack level, and no identity-critical contradiction | High: a false merge spreads to every downstream system |
| NOT_SAME_AS | A documented identity-critical difference, such as seal type or coil voltage | Low: it only blocks a merge |
| VARIANT_OF | Shared family designation plus the differing variant attribute named | Medium |
| PACK_OF | Explicit quantity per pack and pack level from the supplier or manufacturer | Medium: wrong price per unit |
| REPLACED_BY | Manufacturer announcement or datasheet naming the successor | High: wrong or missing supersession |
| EQUIVALENT_TO | Identity-critical attributes compared from authoritative sources, each marked agree, differ or unknown | High: wrong substitution |
| COMPATIBLE_WITH | Datasheet, drawing or fit specification | Medium |
A substitution needs stronger evidence than a cross-sell, and an unknown attribute counts against an EQUIVALENT_TO edge, not for it.
Directional and conditional substitutability
Suppose the successor part meets or exceeds every parameter of its predecessor. Then the successor can replace the predecessor. The reverse fails wherever the application uses the extra capability. A competitor part judged equivalent to the successor is not automatically a replacement for the predecessor either: the judgement was made against the successor’s specification, and the conditions that make it valid must travel with the edge.
Worked example (illustrative / synthetic)
Three invented parts: OLD-100 (Maker A, discontinued), NEW-100 (Maker A, its announced successor) and ALT-100 (Maker B). No real products are implied.
| From | Edge | To | Evidence | Condition |
|---|---|---|---|---|
| OLD-100 | REPLACED_BY | NEW-100 | Maker A successor notice (synthetic) | None; manufacturer-declared |
| ALT-100 | EQUIVALENT_TO | NEW-100 | Datasheet comparison, all identity-critical attributes agree (synthetic) | Valid for the NEW-100 specification |
| ALT-100 | EQUIVALENT_TO | OLD-100 | Derived: ALT-100 meets NEW-100, which covers OLD-100 | Only if the OLD-100 application stays within OLD-100 limits |
| Can this replace that? | OLD-100 | NEW-100 | ALT-100 |
|---|---|---|---|
| OLD-100 | n/a | Only if the application does not use NEW-100's extra capability | Not asserted |
| NEW-100 | Yes (successor) | n/a | Yes, for the NEW-100 specification |
| ALT-100 | Yes, with the condition above | Yes | n/a |
The graph is a chain with a one-directional meaning. The third edge is derived, not observed, so it should carry lower confidence and a flag showing it was inferred. Treat inferred substitution as a review item rather than an automatic offer.
Related
Glossary
Product Identity Graph
How these edges persist across ingestions.
Glossary
Product Ontology
The schema these relationships belong to.
Article
Matching Should Produce Knowledge
What a match should emit.
Article
Your Catalog Is Already a Graph
Why relationships belong in the data model.
Playbook
Group Product Variants
Putting VARIANT_OF into practice.
Guide
Product Identity & Evidence Graph
The full model.
Glossary
Variant vs Duplicate vs Replacement
The identity decision behind these edges.
Guide
Same MPN, Different Pack Sizes
PACK_OF in a worked example.
Comparison
6205-2RS vs 6205-2Z
NOT_SAME_AS and VARIANT_OF in a worked example.
FAQ
What is the difference between SAME_AS and EQUIVALENT_TO?
SAME_AS means two records describe the identical product, so they can be merged. EQUIVALENT_TO means a different manufacturer’s product is technically interchangeable for the application, so it can be offered as a substitute but must stay a separate product.
What does COMPATIBLE_WITH mean?
COMPATIBLE_WITH means two products can be used together without one replacing the other, for example a bearing and a housing bored for it. It is used for cross-sell and configuration, never for substitution.
When should I use VARIANT_OF instead of SAME_AS?
Use VARIANT_OF when two products are different configurations of the same family, such as two contactors that differ only in coil voltage. They share a parent but are not the same product, so they must not be merged.
What is a NOT_SAME_AS relationship for?
It records a near-miss that must never be merged. Keeping it prevents a later run from merging the pair and prevents reviewers from re-investigating a question already answered.
Why do relationship types need evidence?
Because each one triggers a different action, and a wrong substitution or supersession has a cost. A source and a confidence score let you defend the relationship, and trace and correct it if it is wrong.
Is a replacement the same as an equivalent?
No. REPLACED_BY is the manufacturer’s own successor statement and applies to the same maker’s part. EQUIVALENT_TO is a technical interchangeability judgement across manufacturers. Keep them as separate edges because they have different sources and different risks.
Is substitution always two-way?
No. A successor can cover everything its predecessor did and more, so it can replace the old part, while the old part cannot replace the successor wherever the extra capability is used. Store substitution as a directed edge with conditions, not as a symmetric one.
What evidence does an EQUIVALENT_TO edge need?
A comparison of the identity-critical attributes for the product family from authoritative sources such as manufacturer datasheets, with each attribute recorded as agreeing, differing or unknown. Matching dimensions or similar descriptions alone is not enough.
Claro
Stop maintaining this by hand
Claro keeps product and supplier data trusted as catalogs change — matching, deduplication, enrichment, and validated write-back into the systems you already run.
Book a demo