Replicate Distributions

The Replicate Distributions node quickly extends the Output WTP Matrix with additional columns. The values used to fill these columns come from the Product Attributes found in the Input Product Array and the column values found in the Input WTP Matrix.

For example, Product P1 is being sold at a 5% discount but Customers must pay $10 in shipping, while Product P2 is being sold at a 15% discount with a shipping fee of $20. Personalized discounts can be set in the Price Adjustment Variable (PAV) columns of the WTP Matrix, while shipping fees can be set in the Price Adjustment Fixed (PAF) columns. There must be one PAV column and one PAF column for each Product.

This Replicate Distributions node can be used to quickly create these PAV and PAF values for each Product. In the Input Product Array, the Attribute 'PAV' values can be set to 0.95 and 0.85 for Product P1 and P2 respectively. Similarly, the Attribute 'PAF' values can be set to 10.00 and 20.00. By including P1 and P2 in the 'Replicate Product Set', and 'PAV' and 'PAF' in the 'Replicate Product Attributes', this node will create the following new Output WTP Matrix columns: P1.PAV, P1.PAF, P2.PAV, and P2.PAF. The single Attribute value found in the Input Product Array will fill each of these columns.

In addition, a column of personalized Customer values found in the Input WTP Matrix can also be replicated multiple times in the Output WTP Matrix. For example, the personalized Volume demanded by each Customer may be set in a template 'VOL' column. This Replicate Distributions node can then copy all these values into two new Output WTP Matrix columns: P1.VOL and P1.VOL.

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

Options

Standard Options

Focus Product
The Focus Product is the starting reference used to define the 'Replicate Product Set'. For example, the user may wish to replicate values for all Products sold by the Focus Store.
Replicate Product Set
Products in the 'Replicate Product Subset' will extend the Input WTP Matrix with additional columns filled with both Attribute values from the Input Product Array and column values from the Input WTP Matrix.
Number of Additional Replicate Products
Defines the number of additional Products to include in the 'Replicate Product Set'. The user may specify that the 'Replicate Product Set' include the 'First Number of Listed Products' (that is, the Products listed at the beginning of the 'Input Product Array') or a 'Top Number of Rival Products' (that is, the most similar and competitive Products to the Focus Product). In these cases, the actual number of Products to include in the 'Replicate Product Set' is determined by this additional products option. Most 'Replicate Product Set' selections do not require the 'Number of Additional Replicate Products' option, and then this value will be ignored.
Replicate Product Attributes
The single Attribute value for each Product in the 'Replicate Product Set' will be replicated into a column of values in the Output WTP Matrix. Missing values will not be replicated. The name of the new columns are combinations of both the Product's name and the Attribute column's name.
Replicate Distribution Column
A whole Distribution column of values can be also replicated. The values in the selected column will be replicated for all Products in the 'Replicate Product Set'.
Drop Replicated Distribution Column from Output
Once the selected 'Replicate Distribution Column' has been replicated it can be removed from the final Output WTP Matrix. Removing the replicated column can reduce confusion as these replicated source columns are typically ignored by downstream Market Simulation nodes.

Advanced Options

Output Name Format
Defines the format of each Product's newly replicated column in the Output WTP Matrix. For columns replicated from individual Attribute values found in the Input Product Array, the output column names are a combination of the Product's name and the Attribute column's name. For columns replicated from the selected column in the Input WTP Matrix, the output column names are a combination of the Product's name and the selected Replicate Distribution Column's name. Format choices allow the names to be compatible with the Customer Distributions output from other nodes, such as the 'Differentiation Vertical' node and the 'Differentiation Horizontal' node. All Customer Distribution names can be listed within the Input Product Features table used by the 'Product Generator' node when aggregating together the Features that make up each Product in the Market.
Product Attribute Name Delineator
Sets the delineator character between the Product and the selected Attribute columns in the Output WTP Matrix. By default, the delineator character is set to be a '.' period, but ',' comma, '_' underscore, or ' ' space may better suit the user's simulation.
Duplicate Columns
When a newly generated column conflicts with an upstream Input Customer Distributions column then the new column can either replace or scale the old upstream column. The options include:
Skip Existing Columns - keep the existing upstream Customer Distributions and do not replace them with newly generated columns: output = old.
Replace Upstream Columns (default) - the newly generated duplicate Customer Distribution columns will replace the upstream Customer Distributions: output = new.
Add to Upstream Columns - the new column will be added to the upstream column: output = old + new.
Multiply by Upstream Columns - the new column will be multiplied by the upstream column: output = old x new.
Scale Upstream Columns as Percentage - the new column will scale the upstream column as if it was a percentage change: output = old x (1.00 + new).

