Winning the CSG
As discussed, each Customer has a perceived value or reserve price or WTP for each Product. As the Total Available Market (TAM) is maybe 20,000 Customers, there will be 20,000 rows in the WTP Matrix (one row per Customer). And as there will be up to 8 Products in the Market, there will be 8 columns in the WTP Matrix.
Customers will purchase the Product that maximizes their Consumer Surplus according to the following equation:
Customer Consumer Surplus = Customer WTP for Product – Product Price
Now that you’ve calculated each Customer’s Willingness To Pay for each Product it is time to calculate the Price that will maximize your Profit. A low Price increases the likelihood that Customers buy your Product and that you sell out your Capacity. On the other hand, a high Price may increase your Profit – especially if your Competitors quickly sell out their Capacity and leave you with a Monopoly Market.
You do know the Capacity Constraints of all your Competitors as that is published before the beginning of each game period. But you don’t know the Price your Competitors are most likely to set.
In this Market Simulation, a Monte Carlo analysis is used to first randomly select Competitor Prices, then calculate a Profit Maximizing Price for your own ‘Focus Product‘. This process continues within a loop until a Recommended Price becomes clear.
There are a number of steps within this Market Simulation workflow:
- Manually update the Capacity Constrains for all Competitors;
- Isolate your Focus Product and set a default Starting Price;
- Select random Prices for all the Competitive Products (you may adjust the range from which to select Random Prices);
- Calculate the Profit Maximizing Price for the Focus Product;
- Repeat steps 3 and 4 in a loop (100 iterations) according to the Monte Carlo method;
- Plot the resulting Profit Maximizing Prices for the Focus Product in a histogram;
- Identify a Recommended Price for the Focus Product.
The user only needs to update the Production Capacities of all the Competitors in the Market Simulation workflow using the public CSG Market Updates. The user may also use the Pricing history of the Competitors to adjust the range from which the Monte Carlo algorithm will draw Random Prices for each Competitor.
Branch #1: Focus Product
The first thing to do is to update the Capacity Limitations for all Competitors in the Market. The Table Creator node contains the following information about each Product:
- Product Name (equivalent to the three-letter-code of the Firm);
- Marginal Cost (you only know your own Marginal Cost but early Market Entrants might have low Costs);
- Capacity Limitations (public at the beginning of each game period);
- Is Focus Product (set to true if this is your Product for which you want to optimize Price).
In addition, the Table Creator node defines two other parameters:
- A = Competitor Starting Price (default $200)
- B = Competitor Ending Price (default $400)
The workflow’s Monte Carlo algorithm will draw a Random Price for each Competitor from between Starting Price (A) and Ending Price (B). By default, a Random Price will be drawn between $200 and $400 for each Competitor. But you may refine this range based upon what you know about the Competitors. Does the Competitor have a history of setting low Prices? Has the Competitor built a large Capacity that they will wish to sell out?
The rest of the workflow branch isolates the Focus Product from the Competitors, and defines a Focus Product Starting Price of $200 (no need to change this).
Branch #2: Monte Carlo Loop
The Customer Distributions node starts this branch by selecting Random Prices for each of the Competitors Products. Prices are randomly selected from a Uniform Distribution between the Starting Price (A) and Ending Price (B) for each of the 7 Competitors. The node generates Random Prices for 7-Product-columns x 100-Loop-rows.
Next the Chunk Loop Start node selects these Random Prices row-by-row. These Prices need to be Transposed (rotated) so that they can be Appended (joined) to the Competitor Products table. Products with zero Capacity are then removed by the Row Filter node, and the Focus Product is Concatenated (added) back to the Market.
Finally the Price Maximize node will find the Profit Maximizing Price of your Focus Product. This Monte Carlo algorithm repeats 100 times (once for each of the Random Price rows) and all of the results are collected for further analysis.
Branch #3: Recommended Price
After the Monte Carlo Loop has completed its 100 Iterations the results can be analyzed. Histograms are generated for the Price, with the Recommended Price being the most likely to Maximize Profit. Histograms are also generated for the Expected Quantity, Expected Revenue, and Expected Profit to be generated from the actual CSG.