Node Description

Tune Market Node

The ‘Tune Market’ node is designed to take raw Customer Distributions for Products found in the Market and quickly tune them to create a Willingness To Pay (WTP) Matrix. A WTP Matrix quantifies the maximum Price that each Customer would pay for each Product in the Market.

Tuning a Market involves adjusting the Differentiation offered by each Product being sold. Stores, Products, and Features all offer their own Differentiating qualities. Differentiation describes the shape of a Customer Distribution and is quantified by the ‘Mean’, ‘SD’ (Standard Deviation), and ‘Correlation’ of the distribution:

The tuning algorithm of the ‘Tune Market’ node systematically alters the ‘Mean’ and ‘SD’ (Standard Deviation) tuning parameters of each Customer Distribution until the simulated Market matches actual Market conditions. The ‘Tune Market’ node does not tune the Correlation (Horizontal Differentiation) between Products.

The initial ‘Mean’ and ‘SD’ tuning parameters are set in the Input Product Array or the Input Customer Distribution Matrix. The incoming Product-level Customer Distributions in the ‘Input Customer Distribution Matrix’ can be Unit Distributions or partially-tuned Willingness To Pay (WTP) Distributions.

The Willingness To Pay (WTP) Matrix output of the Tune Market node can be fed directly into a Simulate Market or Profit Engine node in order to optimize the Price of a target Product or generate a Product Demand Curve.

Additional information that can be used to improve the accuracy of tuning is Price Elasticity and Cross Elasticity measurements. Analyzing historical sales data can yield information about the Price Elasticity of individual Products, and about the Cross Elasticity between Products in the Market. Price Elasticity measures the relationship between the changing Price of Product A and the subsequent change in Quantity sold by the same Product A. Cross Elasticity measures the relationship between the changing Price of Product A and the subsequent change in Quantity sold by different Product B. The observed Price Elasticity and Cross Elasticity from the real-world Market can be added to the ‘Input Price Elasticity’ table to increase the accuracy of the tuned Market Simulation.

Price Elasticity can also include information about the ‘Out of Stock’ impact a Product can have on other Products. If one Product is Out of Stock then sales of the other Products should increase. The degree by which sales increase reflects the degree of Competitive Rivalry between the Products.

The tuning algorithm operates in two phases. During the first phase, just the Quantity values are taken into account. During the second phase, both the Quantity values and the Price Elasticity measurements are taken into account.

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.

Tune Products

The ‘Tune Market’ node will tune the Willingness To Pay (WTP) of Products. The ‘Tune Market’ node does not attempt to tune the part-worth value that Customers place upon the underlying Features of those Products.

In this example, some results from the Cola Market have been collected. The results required by the ‘Tune Market’ node include:

  • Product Names (unique)
  • Product Prices
  • Quantity of each Product sold

Some additional (optional) Price Elasticity data has also be used by this ‘Tune Market’ node. This data can reflect:

  1. The change in the Quantity sold given a change in the Product’s Price,
  2. The Cross Elasticity between the Quantity sold of a second Product given a Price change of the first, and
  3. The change in flow of Customers if a Product were to be Out-of-Stock.

Inputs

Product Array

The unique name, Price, and Quantity are required for each Product in the ‘Input Product Array’. While Brand, Flavor, Type, and Number of Containers has also been provided, these Features are ignored and their part-worth values are not calculated by this node.

Raw Distributions

The ‘Tune Market’ node requires some raw Customer Distributions from which to get started – one Distribution per Product.

These Customer Distributions may be Unit Distributions (with Mean = 0.0 and SD = 1.0) or they may have a Mean equal to the Price of each Product.

The ‘Tune Market’ node finds the best fitting Mean and SD for each Product. But the node does not tune the Correlation (Horizontal Differentiation) between Products. Hence the correlation of the raw Input Customer Distribution Matrix must already have been set upstream.

The mutual correlation between Products can be approximated using the Features. For example, Products that have the same Cola Brand are more similar than Products having different Brands.

Price Elasticity

Product Price Elasticity and Cross Elasticity are additional measurements that can be used to tune the Market Simulation. Price Elasticity measures the relationship between the changing Price of Product A and the subsequent change in Quantity sold by the same Product A. Cross Elasticity measures the relationship between the changing Price of Product A and the subsequent change in Quantity sold by different Product B. An optional ‘Weight’ column can be added to give more weight to reliable measurements.

Node

Configuration

The ‘Tune Market’ node finds the best fitting Mean (Vertical Differentiation), and SD (Strange Differentiation) of each Product.

The user can limit the number of Tuning Adjustments (only actual adjustments are counted towards the total).

The user also sets the starting percentage by which the Mean and SD of the incoming Distributions is adjusted. When no more adjustments to the tuning parameters improve the simulated results then this ‘Adjustment Percentage’ will halve and the tuning process will continue.

The Tuning Algorithm can operate in two phases. During the first phase, just the Quantity values are taken into account. During the second phase, both the Quantity values and the Price Elasticity measurements are taken into account. The ‘Two Phases’ method takes longer as the entire Tuning Algorithm needs to run twice. Select ‘Two Phases’ if it is important to minimize Quantity Error. Select ‘One Phase’ if it is more important to balance both Quantity Error and Price Elasticity Error against faster tuning.

Market Size

The user can specify the output Market Size used to scale the Quantity sold, Revenue, and Profitability for each Product in the Market.

To speed tuning, several Tune Market nodes can be cascaded together with increasing numbers of Virtual Customers. In this way, the calculated tuning parameters become increasingly accurate at each step in the cascade. But to do this, the user should first go into the Market Size Options for all but the last Tune Market node in the cascade and ‘Set Output Market Size’ to ‘Override Product Quantities with Product Array’. This ensures that next node will tune according to actual market conditions.

Outputs

Port-0 Product Array

The Output Product Array corresponds to the Input Product Array but has updated values in the ‘Mean’ and ‘SD’ columns that reflect the tuned results. The ‘Quantity’ column will also be updated according to the Market Size options.

The ‘Quantity Error’ contains the absolute value of the difference between the actual input ‘Quantity’ and the simulated output ‘Quantity’. Note that the Quantity Error for the ‘No Sale’ Product is not considered unless the user explicitly includes the ‘No Sale’ Product in the Input Product Array and sets a target Quantity to be greater than zero.

Port-1 WTP Matrix

The tuned Willingness To Pay (WTP) Customer Distribution matrix for each Product column in the Market by each Virtual Customer row. The Output WTP Matrix quantifies the maximum Price that each Customer would pay for each Product in the Market. This WTP Matrix can be directly connected to a downstream ‘Simulate Market’ or ‘Profit Engine’ node.

Port-2 KPI Indicators

The ‘Output KPI Indicators’ contain select information about the tuning process and the quality of the final results, including:

Iteration Count: the number of iterations used during the tuning process.

Final Adjustment: the final percentage (%) by which the ‘Mean’, ‘Correlation’, and ‘SD’ (Standard Deviation) of the incoming Distributions were adjusted.

Sum of Input Actual Quantity Error: the sum of the Quantity Error between the Actual Quantity and the Simulated Quantity for all Products in the Market.

Sum of Price Elasticity Quantity Error: the sum of the Price Elasticity Quantity Change Weighted Error. Price Elasticity Quantity Error values for individual Products can be found in the ‘Output Price Elasticity’ table. The importance of the Price Elasticity Quantity Errors can be adjusted by the Weight value in the input table.

Port-3 Price Elasticity

The ‘Output Price Elasticity’ table compares the measured Input Price Elasticity against the forecasted Output Price Elasticity from the tuned Market Simulation model.