Input Ports

Icon
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' can include the following columns:
  1. Product (string - required): The name of the Product corresponding to a column of the same name in the 'Input WTP Matrix' port. There may also be an additional row with a Product named 'No Sale' - this row is used to track those Customers who are in the Market but have not yet purchased a Product. Including the 'No Sale' here can be useful when specifying the Quantity of Customers in a real-world market who are yet to Purchase a Product. If the 'No Sale' Product does not exist then it will be added automatically. If the 'Product' column is not found then the Row Identification (RowID) column will be used in place of the Product column.
  2. Description (string): The description of the Product or the full name of the Product if the Product field contains an identification number.
  3. Brand (string): The name of the Product Brand. Including information about the Product Brands allows the user to aggregate sales by Brand in downstream nodes.
  4. Store (string): The name of the Product Store. Including information about the Store allows the user to calculate the total Revenue and Profit for each Competitor in downstream nodes.
  5. Location (string): The name of the Product Location. The Location can be a name, or it can be used flexibly to indicate the speed of delivery as 'Overnight Delivery', 'Second Day Delivery', 'Third Day Delivery', etc.
  6. Family (string): The name of the Product Family. Generally used to link together related Products. Several Product SKUs can all be part of the same Family.
  7. Category (string): The name of the Product Category. Several Product Families may be part of the same Category.
  8. Platform (string): The name of the Product Platform. The Platform is a general purpose label that can be used in any way. It can, for example, indicate whether the Product is sold both 'Online' as well as 'Offline'.
  9. Attribute Value (double - optional): Any numerical Product Attribute can be replicated into the Output WTP Matrix. Missing values will not be replicated. The format of the newly generated columns can be set in the 'Format' tab of the Configuration Dialog. By default, output columns will be named 'Product.Attribute' using the Product's name and the Attribute's column name.
  10. VOL (double - optional): The per-Product 'Dynamic Volume' (VOL) demanded by each Virtual Customer. This per-Product 'VOL' value will override the general 'Volume'. For example, a Virtual Customer buying laundry detergent might generally demand a 'Volume' of 2 (Litres) but might only demand a '_VOL' of 1 (Litre) for the concentrated detergent Product. Negative values will be replaced with a Demand Volume of zero '0'. If both of the 'Dynamic Volume' values ('Volume' and '_VOL') are missing then a default of '1' will be used. VOL columns created by this node will be called: 'Product_VOL' (configurable in the 'Format' tab).
  11. PAV (double - optional): The Price Adjustment Variable (PAV) is the percentage adjustment to the Price (typically a Discount) a particular Customer would receive when they Purchase the Product. For example, if the Customer is entitled to a 10% Discount then the 'PAV' would be set to 0.90. The 'Price Adjustment Variable' column is identified by the Product's Name followed by a trailing 'PAV'. The 'PAV' designator can be upper-case or lower-case and may-or-may-not be separated by a space, underscore, or other single character. For example, 'Product_01_PAV' or 'Product 02 PAV' or 'Product03pav'. PAV columns created by this node will be called: 'Product_PAV' (configurable in the 'Format' tab).
  12. PAF (double - optional): The Price Adjustment Fixed (PAF) is the fixed adjustment to the Product's Price. For example, if Customers pay different amounts for Shipping the Product then this could be modeled using the 'PAF' column. If the WTP Matrix contains both 'PAV' and 'PAF' columns, then the Price is first multiplied by the variable 'PAV' before adding the fixed 'PAF'. The 'Price Adjustment Fixed' column is also identified by the Product's Name followed by a trailing 'PAF' in a manner similar to the 'PAV' designator. The 'PAF' is a per-Unit Price. If the Customer purchases more than one Product then the 'PAF' is multiplied by the Customer's Demand. PAF columns created by this node will be called: 'Product_PAF'.
  13. CTS (double - optional): The Cost To Serve (CTS) is the additional Cost that must be incurred when a Product is sold to a particular Customer. This is a Dynamic Cost as some Customers are cheaper to serve than others, and is only incurred if the Customer actually Purchases the Product. The 'Cost To Serve' column is identified by the Product's Name followed by a trailing 'CTS'. The 'CTS' designator can be upper-case or lower-case and may-or-may-not be separated by a space, underscore, or other single character. For example, 'Product_01_CTS' or 'Product 02 CTS' or 'Product03cts'. The Customer's 'CTS' remains unchanged regardless of the Quantity of Product Units purchased by the Customer. CTS columns created by this node will be called: 'Product_CTS'.
  14. CTM (double - optional): The Cost To Make (CTM) depends not upon the individual Customer but upon the number of Customers who Purchase the Product. This 'Cost To Make' can be used to simulate the Law of Diminishing Returns. Starting from the first row in the column, each 'Cost To Make' row represents the incremental Cost of manufacturing each additional Product. If the Product is sold ten-times, then the total Dynamic Cost is the sum of the first 10 CTM rows. The 'Cost To Make' column is also identified by the Product's Name followed by a trailing 'CTM' in a manner similar to the 'CTS' designator. CTM columns created by this node will be called: 'Product_CTM'.
