PRICING ALGORITHMS COLLUDE — WITHOUT THREATENING EACH OTHER
Pricing is increasingly handed to learning systems. A well-known finding worries competition authorities: simple reinforcement-learning programs, each trained only to maximise its own profit in a simulated two-firm market, end up charging prices well above the competitive level. A landmark 2020 study by Emilio Calvano and colleagues in the American Economic Review went further. After forcing one program to cut its price for one period, they saw the rival cut too, and then both return to their old prices. They read this as a “reward–punishment scheme”: undercut me and I retaliate, so cheating never pays.
That reading, write Kauê Lopes de Moraes and Rodrigo De Losso of the University of São Paulo, is what gave the result its policy weight. “Prices that are merely high are an artifact; prices defended by retaliation are a cartel.” Their question is narrow: is there actually a punishment mechanism?
Replicate first, then freeze
The authors rebuilt Calvano’s market: two firms, 15 possible prices, each program a table of values (tabular Q-learning) that remembers the two previous prices — 225 possible situations. They trained 1,024 pairs, 2 million steps each. The result replicates: prices settle at a collusion index of 0.668, where 0 is the competitive (Nash) price and 1 the monopoly price.
So does the famous pattern. Force one agent to undercut, and in 1,013 of 1,024 pairs the rival’s price drops; in 98.2% of pairs both return to their previous prices, usually within five periods.
Then the key move: freeze the trained programs, switch learning off, and test what they actually carry.

Price after a forced cut (top) or a forced rise to the monopoly price (bottom), for trained pairs (left) and for agents matched with strangers (right). — Figure 3, Lopes de Moraes and De Losso (2026), arXiv:2610.21867.
Five audits, no punisher
Direction does not matter. Force the agent to raise its price to the monopoly level — a move towards the cartel — and the rival still drops its price and then recovers, in 960 of 1,024 pairs. A response that treats cooperation exactly like betrayal is not a rule designed to deter betrayal.
No model of the opponent. Face the trained agents with a scripted rival that genuinely punishes — it cooperates until crossed, then plays the competitive price forever. Started in cooperation, 77% of agents undercut it within four periods and never recover.
No logic off the beaten path. Read as reaction functions, the learned tables barely follow sensible best responses (average rank correlation 0.18, ranging from −0.70 to 0.84).
The return is forced. In 914 of 1,024 pairs, the two frozen programs have a single attractor that pulls in all 225 possible situations. They return to their usual prices from anywhere, after any disturbance, for any reason — the way a ball rolls back to the bottom of a bowl. Random tables do this much less well, so training does add speed and placement; just not selectivity.
It is not a limit of the format. The authors hand-built genuine punishment rules — one that forgives, one that never forgets — in the very same 225 × 15 table. Both work. The capacity is there; learning did not use it.
A convention of the pair
Next, the “stranger” test. Match an agent with one from a different training run, same protocol, never met: the collusion index falls from 0.669 to 0.134 — an 80% collapse, with 7.4% of matchings pricing below the competitive level. Even pairs that had settled on the same price fall apart. “Collusion in this environment is not a strategy an agent has; it is a convention a pair keeps.”

Collusion index with the training partner (blue) and with an unseen partner (orange): 0.669 versus 0.134. — Figure 7, Lopes de Moraes and De Losso (2026), arXiv:2610.21867.
The deviation nobody tries
The authors do confirm Calvano’s own check: a one-period price cut does not pay in 92% of pairs. But that is a naive deviation. Computing the best possible strategy against each frozen partner, by exact dynamic programming, gives 17.5% more profit on average (up to 93.7%). Only 124 of 2,048 agents are already playing their best response. “The scheme deters only the deviation no optimizer would choose.”
Why? As exploration fades during training, each pair visits only a narrow corridor of situations. Everything else in the tables stays practically untrained. The authors call the result a self-confirming equilibrium — beliefs that are right on the path taken and never tested off it. Refining the price grid from 15 to 200 levels, which spreads the same training over more situations, lowers the collusion index from 0.64 to 0.23, as this picture predicts. With 5 pairs trained exactly to Calvano’s stopping rule, every result holds, the profitable deviation shrinking to 10.4%.
Still high prices, different remedy
The consumer problem does not go away: prices stay well above competition. What changes is the diagnosis. The authors argue that, with no contingent threat, these pairs fit poorly with agreement-like legal categories — and that disturbing the pairings (a new entrant, rotation, retraining) destroys the coordination of the frozen programs. They also offer their tests as a pre-deployment standard for any pricing system. Their claims cover tabular Q-learning in this one market; whether deep-learning agents learn genuine threats is a question their protocol is built to answer, not presume.
