Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Product Groups

Product Groups give products, that belong together, one identifier in order to be optimized together. This helps keeping price distances within the group logical.

Example

  • Aspirin Complex 20mg
  • Aspirin Complex 40mg
  • Aspirin Complex 60mg

Typical issue with product groups

The Prices of the products in a product group should be connected Example: If the price of "Aspirin Complex 20mg" is going down 10%, so should the price of "Aspirin Complex 40mg" to avoid a lower price per mg of the 20mg pack

Product Attribute data feed

To better handle product groups, we ask for the column "product_group_id" in the product attribute feed.

ColumnData TypesDescription
product_idTextUnique product identifier
product_group_idTextUnique group identifier

This data feed enables to optimize the group together.

Optimization: Example

This rule sets the bundle price at a multiple of the price of the individual products.

Example

Product NameProduct IDProduct GroupPrice Change
Aspirin Complex 20mg660020PG6600+13%
Aspirin Complex 40mg660040PG6600+13%
Aspirin Complex 60mg660060PG6600+13%

Further Details

Sometimes, you will have a logical product group like in our Aspirin example, but you still might want the prices to diverge, e.g. because you have separate suppliers for some of the products with independently changing purchase prices. In this case, if you still generally want to use the product group, we would recommend incorporating the supplier into the product group definition so the products with the same supplier can still move together.

The product group moving by the same percentage supersedes other rules if they should be at odds.

If you optimize a subset of the product group in a separate optimization, this will break the common pricing of the products, so be aware of that. If you intend a different steering for some products within a product group, you can achieve that by applying a different target steering within the same optimization.