Workflow Overview

The first two ‘Building Blocks’ workflows (BB-101 Simple Monopoly and BB-102 Monopoly Distributions) focused on Monopoly Markets where there was only one Competitor and one Product.

This workflow introduces three other simple types of Markets, and compares:

  • Monopoly Markets,
  • Commodity Markets,
  • Orthogonal Markets, and
  • Semi-Orthogonal Markets.

A Commodity Market is where several Competitors all sell identical Products.

An Orthogonal Market is where the Products are in the same Category, and are competing for the same Customers, but the Products are otherwise unrelated. Orthogonal means “statistically independent“.

The Semi-Orthogonal Market contains Products that share some similar characteristics, but also have some unique differentiation. These types of Markets are the most common.

This Building Blocks example 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.

Monopoly Market

This Market Simulation of a Monopoly Market comprises of one Competitor, one Product, and ten-thousand potential Customers.

Generate WTP

As in BB-101 Simple Monopoly the ‘Customer Distributions’ node creates a WTP Matrix for a single Product.


The WTP Matrix is a Normal Distribution with a Mean = 100 and Standard Deviation (SD) = 50.

WTP Statistics

The ‘Statistics’ node generates quick statistics for all Customer Distribution columns in the WTP Matrix.

Statistics Table

Distribution Statistics include Min, Max, Mean, SD, Variance, Skewness, Kurtosis, Overall Sum, # Missing, Median, Count, and an automatically generated Histogram.

Constant Value

The ‘Constant Value Column’ node adds a column with the value “Monopoly”. This allows for comparison with the other Markets.

Monopoly Market

The Output Product Array has been filtered to just show the ‘No Sale’ Quantity (the number of Customers who do not buy the Monopoly Product). There are 8,398 ‘No Sale’ Customers in this Monopoly Market.

Commodity Market

This Commodity Market comprises of two Competitor each selling the exact same Product.

More precisely, the Market Simulation defines two Products with each Product made up of exactly the same Feature.


There are now two Competitors in the Market: Spacely Sprockets and Cogswell Cogs.

Products vs Features

There are actually two ‘Products’ in this Market, but each Product is made up of the identical ‘Feature’ called “Sprockets”. Price and Cost is the same.


The Sprockets ‘Feature’ that each ‘Product’ contains is defined in a separate branch of the workflow.


Only the Feature Name is required to be defined. But the Customer Distribution Type, and Input Parameters could also have been defined here.

Feature WTP

Customers have a Willingness To Pay (WTP) for each Feature that goes into the Product. The Feature Customer Distributions are added together to make the Product WTP Matrix.


This time, it is the ‘Feature’ that has the Normal Customer Distribution.

Feature List

The ‘Customer Distributions’ node generates the list of Features.


Each Feature has it’s own Customer Distribution.

Product Generator

The ‘Product Generator’ node aggregates the list of Product Features and the set of Customer Distributions for each Feature.


The ‘Product Generator’ node does not need to be configured. It knows what to do based upon the input tables. Note that the middle table (with the white triangle) is optional. Black triangles indicate required input tables.

Product Array

The two Competitive Products (Spacely Sprockets and Cogswell Cogs) are now completely defined.

WTP Matrix

The WTP Matrix for the two Products are also completely defined. Carefully note that each Customer’s WTP for each Product is identical. For example, Customer C00001 values both Products at $46.63.

Profit Engine

For each Customer, the ‘Profit Engine’ evaluates the Willingness To Pay (WTP) for each Product, subtracts Price, and compares the residual Consumer Surplus. Customers select the Product which gives them the greatest Consumer Surplus.


The ‘Profit Engine’ node predicts that 814 Customers buy Spacely Sprockets, while 788 Customers buy Cogswell Cogs. As these two Products are undifferentiated, we would expect a 50:50 split. But some randomization is used to settle tie-breaks.

Demand Curve

If Spacely Sprockets were to lower Price, then they would win all Customers. But if they were to raise Price, then Cogswell Cogs would sell the cheaper Commodity Product, and Spacely Sprockets’ Market Share would fall to 0%.

Commodity Market

The results of the Commodity Market can be seen at the ‘Constant Value Column’ node.


The Quantity of Customers who do not purchase one of the two Commodity Products is 8,398. This is exactly the same as the number of ‘No Sale’ Customers from the Monopoly Market. This is the expected result as the two Products offer no differentiation and Prices remain the same.

Orthogonal Market

This Orthogonal Market comprises of two Competitor each selling their own unique (or “orthogonal”) Product to the same set of Customers.

The value Customers place on Products is called their Willingness To Pay (WTP). When their WTP for one Product is uncorrelated with their WTP for another Product, the two Products are said to be “orthogonal”.


When Products are orthogonal the Features do not need to be defined, and the ‘Product Generator’ node is not required.


The Products are very easily created with a single ‘Customer Distributions’ node.

WTP Matrix

The Willingness To Pay (WTP) Customers have for Spacely Sprockets is uncorrelated with the WTP they have for Cogswell Cogs.


The degree of correlation between the Customers WTP for each Product can be checked with a ‘Linear Correlation’ node.


The Linear Correlation node is configured to calculate the Correlation between the two Customer Distributions which define the Products.


As expected, there is virtually no correlation (0.005) between the WTP Customers have for Spacely Sprockets and the WTP Customers have for Cogswell Cogs.

Pie Chart

The ‘Pie Chart’ node can be used to visualize the predicted Market Share of each of the Products.

Color Manager

The ‘Color Manager’ node sets the pie colors of each Product.


Configure the Pie Chart to build Pie slices for each Product by aggregating the Quantity sold.


Many more Customers will buy from the Orthogonal Market as the unique Products give Customers a wider selection.

Semi-Orthogonal Market

Semi-Orthogonal Markets are the most common types of Markets. The fancy name (which will rarely be used again) simply means that the Products are a combination of commodity Features (Features that many other Products also have) and differentiating Features (Features that make the Products unique and special).

This Semi-Orthogonal Market again comprises of two Competitors. The two Products in the Market share a “Commodity Feature” but are each differentiated by their own “Orthogonal Feature”.


Semi-Orthogonal Products are made up of a more complicated set of Features.


The “Commodity Feature” and the two “Orthogonal Features” can have their own Feature-Level Cost and Price. This Cost and Price will contribute to the overall Cost and Price of the Products.


Each Product is made up of a list of Features.


Aggregate the set of Features into Products.

Feature WTP

The ‘Product Generator’ node aggregates the WTP Customers have for each of the Features …

Product WTP

… into the WTP Customers have for each of the Products.


The correlation between the Product WTP Customer Distributions is now about 0.50 whereas the correlation for purely orthogonal Products (above) was 0.005.


Greater WTP correlation means the Products are less differentiated than the orthogonal Products. This means less variety, and fewer buying Customers.

Market Share

More Customers buy a Product than in the Monopoly Market and the Commodity Market. But fewer Customers buy a Product than in the pure Orthogonal Market.

Demand Curve

The Demand Curve is no longer a “winner take all” as it was with the Commodity Market. Competitors can now Price above Marginal Cost and be profitable.

Final Results


The ‘Concatenate’ node combines all of the ‘No Sale’ results from each of the four Markets.

No Sale

The fewest number of Customers bought a Product in the Monopoly and Commodity Markets. The most number of Customers bought a Product in the Orthogonal Market.

Bar Chart

The number of Customers who purchased a Product in the Semi-Orthogonal Market (yellow) is between the Orthogonal (green) and Commodity Markets (red / blue).