Node Description

Bundle Generator Node

The ‘Bundle Generator’ node adds a new Bundled Product to both the ‘Output Product Array’ and the ‘Output WTP Matrix’. The Willingness To Pay (WTP) each individual Customer has for the Bundle is a scaled-sum of the WTP the same Customer has for each of the selected Products within the Bundle.

Generating Product Bundles can help the user explore ways to increase the sales of an existing range of Products. The Bundle should increase the total Quantity sold without merely providing a discount to existing Customers as this Cannibalization may cause total Profitability to decrease.

How to scale individual Customer WTP values depends upon how much additional value the Bundle provides to Customers. In most cases, Customers will suffer from Diminishing Marginal Utility. That is, each additional Product added to the Bundle is less-and-less interesting to Customers. However, in some cases, Bundling together Products can increase the Marginal Value of each. For example, a Customer buying a Bundle of stereo equipment will be confident that each of the components will work together.

There are two ways the Bundle Generator node can scale WTP values:

  1. by applying a general ‘Scale Scenario’ rule to the simple sum of Product WTP values; and
  2. by applying Booster/Diminisher adjustment factors to individual Products within the Bundle depending upon their relative value to Customers, and other Attributes.

Applying a general ‘Scale Scenario’ rule is useful when the value of the Bundle will be some fraction of the sum of included Products. For example, Customers may, on average, value the Bundle 15% less than the individual Products. Note that firms may still be willing to sell this Bundle at a 15% discount to encourage Customers to buy additional Products that they wouldn’t otherwise buy.

Applying additional Booster/Diminisher adjustment factors can be a useful way to fine-tune the scaling. For example, if a Bundle includes two Products from the same Category then the Customer may more heavily discount the value of the second Product as they’ll already be able to consume the value of the first Product.

The Booster/Diminishers work differently than the ‘Scale Scenario’ rule. The Scale Scenario starts with an aggregated WTP sum and then scales it. The Booster/Diminishers work at a deeper level by looking at the individual WTP value of each Customer for each Product. For example, imagine a Product that you only need to buy once. If you came across a bundle with two of them, then the second Product is worthless to you. This situation would be better handled by a Booster/Diminisher. Setting the ‘All Products Booster / Diminisher’ to 0.0 would reduce each Customer’s WTP for the Bundle down to the level of just the most valuable Product within the Bundle – eliminating the value of all other Products. Note that the ‘Bundle Generator’ node can apply both the Booster/Diminishers and the ‘Scale Scenario’ rule, but the Booster/Diminishers are applied first.

The act of Bundling, itself, already changes the nature of the Product Differentiation offered without any scaling. Bundling has the effect of averaging the value a Customer places upon a set of Products. For example, if a Customer has a relatively high WTP for the first Product but a low WTP for the second Product, then the Customer’s aggregated WTP for the two Products will be closer to the overall market average. In terms of Product Differentiation, Bundling increases Vertical Differentiation (that is, the mean of the summed WTP) but reduces the relative Strange Differentiation (the standard deviation of the summed WTP) and reduces Horizontal Differentiation (the correlation difference to other Products).

This Community Node documentation assumes you have already downloaded the open-source KNIME analytics platform and installed the free Market Simulation (Community Edition) plugin. If not, start by returning to Getting Started.

Mixed Bundle / 3-Pack

Several Bundles can be generated simultaneously by specifying a list of Bundle Names along with included Product Names in the optional ‘Input Bundle Products’ table. Alternatively, several Bundle Generator nodes can be cascaded one after the other, with each generating just a single Bundle as specified by the ‘Products to Include’ column selector.


Product Array

The ‘Input Product Array’ contains┬áthe set of existing Products in the Market. Each row corresponds to a Product, with the name of each Product also existing in the ‘Input WTP Matrix’. These Input Products are used to create the Bundles.

In the ‘Input Product Array’ above, there are 3 Input Products (A, B, and C) along with details of their Cost, Price, and Capacity. If Quantity were included then the Quantity of the generated Bundle could not exceed the Quantity sold of any individual Product. The Brand and Category are used to boost/diminish the value of similar Products.

Bundle Products

The ‘Input Bundle Products’ is an optional input. If the user wishes to create more than one Bundle, then the names of the Bundles and the names of the selected Products within each should be specified here. Otherwise a single Bundle can be generated from the options in the Configuration Dialog.

