Home
07 · Mechanism Design

Auctions & Bidding

Turning private values into prices — and why the rules of the auction decide who wins, what they pay, and how honest they are.

⊹   EXTRAORDINARY SALES OF RECORD   ⊹

AUCTION HOUSE

— a curated catalogue of historic lots —
LOT · I
🎨
Salvator Mundi
Leonardo da Vinci · c. 1500 · oil on walnut
$450,312,500
CHRISTIE'S NEW YORK · 15 NOV 2017
English ascending · 19 min · 4 final bidders
LOT · II
💎
The Pink Star
59.60-carat oval mixed-cut fancy vivid pink diamond
$71,200,000
SOTHEBY'S HONG KONG · 4 APR 2017
English ascending · 5 min · 3 phone bidders
LOT · III
T206 Honus Wagner
"The Mona Lisa of baseball cards", 1909–11
$7,250,000
GOLDIN AUCTIONS · 12 AUG 2022
Online English ascending · 10-day window
LOT · IV
🖼️
Everydays: First 5000 Days
Beeple · 2021 · digital NFT, 21,069 × 21,069 px
$69,346,250
CHRISTIE'S ONLINE · 11 MAR 2021
Two-week sealed-bid → final ascending
LOT · V
📡
C-Band 5G Spectrum
280 MHz frequency licences · Verizon, AT&T, T-Mobile
$81,170,000,000
FCC AUCTION 107 · JAN–FEB 2021
Multi-round combinatorial clock · 97 rounds
LOT · VI
🚀
Apollo 11 Lunar Sample Bag
Used by Neil Armstrong, 20 Jul 1969 · trace moondust
$1,812,500
SOTHEBY'S NEW YORK · 20 JUL 2017
English ascending · 6 bidders
🔨
Place your own bid
Pick a lot · enter what you'd have bid · see if you'd have walked away with it
$
All prices realised include buyer's premium · figures in USD Same buyers, same items — different auction rules give different winners and different prices. That is the entire lab.
The auction problem

One seller, one (or more) item, and a crowd of buyers who each privately value it differently. An auction is a mechanism — a set of rules — that converts those hidden valuations into an allocation (who gets the item) and a payment (what they pay).

Same buyers, same valuations — but different auction rules pick different winners and different prices, and crucially they give buyers different incentives to bid honestly or shade. That's the heart of mechanism design: choose rules to get the outcomes you want.

Bidders & private valuations

Each bidder has a private valuation vi — the maximum they'd pay before walking away, a number known only to them and never seen by the auctioneer. Formally vi ∈ ℝ₊ and private to bidder i — this IPV model (independent private values) is the standard assumption baseline behind every theorem in this lab. Edit the table below — it drives every tab.

What they actually submit into the auction is their bid bi — a number they pick from their own valuation. Depending on the auction rule, bi may equal vi (truthful, as in Vickrey), be shaded below (as in First-Price & Dutch), or be pushed above (as in Third-Price). The whole game is choosing bi well, given the rules and your vi.

Presets:
Bidders: · Highest v: · Second-highest:
Three big questions every auction has to answer
Efficiency — does the item end up with the bidder who values it most? (Most rules pass this; some fail subtly.)
Revenue — how much does the seller make? Surprisingly, four very different rules give the same expected revenue.
How much the winner pays — what price does the rule charge the winner? Their own bid, the runner-up's, or something in between — this is what every format below really decides.
Each open-cry format up close
Sealed-bid auctions — four formats, one table

Each bidder writes one number on a sealed envelope, slides it under the door, and the auctioneer opens them all at once. No public clock, no opportunity to react. The auction rule then picks the winner and computes the price.

Four classic sealed-bid formats — First-Price, Second-Price (Vickrey), Third-Price and All-Pay — share the same allocation rule (highest bid wins) but pay very different amounts and elicit very different bidding strategies. The open-cry equivalents (English, Japanese, Dutch) sit on the previous tab.

Bidders
Presets:
Edit valuations — every card below updates instantly
Side-by-side comparison
DSIC = Dominant-Strategy Incentive Compatible: truthful bidding is optimal no matter what others do. BNE = Bayes-Nash Equilibrium: optimal given a belief about others. v₍ₖ₎ = the k-th highest valuation in the room.
Theorems & strategies

▸ Second-Price (Vickrey) — truth-telling is a dominant strategy (DSIC)

In a second-price (Vickrey) sealed-bid auction under IPV, bidding bi = vi is a (weakly) DOMINANT strategy. No matter what anyone else bids, you cannot do better than telling the truth — and any other bid risks doing worse. Winner pays v(2).

