Skip to content
Sprint projectOct 26, 2026Bengaluru

Took the Offer or Just Followed the Price? Avoiding False Accusations in Collusion Stings on AI Pricing Agents

Pranav Kasetty, Kaustubh Gupta, Amey Muke, Meena Kumari · Team MAPK

Submitted to AI Collusion Research Sprint. Sprint projects are early-stage work by participants, not Apart Research publications.

Read the report

Report: Took the Offer or Just Followed the Price? Avoiding False Accusations in Collusion Stings on AI Pricing Agents

Code (opens in new tab)
Share

Law enforcement catches conspiracies with undercover officers, and AI audits could do the same: a trusted agent offers to collude and logs which agents reciprocate. In a market this sting has a blind spot. A rival that proposes a higher price has usually raised its own, and an agent that raises in response may be following the price rather than accepting anything. We add a replay: the same game rerun with the raise but without the offer, so an agent is flagged only if it accepts with the offer and not without it. We test this in a simulated two-firm pricing market with a scripted trusted rival, scoring six detection rules on agents of known intent and on uninstructed agents from four model families. Rules that read only the offer branch accuse agents that simply follow a raise. The replay avoids these false accusations when an agent counts as guilty only if the offer changed its price, though it is the wrong rule if ending at the rival's price is enough to count as guilty. Uninstructed agents talk about coordinating in most messages yet almost never take an explicit offer. A threat works where offers fail: one sentence promising a price war moved gpt-oss-20b to the threat's price floor in 14 of 18 sessions, though never to the rival's price. Collusion stings on AI agents need a raise-only control, and audits must state what they count as acceptance.

Reviews

Judging this Sprint?

Review “Took the Offer or Just Followed the Price? Avoiding False Accusations in Collusion Stings on AI Pricing Agents”

Your public critique appears on the project page without your name. Reviews of strong projects are shared with funders, as you choose below.

Not shown on the project page.

Shown on the project page, without your name.

Only the Apart team reads this, and funders if you agree below.

Decline to score

Only when the quality of the writing makes the work impossible to follow. Say why in your private critique; the project page shows only that a judge declined, not why.

How much would this matter for the field if it worked? How innovative is it? For scores of 4-5: is this actually new to the field, or replicating recent work?

Scoring guide
  1. 1Negligible. No clear problem addressed, or no meaningful novelty.
  2. 2Limited. Addresses a real problem but with a generic or well-trodden approach. Incremental at best.
  3. 3Moderate. Clear problem with a reasonable approach; some novelty in framing or method beyond routine application of existing tools.
  4. 4Significant. Important problem with an original approach, or identifies a neglected problem area. A valuable contribution others could build on.
  5. 5Exceptional. Tackles a critical problem with a genuinely novel approach, or opens a new research direction. Clear theory of change. You'd be excited to share this with researchers in the area.

How sound are methodology, implementation, and findings?

Scoring guide
  1. 1Seriously flawed. Methodology broken, results uninterpretable, or implementation doesn't work.
  2. 2Weak. Approach has significant gaps: missing validation, flawed experimental design, or incomplete implementation.
  3. 3Competent. Technically solid given the short duration. Methodology makes sense, results are interpretable, limitations acknowledged, work builds toward clear conclusions.
  4. 4Strong. Thorough methodology with convincing validation. Results clearly support conclusions. Immediately useful for future work.
  5. 5Exceptional. Ambitious scope executed rigorously. Surprising findings, novel methods, or unusually robust validation.

How clearly are work, findings, and impact potential communicated?

Scoring guide
  1. 1Incomprehensible. Cannot determine what the project is actually claiming or doing.
  2. 2Hard to follow. Key information buried, missing, or diluted by excessive length. Significant effort to extract main points.
  3. 3Clear enough. Can understand the problem, approach, and results without undue effort. Core content clearly present: problem, method, findings, limitations.
  4. 4Well presented. Easy to follow, well-structured, appropriate level of detail. Target audience would get it quickly.
  5. 5Exceptionally clear. A pleasure to read. Complex ideas made accessible. Could serve as a model for how to present this type of work.
Sharing your name *

When we share a strong project with funders, your name, scores and public critique go with it, confidentially; this choice is only about whether your name is public. If you think this project deserves funding, please also endorse it: that carries the most weight.

Share my private critique with funders *

See our Privacy Policy.

  1. The raise-only replay is a simple and convincing control. An agent that raises its price after a rival's offer may only be following the price, and the replay separates the two. Scoring six detection rules against agents of known intent, under four definitions of guilt, makes a point that audit designs often overlook. The grounding in how courts infer acceptance from conduct is well chosen, and Figures 1 and 3 explain the design and the main result clearly.

    Suggestions:

    1. From what I read, rival B never rewards A for matching, so accepting always costs A money. This makes uninstructed acceptance unlikely by design. A version in which matching pays would show whether uninstructed agents take a profitable offer and whether the replay still separates them.

    2.Three of the four definitions of guilt were added after the main analysis. Pre-registering the definition an audit should use and testing it on a fresh set would make the scorecard confirmatory.

    Read full reviewShow less
  2. The replay control is a causal fix for a real blind spot in collusion stings. It works by forking the game with the same seeds into two branches: one that allows only raises and another that allows raises plus offers. Then it flags the agents that accept in the second branch. This setup reveals what might otherwise go unnoticed.

    Scoring six rules on seven agents of known intent under four definitions of guilt highlights the issue clearly. Under a reading the replay produces 7 wrong verdicts in 268 sessions more than 65 wrong verdicts for every other rule. Yet price alone flags 57 out of 59 followers. Under a conduct reading the ranking flips. That’s a difference.

    The replication on Claude Haiku 5.5 the pre-registrations the hand-label checks with kappas (including the two that failed) and especially Section E.5 where the "hide the rivals price" arm is shown to leak the price through the agent’s own quantity and the arm’s null is withdrawn are all examples of solid discipline. That kind of rigor makes a result trustworthy.

    The threat finding is small but important. An unenforced threat is just as effective as an enforced one. The agent lands on the named floor. That has implications for what a trusted agent should actually send.

    Caveats: Three of the four guilt definitions were set after the analysis. The known agents are instructed so detector scores come from a test bench. The replay needs sampling, which GLMs endpoint did not provide 11 of 30 sessions disagree between identical runs.. The threat pilot is based on one model, 18 sessions, with messages unanalysed.

    Running the replay, against a model that does take offers is the next step.

    Read full reviewShow less

Cite this project

@misc{kasetty2026took,
  title = {{Took the Offer or Just Followed the Price? Avoiding False Accusations in Collusion Stings on AI Pricing Agents}},
  author = {Pranav Kasetty and Kaustubh Gupta and Amey Muke and Meena Kumari},
  year = {2026},
  month = oct,
  note = {Submitted to AI Collusion Research Sprint, an Apart Research Sprint},
  howpublished = {\url{https://apartresearch.com/sprints/projects/took-the-offer-or-just-followed-the-price-avoiding-false-accusations-in-collusion-stings-on-ai-pricing-agents-sdcz}},
  url = {https://apartresearch.com/sprints/projects/took-the-offer-or-just-followed-the-price-avoiding-false-accusations-in-collusion-stings-on-ai-pricing-agents-sdcz}
}