Variants and family variants
A safety glove in five sizes and three colours is one product that varies along two dimensions. Modelling it as fifteen unrelated products is the mistake that turns a one-line description change into fifteen edits, of which somebody will do eleven.
The model
- Product model: the shared level. Description, manufacturer, certificates, images, marketing copy.
- Axes: the dimensions along which it varies.
size,colour. - Variant products: the sellable articles, one per combination. SKU, barcode, and anything that differs per size.
A family variant is the definition: it belongs to a family and declares the axes plus which attributes sit at which level. A product model splits into variants along the axis attributes; everything above a level is inherited. Two levels at most.
Deciding what lives where
The rule: if the value is the same for every variant, it belongs on the model.
| Attribute | Level | Why |
|---|---|---|
description | Model | Same glove, whatever the size |
manufacturer | Model | Same |
certification | Model | Same |
size | Variant (axis) | This is what varies |
colour | Variant (axis) | This is what varies |
sku | Variant | Each sellable article needs its own |
ean | Variant | Per article |
weight | Variant | A size 11 glove weighs more than a size 7 |
Weight is the interesting one. It is not an axis, but it does differ per variant, so it lives at the variant level without being part of the combination grid.
Create a family variant
- Go to PIM › Data model › Family variants.
- Select New family variant.
- Choose the Family it belongs to.
- Enter a Code and the Labels (i18n).
- Under Variation axes, add one entry per level, outermost first. For each
level, name the Axis attributes (the single-select attributes along
which this level splits,
sizeandcolourfor the glove) and the Attributes at this level (everything else that is entered per variant, such assku,eanandweight). - Attributes you do not list on any level stay on the model.
- Save.
Create a product model and its variants
- Go to PIM › Products and select New product.
- Set Kind to Model, choose the Family and the Family variant. Enter the model's SKU.
- Fill in the shared attributes. This is the work you now do only once.
- For each combination you sell, create another product with Kind set to Variant and Parent (model) pointing at the model. Enter its own SKU and the values of the axis attributes and the variant-level attributes.
You do not have to create every mathematical combination. Five sizes and three colours is fifteen possible variants, but if you only stock nine of them, create nine. The Variants column in the product list shows how many each model has.
When not to use variants
Variants are for products that are the same thing in different executions. They are not for:
- Accessories and spare parts: those are separate products linked by an association type.
- Products that merely look similar: two fittings from different manufacturers are two products.
- Packaging units: 1 piece vs. a box of 100 is usually a pricing and logistics question. Model it as a unit of measure unless the box has its own SKU and stock.
Changing variants later
| Change | What it means |
|---|---|
| Add a value to an existing axis (a sixth size) | Routine. Add the option to the attribute, then create the new variant products. |
| Add an axis to a family variant that already has products | A structural change. Every existing variant now needs a value for the new axis. Plan it. |
| Move an attribute between the model and the variant level | Values already entered stay where they were entered; the products of that family variant need to be reviewed. Plan it. |
| Change a variant's Parent (model) | The variant inherits the shared values of the other model from then on. Its own values and its SKU stay as they are. |
Next
- Categories — where buyers find all this.