Hub
Pricing About
NodeNode / Predictor

Profit Engine

Scientific StrategyMarket Simulation
Drag & drop
Like

Calculates the Product purchased by each Customer based upon their Willingness To Pay (WTP). The node can be used to:

  1. Determine the Product preference of each Customer, as well as whether the Customer purchased the Product, the Customer's first, second and last choice, and the Customer's maximum and minimum Consumer Surplus of all Products in the Market; and
  2. Generate a Demand Curve for a selected Product by testing a range of Price sample points

The Profit Engine calculates the Product purchased by each Customer based upon their Willingness To Pay (WTP). Each Customer Distribution column in the input WTP Matrix represents the Willingness To Pay (WTP) for a Product. The rows represent each of the Virtual Customers making purchase decisions based upon their individual Willingness To Pay (WTP) for the Products in the Market.

The Profit Engine does not require configuration if a Demand Curve is not being generated. It assumes that each Product found in the 'Input Product Array' refers to a column in the WTP Matrix.

If the user sets the Profit Engine to generate a Demand Curve then additional configuration settings must be selected. In particular, the selected Product must have a value for Cost in the Product Input Array.

Generating a Demand Curve will require repeatedly running the model within Profit Engine, hence the Profit Engine will take much longer to complete. If the user selects 20 one-sided Price Sample Points for the Demand Curve then the Profit Engine will iterate 2n + 1 = 41 times in order to generate both sides of the Demand Curve.

More Help: Examples and sample workflows can be found at the Scientific Strategy website: www.scientificstrategy.com .

Node details

Input ports
  1. Type: Table
    Input Product Array
    Input Product Array : The set of Products that define the Market. Each row corresponds to a Product that competes for customers in the Market. The 'Input Product Array' must have the following columns:
    1. Product (string): The name of the Product corresponding to a column of the same name in the 'WTP Matrix' input port. There can also be an additional row with a Product named 'No Sale' - this row is used to tune those Customers who are in the Market but have not yet purchased a Product.
    2. Price (double): The 'Static Price' of each Product in the Market. The Price of the 'No Sale' Product should be zero. Dynamic Prices found in the 'Input WTP Matrix' (that is, PAV and PAF columns) are NOT considered by the 'Profit Engine' node. Use the 'Simulate Market' node instead.
    3. Cost (double): The 'Static Cost' is only required for the Product that is selected for the Demand Curve. Other Products do not require a Cost value to be set within the 'Input Product Array'. If a Demand Curve is not being generated then the Cost column is not required. Dynamic Costs found in the 'Input WTP Matrix' (that is, CTS and CTM columns) are NOT considered by the 'Profit Engine' node. Use the 'Simulate Market' node instead.
    4. Capacity (ignored): Capacity Constraints for the Products are NOT considered by the 'Profit Engine' node. Use the 'Simulate Market' node instead.
  2. Type: Table
    Input Willingness To Pay Matrix
    Willingness To Pay Matrix (double): The Willingness To Pay (WTP) Customer Distribution matrix for each Product column in the Market by each Virtual Customer row. Dynamic Price columns (PAV, PAF) and Dynamic Cost columns (CTS, CTM) are IGNORED by the 'Profit Engine' node.
Output ports
  1. Type: Table
    Output Product Array
    Output Product Array : The set of Products in the Market along with their selling Price, Cost, Quantity of Customers, Market Share, and Profitability. The Market Product Metrics also includes the FirstChoice, SecondChoice, and LastChoice as well as the InTopTwo, InTopThree, etc. aggregated counts for each Product depending upon the user selection for the 'Chart Product Aggregation Depth' setting. The 'Output Product Array' includes these additional columns:
    1. Share : The Market Share of each Product as a percentage not including the 'No Sale' Products.
    2. Profit : The Product's Profitability is only calculated if the Product's Cost was provided in the 'Input Product Array'.
  2. Type: Table
    Output Purchased Products Matrix
    Purchased Products Matrix : The input WTP Customer Distribution matrix plus additional columns containing information about the purchase decision each Virtual Customer row, including the Product the purchased, their Willingness To Pay for that Product, their Second Choice, etc. and their Last Choice.
  3. Type: Table
    Output Demand Curve Table
    Demand Curve Table : A small table for just the selected Demand Curve Product listing the Price, Quantity Sold, and Profit at each Sample Point. Additional metrics calculated from the Demand Curve are provided in the form of Flow Variables, including:
    1. Product.Price.Optimized The Price point along the Demand Curve at which Product Profitability is maximized.
    2. Product.Profit.Optimized The maximum Profit for the selected Product found along the Demand Curve scaled to the number of Virtual Available Customers.
    3. Product.Quantity.Optimized The Quantity of Virtual Available Customers who purchased the Product at the Product's Profit Optimized Price.
    4. Product.Price.Sensitivity The Price Sensitivity for the selected Product at the current Price. Price Sensitivity is a measure of how much Quantity will drop if Price is increased. A Price Sensitivity of 1.0 indicates that a 1% increase in Price will result in a 1% decrease in Quantity. A value >>1.0 indicates that the Product is very Price Sensitive. A value <<1.0 indicates that the Product is not Price Sensitive.
    5. Product.Profit.Sensitivity The Profit Sensitivity for the selected Product at the current Price. Profit Sensitivity is a measure of how much Profit will change if Price changes. A value >0.0 indicates that the Profitability will increase if Price is decreased (or decrease if Price is increased). A value <0.0 indicates that the Profitability will increase if Price is increased (or decrease if Price is decreased). A value of 0.0 indicates the Product is currently at the Profit Optimized Price.

Extension

The Profit Engine node is part of this extension:

  1. Go to item

Related workflows & nodes

  1. Go to item
  2. Go to item
  3. Go to item

KNIME
Open for Innovation

KNIME AG
Talacker 50
8001 Zurich, Switzerland
  • Software
  • Getting started
  • Documentation
  • Courses + Certification
  • Solutions
  • KNIME Hub
  • KNIME Forum
  • Blog
  • Events
  • Partner
  • Developers
  • KNIME Home
  • Careers
  • Contact us
Download KNIME Analytics Platform Read more about KNIME Business Hub
© 2025 KNIME AG. All rights reserved.
  • Trademarks
  • Imprint
  • Privacy
  • Terms & Conditions
  • Data Processing Agreement
  • Credits