AlgorithmicAntitrust

Prove your pricing algorithm acts alone.

Dynamic pricing systems can learn to hold prices high by watching each other without anyone agreeing to anything. Courts, statutes and enforcers now ask three questions: were the inputs public, were the recommendations binding, did the rivals move together. This engine measures all three from your own logs or from public prices, and returns indices, p-values against simulated competitive markets, and a hash-chained certificate for counsel.

Run a live audit on synthetic data   Read the methodology
0 to 1every index
3simulated competitive nulls
BHcorrected p-values
SHA-256chained evidence log
read onlynever touches pricing

What it measures

Each module answers one question a court or a regulator actually asks. Nothing here is a finding of agreement; everything here is evidence about conduct.

Price Parallelism Index

Co-movement of log returns over 1h, 24h and 7d windows, searched over a small lag band so a one-step-lagged copier cannot hide. Level correlation is reported but labelled spurious-prone.

Lead-lag and reaction latency

Granger causality in both directions on stationarity-checked returns, plus event-based reaction time on the raw clock. Following a rival within 30 seconds in 90% of events is not a human on a dashboard.

Asymmetric response

Rockets-and-feathers test: does the algorithm follow increases faster and more fully than decreases? A Wald contrast on up versus down pass-through, a ratchet index and price-floor rigidity.

Human delegation index

The share of algorithmic recommendations accepted, the longest acceptance streak, and whether the few rejections target large moves. A rubber stamp is not review.

Non-public data commingling

A screen of the input features the algorithm consumed for competitors' private state and shared-pool provenance. This is the input-side pattern the recent cases turn on.

Cartel screens and nulls

Variance screen, structural breaks, and three simulated competitive worlds calibrated to your data, so an index becomes a p-value under the most generous competitive explanation.

Two ways to run it

ModeYou supplyYou get
A Log auditYour own execution log: timestamp, SKU, price, proposed price, override status, input features. Read only; the engine never connects to your systems.Lockstep, lead-lag, reaction latency, ratchet, delegation index, commingling screen, certificate.
B Market observabilityPublic price snapshots across merchants for identical SKUs, from any source.Lockstep, lead-follower latency, floor rigidity, asymmetric response, per pair.

Inputs: CSV, Parquet or JSON lines with ts, sku, seller, price and optional Mode A columns. Seller labels are opaque; the mapping to real identities never leaves you.

The legal context the engine is hardened against

Statutes and enforcement positions in force at the time of writing. This is context, not legal advice.

California AB 325Preventing Algorithmic Price Fixing Act, effective 1 January 2026. Amends the Cartwright Act to prohibit using or distributing a common pricing algorithm fed with competitor data to coordinate prices, and lowers the pleading bar.
New YorkAlgorithmic Pricing Disclosure Act, effective 10 November 2025, plus a 2025 amendment to the Donnelly Act on algorithmic pricing tools in residential rentals.
US DOJA May 2026 statement by the Antitrust Division's criminal enforcement leadership that pricing tools fed with shared non-public data can carry criminal exposure.
Case lawFederal courts have both dismissed and allowed algorithmic pricing claims. The decided cases turned on whether inputs were public, whether recommendations were binding, and whether competitors moved together. Those are the three things this engine produces evidence on.

What comes out

A canonical JSON report, a certificate, a PDF, and an evidence log where each entry carries the hash of the one before it. Alter or remove one report and every hash after it breaks. The engine issues a Certificate of Independent Action only when the composite is low and no critical flag fired, whatever the composite says.

CERTIFICATE OF INDEPENDENT ACTION
Method version  aac-0.2.0
Input hash      3f1c…9a
Report hash     7006ecc0438be85ed8c3620a08e841377f1a1baf…
Previous entry  0000000000000000000000000000000000000000…
Overall risk index   0.136  (0 independent, 1 lockstep)
Tests corrected (BH) 4, significant after correction 0
Flags: none

Talk to us about an engagement

Law firms, in-house counsel and pricing teams. Tell us the market and the data you hold; we reply through the channel you give here.