Why? Your own bid only decides whether you win, never what you pay (the price is the runner-up's bid). Bidding above v risks paying more than the item is worth; bidding below v misses items you would happily own at that price. Just write your real valuation. Vickrey (1961) received the 1996 Nobel for this single insight.

▸ First price and Dutch

Dutch ≡ First-Price Sealed-Bid under IPV — literally the same game. The Dutch clock falls in silence; nobody learns anything before someone speaks. So each bidder reduces their strategy to a single number bi chosen in advance: the price at which they will call MINE!. That is identical to writing a sealed bid. Symmetric BNE under U[0,Vmax]: bi* = vi · (n−1)/n

▸ Proof — why the equilibrium bid is b* = v · (n−1)/n

Claim. With n bidders whose values are iid Uniform on [0, Vmax], the symmetric Bayes-Nash equilibrium of the first-price (≡ Dutch) auction is b*(v) = (n−1)/n · v

Setup. Highest bid wins and pays its own bid, so a winner with value v earns profit v − b and a loser earns 0. Bidding b = v guarantees zero profit, so everyone shades below v — the question is by how much. We look for a symmetric, strictly increasing equilibrium strategy b(·). Values are scale-free, so set Vmax = 1 (the answer turns out independent of Vmax); then P(value < x) = x.

Step 1 · Two bidders — get the intuition
Two bidders, values v1, v2 ~ U[0,1]. You hold value v and submit bid b. Guess the rival plays a linear rule b(x) = α·x. win ⟺ b > α·v2 ⟺ v2 < b/α P(win) = b/α Expected profit: E[b] = (v − b) · P(win) + 0 · P(lose) = (v − b) · b/α = (v·b − b²)/α First-order condition: dE/db = (v − 2b)/α = 0 ⟹ b = v/2 Self-consistency — this best reply must equal the assumed rule b(v)=α·v: α·v = v/2 ⟹ α = ½

So with two bidders each one bids half their value. The linear guess reproduces itself (α = ½), which is exactly what makes it an equilibrium — and ½ = (n−1)/n at n = 2.

Why the support [0,1] was harmless. Any interval [x, y] is just [0,1] stretched and shifted: a value on [x, y] is x + (y−x)·ṽ for some normalized ṽ ∈ [0,1]. So take the unit-interval solution α·ṽ, multiply it by the width (y−x), and add the offset x — that affine map is the equilibrium on [x, y]. Run the same calculation directly to see it: measure value and bid as amounts above the floor, V = v − x and B = b − x (both in [0, y−x]), and note the profit is still v − b = V − B.

P(win) = B / (α·(y−x)) ← width (y−x) is the only constant E[b] = (v − b) · P(win) = (V − B)·B / (α·(y−x)) dE/dB = (V − 2B) / (α·(y−x)) = 0 ⟹ B = V/2

The width (y−x) divides straight out of the first-order condition, and the floor x cancels because value and bid both sit above it — so you again shade the above-floor amount by exactly half. Restoring units, b* = x + ½(v − x): the very same ½ = (n−1)/n slope, just measured from x. Now generalize to n bidders.

Step 2 · n bidders — the general argument

Suppose every other bidder uses the same increasing strategy b(·). Because b is increasing, choosing a bid is equivalent to choosing a pretend value z and submitting b(z). You beat a rival exactly when their value is below z, so you win iff all n−1 rivals fall below z:

P(win | bid b(z)) = P(all n−1 rivals < z) = zn−1 Expected profit of a type-v bidder pretending to be z: E[b(z)] = (v − b(z)) · P(win) + 0 · P(lose) = (v − b(z)) · zn−1 In equilibrium the truthful choice z = v must be optimal, so dE/dz = 0 at z = v: dE/dz = −b′(z)·zn−1 + (v − b(z))·(n−1)·zn−2 Set z = v and equate to 0: −b′(v)·vn−1 + (v − b(v))·(n−1)·vn−2 = 0 Expand (v − b(v))·(n−1)·vn−2 = (n−1)·vn−1 − (n−1)·vn−2·b(v), then move the b-terms left and (n−1)·vn−1 right — no division needed: b′(v)·vn−1 + (n−1)·vn−2·b(v) = (n−1)·vn−1
The left side is exactly a product-rule derivative: d/dv [ vn−1·b(v) ] = vn−1·b′(v) + (n−1)·vn−2·b(v) so the whole equation collapses to d/dv [ vn−1·b(v) ] = (n−1)·vn−1 Now integrate both sides in v: ∫ d/dv [ vn−1·b(v) ] dv = ∫ (n−1)·vn−1 dv vn−1·b(v) = (n−1)·vn/n + C Boundary condition — a bidder with value 0 bids 0, so b(0) = 0. Plug v = 0 into the line above: 0n−1·b(0) = (n−1)·0n/n + C ← every term with a 0 vanishes 0 = 0 + C ⟹ C = 0 so the constant drops and vn−1·b(v) = (n−1)·vn/n Finally divide both sides by vn−1: ∴ b*(v) = (n−1)/n · v

At n = 2 this is v/2, matching Step 1; with n = 4 the bid is 75% of v, with n = 10 it climbs to 90%, and as n → ∞ shading vanishes (b → v) — more rivals, less room to lowball. Restoring Vmax changes nothing: the factor (n−1)/n is scale-free.

Why exactly (n−1)/n? Note that (n−1)/n · v = E[ max of the n−1 rival values | all of them are below v ]. So in equilibrium you bid the expected highest competing value, conditional on winning — which is the price you'd expect to pay in a second-price auction. That coincidence is the seed of the Revenue Equivalence Theorem on the next tab.

The Revenue Equivalence Theorem

In 1981 Roger Myerson and John Riley & William Samuelson proved:

Revenue Equivalence Theorem. Assume that each of n risk-neutral agents has an independent private valuation for a single good at auction, drawn from a common cumulative distribution F(v) that is strictly increasing and atomless on [v, v]. Then any auction mechanism in which • the good will be allocated to the agent with the highest valuation; and • any agent with valuation v has an expected utility of zero; yields the same expected revenue, and hence results in any bidder with valuation v making the same expected payment.
The Winner's Curse — when winning is losing

In the common-values setting, each bidder i sees a private signal si = V + εi where V is the unknown true value and εi is mean-zero noise. Individually unbiased: E[si | V] = V. The bidder who bids highest is the one whose signal landed highest — exactly the bidder who happened to draw the largest positive noise. Conditional on winning, their signal is systematically biased upward. They paid too much.

Winner's Curse. If every bidder bids their private signal si, then in any auction the winner's payment exceeds the true value V in expectation: E[ winning bid  |  you won  ]  >  V The act of winning is itself information — it tells you everyone else thought the item was worth less. A rational bidder must condition on that and shade DOWN.
The picture — a bell curve of signals, and who wins

Picture the bidders' signals as draws from a bell curve centred on the true value V. Each draw is individually unbiased, but the auction awards the item to the single highest one — and the maximum of many draws almost always lands in the right tail, above V. Winning selects the most over-optimistic estimate; that gap is the curse.

The highlighted draw is the winner — watch it sit right of V almost every time
Where the curse has bitten in real life
Capen, Clapp & Campbell (1971) — three Atlantic Richfield engineers analysed 1969 Gulf of Mexico oil-lease auctions. Winners paid an average of the dry-hole-adjusted value. They named the phenomenon "the winner's curse" in the Journal of Petroleum Technology.
3G spectrum auctions (2000–2001) — UK telcos collectively paid £22.5B for 3G licences; many later wrote down billions. Several German & Italian operators (KPN, Telefónica) booked massive impairments within 18 months.
M&A premiums — acquisitions in contested takeover battles routinely destroy acquirer value: the winner is the firm with the most optimistic synergy estimate. Andrade, Mitchell & Stafford (2001) found acquirer abnormal returns around announcement average −1.0%.
Free-agent baseball contracts — Cassing & Douglas (1980) showed MLB free-agency salaries systematically over-pay the most optimistic bidder. The Yankees and Mets have spent decades funding this insight.
FCC C-block PCS auction (1996) — small-business set-aside, 90+ winners defaulted within two years when they couldn't pay their bids. The FCC absorbed billions in writedowns.
Lab experiments — Kagel & Levin (1986) found even experienced economics graduate students fall into the curse repeatedly. Learning is slow and partial; most subjects need 10+ trials before adjusting their bids.
More auction families

The single-item, single-seller formats on the earlier tabs are just the start. Real markets stretch the auction idea in three common directions — two-sided, buyer-led, and many-item.

Reverse auction
  • Single buyer and multiple sellers
  • Priceline.com
Real life. Corporate & government procurement — a buyer posts a contract (say, a year of office supplies) and pre-qualified suppliers bid the price down in real time.
Multiunit auction
  • Seller has multiple items for sale
  • Identical — e.g. top 5 bidders win and pay the fifth-best price
  • Different — e.g. selling an inheritance
  • FCC spectrum auctions
Real life. The US Treasury auctions billions in identical bonds each week at a single clearing yield; the FCC auctions dozens of different spectrum licences to carriers like Verizon and AT&T.
Double auction
  • Buyers and sellers both submit bids
  • Stock exchanges
Real life. The NYSE and NASDAQ run continuous double auctions, matching streams of buy and sell orders at a live clearing price all day. Wholesale electricity pools and commodity exchanges clear the same way.
How the Google Ads auction works
Google Ads Help — the ad auction & Smart Bidding
Google's official docs: how the per-search auction decides which ads show and in what order, and the ML-driven auction-time bidding that feeds it
📘 How the Google Ads auction works  →  answer/142918 📘 Google Ads auction  →  answer/6366577

Google runs one fresh auction for every single search — billions a day — to decide which ads appear and in what order. Here is what the result looks like to a searcher:

Those Sponsored slots were filled by the auction, shown in Ad-Rank order. The auction runs in three steps:

1 · Keyword matching  →  the system gathers every ad whose keywords match the search term the user just typed.
2 · Eligibility filter  →  ineligible ads are dropped — e.g. ads targeting a different country, or ads that violate policy.
3 · Ad Rank  →  remaining ads are ranked by Ad Rank; only those clearing the relevant Ad Rank thresholds can show, in Ad-Rank order.
Google Ads · Smart Bidding

Now the bidding. Smart Bidding is Google's umbrella term for a family of automated, ML-driven bid strategies that set a fresh bid for every individual auction a Google Ads campaign enters — and there are billions per day.

It is the production-grade form of reinforcement-learning bidding. Instead of one hand-set bid for the whole campaign, the system observes contextual signals at the moment of each auction (device, location, time, query, audience, browser, previous behaviour, …) and asks an ML model: "given this exact context and our campaign goal, what bid maximises the goal?"

This is called auction-time bidding: the bid fed into the per-search auction above is computed live, in milliseconds, for that one impression — and it is different for every auction even within the same campaign.

Under the hood — two ML layers

Production Smart Bidding stacks two models: a predictive layer that estimates what an impression is worth, and a decision layer that turns that estimate — together with your budget and goal — into the bid actually submitted.

1 · The Predictive Layer — Supervised Deep Learning

From the auction's context (query, device, location, time, audience, history) a deep network predicts the probability and value of a conversion — your expected value v for this impression. It is trained on billions of past outcomes by supervised learning: predict → compare with what actually happened → adjust the weights.

📄 Setting Smarter Search Bids — Google (2021)
2 · The Decision Layer — Reinforcement Learning (RL)

Given that predicted value, plus your Smart Bidding strategies, an RL / control policy chooses the bid actually submitted — pacing spend across the day and the whole campaign. This is exactly the sequential, budget-constrained decision reinforcement learning is built for.

📄 Reinforcement learning for auto-bidding — arXiv:2206.01293
The six Smart Bidding strategies

Each strategy uses the same underlying ML — what differs is the objective being optimised. Pick the one that matches what you can measure and what you want to grow.

¢
Target CPA
cost-per-acquisition

Sets bids to get as many conversions as possible at your specified average cost-per-acquisition. Good when you know what a customer is worth.

↗ maximises conversions @ target $/conv
ⓘ more information ↗
%
Target ROAS
return on ad spend

Optimises bids to hit a target revenue / spend ratio. E.g. tROAS = 400% means $4 in revenue per $1 of ad spend.

↗ maximises conversion value @ target ROAS
ⓘ more information ↗
Maximize Conversions
spend the budget

Spends the entire daily budget to get the most conversions. No cost cap — use when you just need volume.

↗ maximises conversion count
ⓘ more information ↗
$
Maximize Conv. Value
value not count

Like Maximize Conversions, but optimises for total conversion value. A $500 sale counts more than a $5 sale.

↗ maximises Σ conversion value
ⓘ more information ↗
Enhanced CPC
manual + ML boost

You set the base bid manually; Google raises it when a conversion is likely and lowers it when it isn't. A bridge between manual and automated bidding.

↗ adjusts manual bids ±30%
ⓘ more information ↗
Target Impression Share
visibility

Sets bids to show your ad in a chosen position (e.g. absolute top, top of page, anywhere) on a target % of eligible queries. Brand-awareness oriented.

↗ hits target visibility %
ⓘ more information ↗
End-to-end — from a search to the ad shown
From a user's search to the ad that shows — the two ML layers in the pipeline context features value v bid win USER SEARCH 🔍 "running shoes" on Google CONTEXT SIGNALS device · location time · audience history · query → a feature vector ① PREDICTIVE LAYER supervised deep net p(convert) ≈ 3.8% value v = $4.20 ② DECISION LAYER reinforcement-learning policy π π + budget · strategy (tCPA / ROAS) bid = $2.52 AUCTION ⚖️ Ad Rank vs rival bids 🏆 YOUR AD SHOWS Sponsored Running Shoes — 40% Off pacefox.store · free returns Men's · Women's · Sale supervised deep learning — predict the value reinforcement learning — decide the bid