Production Capacity

Cournot Competition Model

Cournot Competition is another basic micro-economic model used to describe how firms compete. In this case, by using their Production Capacity.

The Cournot Competition Model is often described as a two-stage model. In Stage 1, Competitors choose their Production Capacity. Then in Stage 2, the Competitors choose their Profit Maximizing Price.

This model can be contrasted with Bertrand Competition in which firms first set their Price, then determine their Output Capacity so that the Demand for their Product matches Supply. See also the Market Simulation: MS-171 Bertrand Competition.

Antoine Cournot developed the Cournot Competition Model in 1838 (pre-dating the Bertrand Competition Model by 45 years). He argued that firms first calculate the Residual Demand in the Market based upon the total Quantity produced by all of the Competitors, after which firms will act like a Monopoly. In this way, all firms will be Profitable (unlike for Bertrand Competition which predicts Prices will drop to Marginal Cost and Profits will drop to zero).

The Cournot Competition Model normally depends upon some specific assumptions:

  1. There are at least two Competitors in the Market and the number of firms is fixed;
  2. The Competitors cannot cooperate in any way;
  3. Each Competitor sells the exact same Commodity Product;
  4. Each Competitor has Market Power so that their Production Capacity decision will affect the Market Price of the Product; and
  5. Competitors seek to maximize their Profit.

However, this Market Simulation relaxes a several of these assumptions. First, this is an example of Market Entry, so the number of Competitors in the Market will change. Second, the Products sold by each of the Competitors are not Commodities but are Differentiated from one another.

This Case Study provides a high-level overview of the workflow without detailed explanation. It assumes you are already somewhat familiar with KNIME and Market Simulation. If not, start by reviewing the Building Blocks and Community Nodes.

Competitive Story

George Jetson has again been fired from his job at Spacely Sprockets by Cosmo Spacely. George decides to starts his own company called ‘Jetson Gears’. Before entering the Market, he decides to use a Cournot Competition Model to find the best combination of Production Capacity and Price that will maximize his Profitability.

This Market Simulation is made up of two steps:

  1. George Jetson uses a ‘Tuning Loop’ to test the amount of Production Capacity he should build for his Gears. He tests producing between 1,000 and 3,000 units.
  2. George Jetson then uses the ‘Price Maximize’ node to calculate the Profit Maximizing Price he should charge at each Test Capacity level.

After finding the Profit Maximizing Price at each Test Capacity level, George Jetson chooses the combined Quantity and Price that returns the maximum possible Profit.

Setup Competitors

The Competitors are defined in the Table Creator (#1) node. Our two incumbent Competitors are:

  1. Spacely Sprockets
  2. Cogswell Cogs

Both Competitors sell differentiated “Sprocket” Products that they manufacture for a Marginal Cost of $50 and sell for a Price of $100. But each of the incumbents has a Production Capacity of 3,000 units.

The Mean and Standard Deviation (SD) of the Customers Willingness To Pay (WTP) for Sprockets is the same (Mean = $150 and SD = $50). So these Products are not Vertically Differentiated.

But Customers still disagree which Product is better, so the WTP Customer Distributions are not 100% perfectly Correlated. This means these Products are Horizontally Differentiated.

The degree of Horizontal Differentiation is defined in the second Table Creator (#2) node. As Jetson Gears is a ‘copycat’ Product, it is more highly Correlated with the incumbent Products than those incumbents are to each other.

Finally, the Matrix Distributions node creates the Customer WTP Matrix used throughout the Market Simulation. This node defines how much Customers value each of the three Products, using the default Mean and Standard Deviation (SD), as well as setting the Number of Customers in the Market.

Competitive Products

Product Correlations

Matrix Distributions

WTP Matrix

Quantity-Price Loop

Step 1: The Tuning Loop is used to generate a range of Test Capacities for Jetson Gears. Production Capacity is tested between 1,000 units and 3,000 units. Tests are made in increments of 200 units, so there are 10 loop iterations altogether. The Java Snippet node is used to replace the missing ‘Capacity’ field in the Product Array for Jetson Gears.

Step 2: The Price Maximize node is used to calculate the Profit Maximizing Price for Jetson Gears given the Competitive Environment of the incumbents and the Capacity Limitation of Jetson Gears. This node will override the default Price of Jetson Gears in the Product Array.

Tuning Loop Start

Java Snippet

Price Maximize

Quantity-Price Results

Optimized Result

After the 10 iterations of the Test Quantity Loop, the Profit Maximizing combinations of Quantity and Price can be analyzed.

As the Test Capacity for Jetson Gears increases from 1,000 to 2,400 units, the Profit Maximizing Price decreases to ensure that Supply meets Demand and all of the Jetson Gears Products are sold out. However, after testing the Capacity for 2,400 units, the Profit Maximizing Price of Jetson Gears remains fixed at $132.88. Thereafter, Jetson Gears leaves unused Capacity. Hence the optimized results are:

  • Jetson Gears Capacity and Quantity Sold = 2,400 units
  • Jetson Gears Price = $132.88
  • Jetson Gears Maximum Possible Profit = $198,915

Note that the Revenue and Profitability of the incumbent Spacely Sprockets and Cogswell Cogs remains unchanged throughout the entire Market Simulation. This is as the Cournot Competition Model predicts, with Jetson Gears effectively acting as a Monopoly over the Residual Demand.

#1 Test Capacity vs Quantity Sold

#2 Test Capacity vs Price

#3 Test Capacity vs Profit

Cournot vs Bertrand

Antoine Cournot (1801 - 1877)


Neither the Bertrand Competition Model nor the Cournot Competition Model is ideal or even better than the other. The accuracy of the predictions of each model will vary from industry to industry, depending on the closeness of each model to the industry situation. If Production Capacity can be easily changed, Bertrand tends to be a better model. But if Production Capacity is difficult to adjust, then Cournot is generally better.

Since the Bertrand Competition Model assumes that firms compete on Price and not Capacity, the model predicts that a Duopoly is enough to create Perfect Competition and push Prices down to Marginal Cost (although see the Market Simulations for the Bertrand Model Variations).

But as the number of firms increases, the Cournot model will give the same result as the Bertrand model, with Competition driving the Market Price down to Marginal Cost.