Stock Up

Diminishing Utility #2 – Repeat Purchase

The previous workflow, MS-194 Diminishing Marginal Utility, modeled how Customers might simultaneously purchase a variety of Products from a Category.

This Market Simulation again looks at the Law of Diminishing Marginal Utility. But in this case, the workflow only models Customers buying several identical Products. Here, Customers are only looking for quantity – not variety.

This Case Study provides a high-level overview of the workflow without detailed explanation. It assumes you are already somewhat familiar with KNIME and Market Simulation. If not, start by reviewing the Building Blocks and Community Nodes.

Competitive Story

This Market Simulation is designed to model supermarket Customers stocking-up on soap for use over the foreseeable future. These Customers are not interested in variety and will only buy their most preferred soap brand. But some Customers will stock-up by buying many boxes of soap, while other Customers may just buy a single box of soap.


There are 10,000 Customers in this Market and 6 types of soap:

  1. Camay,
  2. Dial,
  3. Ivory,
  4. Nivea,
  5. Pears, and
  6. Zest.

These soaps are all Priced at $3.00 and they all offer the same average Willingness to Pay (WTP)  of 5.0.

The Customers make 10 purchase decisions. They may choose to stock-up on only their favorite soap – they may not switch brands. But Customers may stop buying after any iteration.

Product Array

Customers make 10 selections from 6 types of soap (plus ‘No Sale’).

Track Purchased

Each Customer’s original ‘Purchased’ Product is stored.

WTP Matrix

The WTP Matrix tracks the diminishing value soap over time.

Market Loop

Within each of the 10 iteration loops, Customers decide which soap to purchase. The ‘Scale Purchased’ node will then reduce their WTP for that soap by a fixed rate of $1.00 each iteration. This means during the next loop iteration, the Customer is less likely to buy more soap.

Unlike the previous workflow, a second ‘Scale Purchased’ node will zero the WTP for all of the non-purchased soaps. This ensures that the Customer cannot switch to a different brand the next loop iteration.

The final grouped results show that Customers typically stock-up by buying between 4 and 7 boxes of soap.

Diminish Purchased

The WTP of the purchased soap is reduced by a fixed $1.00.

Zero Others

The WTP of all non-purchased soaps is set to zero.

Final Results

Most Customers buy between 4 and 7 boxes of soap.