A Model of Lancasterian Competition

18 April 2014

I want to try and apply PID controllers to monopolistic competition. Partially because monopolistic competition is more interesting, but partially because I don’t like the way some ABMs model it.

In economics, Dixit-Stiglitz is THE model of monopolistic competition. Mostly because it’s mathematically amaneable. It is general equilibrium compatible, so macroeconomists can use it. It assumes economics of scale, so trade economists can use it. Its main result has firms using markup rules, which is intuitive. No surprise about its 8000 citations.

It’s also a model that inherits a lot economics weirdness. There is only one consumer. She loves variety for variety sakes. Each producer supplies the same “amount of variety”, so that the consumer only cares about the total number of firms. It is a model about good variety with no actual heterogeneity in it. It is often used in macro ABMs even though representative agents don’t mesh very well with ABMs.

A very nice survey paper contrasts Dixit-Stiglitz(1977) with the Lancaster(1966). In Lancaster each firm produces a good with specific characteristics. There is a population of customers, each individual with a preferred set of characteristics. Love of variety is an emergent feature. This is very natural for an agent-based model to implement. So I am implementing it.


Imagine a rural comumnity in flatworld. Each household would like to consume a unit of oil every day. Each household has a different daily budget available for oil. Households need to buy oil at a distributor, but they aren’t willing to go too far from home for oil. Given household’s location $(x,y)$, budget $b$, oil distributor’s location $(x_d,y_d)$ and price $p$ , the household buys oil if: $b - p - \left(\sqrt{(x-x_d)^2+(y-y_d)^2}\right)^{\alpha} \geq 0$ Where $\alpha$ is the distance penalty. If there are multiple oil distributors, the household chooses the most convenient.

When $\alpha = 0$, distance doesn’t matter and then it’s a perfect competitive market. When $\alpha=\infty$ households only buy oil only if it’s sold in their living room. Anything in between is monopolistic competition.

Oil distributors have no knowledge of demand, geography or competition. They produce 10 units of oil a day and set their sale price by PID controller. They have an inventory target of 50, mostly for fun.

To spice things up I split the households in 2 neighborhoods, one rich and one poor. There are 3 oil distributors, one in each neighborhood and one in between. When $\alpha$ is high (5 for example), there is a large difference in prices between the rich neighborhood’s oil distributor and the poor neighborhood one. The one in the middle attracts no-one even at $p=0$. If I set $\alpha=0$ the prices converge to a single competitive price.

Actually all I do is keep sliding $\alpha$ back and forth and watch as prices separate and merge again, and again, and again.


I attach here a very preliminary copy of my model. Households’ color match the oil distributor they bought from the previous day. Black household means no distributor found. The price quoted under each house is their budget $b$. You can, and probably should, zoom in to read it better (by scrolling your mouse-wheel). The top-left neighborhood is the poor one. The slider next to the play button changes the $\alpha$ of customers. You can switch tab from the map to the price chart and press update button to check what the prices are for each oil distributor.

Launch the model! (but you need to set your java-security to medium first).
Otherwise you can just download this zip, extract it and double click MacroIIDiscrete.jar.