Icon
Input 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. The total number of Virtual Available Customers is equal to the number of rows in the WTP Matrix. In addition to each of the Product's WTP Customer Distributions, this 'Input WTP Matrix' can also contain two types of 'Dynamic Price' and two types of 'Dynamic Cost' Distributions that depend upon the Customers who Purchase the Product. These personalized 'Dynamic Prices' and 'Dynamic Costs' adjust the 'Static Price' and 'Static Cost' found in the 'Input Product Array' to calculate the Product's Margin. This 'Input WTP Matrix' may also contain 'Dynamic Volume' fields which allow Virtual Customers to Demand different levels of Quantity of each Product.
  1. Product01, Product02, etc (double): Each of the Products listed in the 'Input Product Array' should have a corresponding column in this 'Input WTP Matrix'. Each row represents a different Virtual Customer, and each value represents the Customer's Willingness To Pay (WTP) for each Product.
  2. Attribute Column (double - optional): Any personalized numerical Distribution found in the Input WTP Matrix can be replicated in the Output WTP Matrix. The format of the newly generated columns can be set in the 'Format' tab of the Configuration Dialog. By default, output columns will be named 'Product.Column' using the Product's name and the name of the personalized Distribution column.

Output Ports

Icon
Output Product Array: The 'Input Product Array' is passed through to the 'Output Product Array' without change.
Icon
Output Willingness To Pay Matrix: The 'Output WTP Matrix' made up of the original Customer Distributions for each Product in the Market along with any newly replicated columns, including:
  1. Product01, Product02, etc (double): Each of the Products listed in the 'Input Product Array' should have a corresponding column in this 'Input WTP Matrix'. Each row represents a different Virtual Customer, and each value represents the Customer's Willingness To Pay (WTP) for each Product.
  2. Volume (double - optional): The personalized 'Dynamic Volume' of Product demanded by each Virtual Customer. For example, if the 'Input Product Array' contains a list of beverages of Volume 250ml, 330ml, 500ml, 750ml, and 1000ml then a Virtual Customer with a demanded Volume of '1000' could purchase a Quantity of either 4, 3, 2, 1, or 1 of the Products (respectively). If Customers are buying by Volume then they must purchase in whole number integers. For instance, if a Product had a Volume of 250ml but a Customer demanded 300ml then the Customer would only be able to buy 1 of that Product. Note that the excess Volume of 50ml received by the Customer is deemed to be of no value! The Price, WTP, and Consumer Surplus are all re-scaled by the relative Quantity demanded. When Customers buy in Volume then the Output Transactions field will differ from the Output Quantity field - otherwise these two values ought to be the same. Note that the 'Input Product Array' need not also contain a 'Volume' field. If the Product Volume is missing then the Product is presumed to be sold in Volumes of 1 Unit.
  3. _VOL (double - optional): Created by the Replicate Distributions node, the per-Product 'Dynamic Volume' demanded by each Virtual Customer.
  4. _PAV (double - optional): Created by the Replicate Distributions node, the 'Price Adjustment Variable' percentage adjustment to the Price (typically a Discount) a particular Customer would receive when they Purchase the Product.
  5. _PAF (double - optional): Created by the Replicate Distributions node, the 'Price Adjustment Fixed' change to the Product's Price.
  6. _CTS (double - optional): Created by the Replicate Distributions node, the 'Cost To Serve' additional Cost that must be incurred when a Product is sold to a particular Customer.
  7. _CTM (double - optional): Created by the Replicate Distributions node, it 'Cost To Make' (CTM) depends not upon the individual Customer but upon the number of Customers who Purchase the Product.

Popular Successors

Views

This node has no views

Workflows

  • No workflows found

Links

Developers

You want to see the source code for this node? Click the following button and we’ll use our super-powers to find it for you.