Workflow Overview
The workflow first defines a single ‘Sprockets’ Product, then creates a set of Customers who all have a different Willingness To Pay (WTP) for Sprockets. The ‘Profit Engine’ node predicts how many Customers would buy Sprockets.
The ‘Profit Engine’ node generates a Demand Curve (Quantity vs Price) and sets the Price of Sprockets to the Profit Maximizing Price.
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.
Downloads
Nodes

Define Products
Product Details
Products need to have a ‘Product’ name and a Price. An optional Cost field can be added to help a downstream Market Simulation node calculate the ‘Profit Maximizing Price’.

Generate WTP
WTP Details
Double-click on the node to open the Configuration Dialog. The Customer Distributions node has been configured to generate 10,000 Customers having a Mean WTP of $100 and a Standard Deviation (SD) WTP of $50.
Product Array
The Output Product Array adds the Type of Distribution (Normal) with Mean and SD to the Product description.

WTP Histogram

Profit Engine
Configuration
The Demand Curve is also calculated for the Sprockets Product. This slows down the node and should only be used when the Demand Curve is needed.
Product Array
The Output Product Array shows the prediction that 1,602 Customers will buy Sprockets at $150, while the other 8,398 Customers are ‘No Sale’.

Profit Engine
Demand Curve
The Profit Maximizing Price (red curve) is at $105. This would lift profitability by 160% from the Current Price of $150.

Market Share
Chart

More Analysis
Configuration
The ‘Row Filter’ has been set up to exclude ‘No Sale’ Customers from the Output Purchased Products Matrix.
Filtered Results

Consumer Surplus
Configuration
The ‘Purchased Benefit’ column contains the amount of Consumer Surplus for each Customer.

Quantity vs Price

Optimize Price
Configuration
When ‘Output Profit Optimization Results’ is checked (and ‘Calculate Demand Curve’ is checked) then the output Price of the selected Product (Sprockets) will be set to the Profit Maximizing Price.
Final Results
Economic Theory
Linear: Demand Curve
Wikipedia: The demand curve is often graphed as a straight line of the form Q = a − bP where a and b are parameters. The constant “a” embodies the effects of all factors other than price that affect demand. If income were to change, for example, the effect of the change would be represented by a change in the value of “a” and be reflected graphically as a shift of the demand curve. The constant “b” is the slope of the demand curve and shows how the price of the good affects the quantity demanded.
Normal Distribution: Demand Curve
And yet, the results from a Market Simulation are closely aligned with traditional micro-economic models.
The fitted-green linear function from this BB-101 Market Simulation closely follows the blue Demand Curve over the majority of Price vs Quantity.
Profit Maximizing Price
For the Linear Demand Curve, this Profit Maximizing Price can be calculated using the formula to the right.
Plugging in the y-intercept (a) and the slope (b) from the green linear curve fitted to the Normal Customer Distribution results above, we would predict that the Profit Maximizing Price would occur at $110.
The Market Simulation from above predicts the Profit Maximizing Price to be $105.
The closeness of the two predictions shows how Market Simulation is aligned with traditional micro-economic theory.
Conclusion
But other Customer Distribution shapes may be more appropriate depending upon the type of market being simulated.
The next ‘Building Blocks’ workflow (BB-102 Monopoly Distributions) shows how other Customer Distributions can be used to generate a WTP Matrix to simulate a simple monopoly market.