In this case, two Bundles will be generated. Bundle ABC is a mixed bundle comprising of three different Input Products: A, B, and C. Bundle AAA is a 3-Pack comprising of three units of a single Input Product: A.

WTP Matrix

The last input is the Willingness To Pay (WTP) Customer Distribution matrix for each Product column in the Market by each Virtual Customer row. The total number of Virtual Available Customers is equal to the number of rows in the WTP Matrix. If the Bundled Products already have a column in the ‘Input WTP Matrix’ then it will be overridden. In addition to each of the Product’s WTP Customer Distributions, this ‘Input WTP Matrix’ can also contain two types of ‘Dynamic Cost’ Distributions that depend upon the Customers who Purchase the Product: the Cost To Serve (CTS) and the Cost To Make (CTM). These ‘Dynamic Costs’ are simply added together when creating a Bundle.



If the optional ‘Input Bundle Products’ table is not connected then the ‘Bundle Generator’ node allows the user to select which Input Products to include in the generated Bundle.

The ‘Bundle Scale Scenario’ is the method by which the Customer values in the Bundle’s output WTP Distribution will be changed. The WTP of the Bundle is first set to the sum of the selected Product Distributions found in the ‘Input WTP Matrix’. Each Customer value can then be raised/lowered by a fixed or variable amount, or can trend towards a value.

In this case, the selected option is ‘Multiply by Fixed Rate then Add Fixed Value’. This will multiply the individual Customer WTP value by the Fixed Rate of 0.5 set by the user. This will set each Customer’s WTP for the Bundle at half the sum of their WTP for the individual Products.

Booster / Diminisher

Boost or Diminish the WTP of all the Customers’ secondary Products – that is, all of the ranked Products after each Customer’s highest valued Product. Starting with the highest WTP Product for each Customer, the algorithm will go down the ranked list of Products and either Boost or Diminish the WTP value of each subsequent Product. If the Booster = 0.9 then the value of the Customer’s second Product in the Bundle will be reduced by 10% (WTP x 0.9). The Booster/Diminisher is applied exponentially, so the value of the Customer’s third Product will be reduced by 19% (WTP x 0.9 x 0.9), and the fourth Product by 27% (WTP x 0.9 x 0.9 x 0.9).

In this case, same-Brand Products included in the Bundle will have their value Boosted, whereas same-Category Products will have their value Diminished.

Price / Cost

The Price and Cost of the Bundle can be automatically calculated using all of the Prices found in the ‘Input Product Array’. Initially the Prices of all the Products found in the Bundle are added together. Then the Price of the Product Bundle Name found in the ‘Input Product Array’ can scale this sum. This Product Bundle Price can either: (a) override the sum, (b) add or subtract from the sum, or (c) be treated as a percentage rate and multiplied to the sum. For example, if the Prices of the selected Products found in the Bundle are $10, $20, and $30 and the Bundle Name Price is 0.25, then the final Price of the Bundle can be set to (10 + 20 + 30) x 0.25 = $15.

In this case, the name of the Bundle is not found in the ‘Input Product Array’ so all individual Product Prices are simply added together. The Bundle is then discounted to 80% of the Price sum.


Port-0 Product Array

The ‘Output Product Array’ is based upon the ‘Input Product Array’. If the Product Bundles were not already included in the ‘Input Product Array’ then they will be added to the ‘Output Product Array’.

Here both the Mixed Bundle ‘ABC’ and the 3-Pack ‘AAA’ has been added to the Product Array.

Port-1 WTP Matrix

The ‘Output WTP Matrix’ contains the original Willingness To Pay (WTP) Customer Distribution matrix for each Product, along with an additional column of WTP values for each new Bundle. The output WTP values in the new Bundle column are the scaled-sum of the selected Products included in each Bundle. The Cost To Serve (CTS) and Cost To Make (CTM) Dynamic Costs are also generated for the Product Bundles.

The Output WTP Matrix can be directly connected to a downstream ‘Simulate Market’ or ‘Profit Engine’ node. This would predict the degree by which the Product Bundle would cannibalize the original Products versus driving total Market Share.

Correlation Matrix

A downstream ‘Linear Correlation’ node can calculate the similarity of the Bundle versus the Input Products. As expected, the Mixed Bundle ABC is partially correlated with the Input Products A, B, and C. On the other hand, Customers perceive the value of the 3-Pack AAA to be perfectly correlated with the Input Product A.