Auction Strategy Lab, Explained

After reading this you will know how the four classic auction formats work, why they raise the same expected revenue under simple assumptions, how to shade your bid correctly in a first-price auction, and why the winner of a common-value auction tends to overpay.

What the lab shows you

An auction is a mechanism for selling one item to the bidder who wants it most, using price to reveal that want. This lab runs four classic mechanisms: first-price sealed bid, second-price sealed bid (Vickrey), the English ascending clock, and the Dutch descending clock. In each, several bidders draw a private value at random from a known range, then compete under the rules you pick.

Here is the hook. Set up three bidders and a first-price auction. Each draws a value between 0 and 100. Suppose the draws are 40, 70 and 90. If every bidder simply bid their true value, the winner would pay 90 and earn zero profit. So nobody does that. The bidder holding 90 shades down, bids about 60, wins, and pockets 30. The whole game is deciding how far to shade, and the surprising result is that the seller collects the same expected revenue no matter which of the four formats you run.

The four formats in one paragraph each

A first-price sealed-bid auction takes one hidden bid from each player. Highest bid wins and pays what it bid. You must shade below your value, because paying your full value leaves no profit.

A Vickrey (second-price sealed-bid) auction also takes one hidden bid each. Highest bid wins, but pays the second-highest bid. This split between what decides the winner and what sets the price is the whole trick: it makes honest bidding optimal.

An English auction runs a price upward. Bidders stay in while the clock is below their value and drop out above it. The last one standing wins at roughly the second-highest value, the price where the runner-up quit. This is strategically equivalent to Vickrey.

A Dutch auction runs a price downward from a high start. The first bidder to accept wins at that price. Deciding when to jump in is the same problem as choosing a sealed first-price bid, so Dutch and first-price are strategically equivalent.

Two pairs collapse into two strategies. English behaves like Vickrey (bid your value), and Dutch behaves like first-price (shade below it). So you really only need to master two ideas, not four.

When this model applies, and when it does not

The clean results here assume independent private values: each bidder knows exactly what the item is worth to them, and one bidder's value tells you nothing about another's. That fits a concert ticket you personally want, or a painting you would hang at home. It fits many procurement and spectrum settings well enough to be useful.

It does not fit an oil lease, a company being acquired, or a jar of coins on a desk. Those have one common value that is the same for everyone but unknown, and each bidder only sees a noisy estimate. Switch the lab to common-value mode and the winner's curse takes over, which is a separate lesson covered below. The lab also assumes bidders are risk neutral. Risk-averse bidders bid more aggressively in first-price auctions, and that is exactly where revenue equivalence starts to bend.

The equilibrium bidding formulas

With n risk-neutral bidders drawing independent values uniformly on [0, 1], the symmetric equilibrium bid in a first-price auction is a fixed fraction of your value.

b(v) = v \cdot \frac{n-1}{n}

Here v is your private value, b(v) is your bid, and n is the number of bidders. With n = 2 you bid half your value. With n = 5 you bid 0.8 of it. As n grows the fraction (n-1)/n climbs toward 1, so more competition forces you to shade less.

The intuition: your bid only matters when you win, and winning means being the top of n-1 rivals. The factor (n-1)/n is the expected value of the highest rival draw given that you are the highest. You want to bid just enough to beat that, no more.

b(v) = v

In a Vickrey or English auction the equilibrium is far simpler: bid your value. Raising your bid above v can only win you an item at a price above v, which loses money. Lowering it below v can only make you lose an item you would have profited from. Since your bid never sets the price you pay, honesty is a dominant strategy: best no matter what anyone else does.

With 2 bidders the equilibrium first-price bid is half your value; with 3 it is two-thirds; with 5 it is four-fifths; with 10 it is nine-tenths. As the number of bidders rises, the shading fraction (n-1)/n rises toward 1, so you bid closer and closer to your true value.

A worked example with the demo settings

Load the demo (field defaults): four bidders, values drawn uniformly on [0, 100]. Suppose the four draws come out as 30, 55, 72 and 88. Trace one first-price auction, then compare formats.

One auction, four ways

  1. Equilibrium shading fraction with n = 4 is (n-1)/n = 3/4 = 0.75.
  2. First-price: each bidder submits 0.75 of their value, so bids are 22.5, 41.25, 54, 66. The 88 bidder wins, pays their bid 66, and profits 88 - 66 = 22.
  3. Vickrey: everyone bids their value. The 88 bidder wins and pays the second-highest bid, 72. Profit is 88 - 72 = 16. Seller revenue is 72.
  4. English: the clock rises. The 72 bidder drops out at 72, leaving the 88 bidder as winner at a price just above 72. Same outcome as Vickrey.
  5. Dutch: the clock falls from 100. The 88 bidder plans to accept at their first-price bid of 66 and does so, since no one accepts earlier. Same outcome as first-price.

On this single draw the seller collected 66 under first-price and Dutch, but 72 under Vickrey and English. Revenue equivalence is about the average over many draws, not any one auction. The formats disagree case by case and agree only in expectation.

Reading the revenue histograms

Fire a thousand auctions per format and the lab draws four revenue histograms. Under independent private values with n = 4 uniform on [0, 100], all four share the same mean, but their shapes differ.

The expected revenue equals the expected second-highest of n draws. For n uniform draws on [0, 1], the expected k-th highest is (n+1-k)/(n+1). The second-highest (k = 2) is (n-1)/(n+1). With n = 4 that is 3/5 = 0.6, or 60 on a 0-to-100 scale.

All four formats center on the same mean revenue of 60. The equality is the revenue equivalence theorem.

The shapes differ even though the means match. First-price revenue is the winner's bid, 0.75 times the top value, so it tracks the single largest draw. Vickrey revenue is the second-largest draw. The second-largest is less variable than a scaled largest, so the Vickrey histogram is narrower. Check the standard deviations in the lab: for n = 4 the first-price histogram is visibly wider than the Vickrey one even though both average 60.

If your simulated means differ by more than about 1 across formats after 1000 runs, run 10000 instead. The gap is sampling noise, not a broken theorem. The standard error of a mean near 60 with a spread near 20 is about 20/\sqrt{1000} \approx 0.63.

The winner's curse

Switch to common-value mode. Now there is one true value V, say 50, and each of the n bidders sees a noisy signal s_i = V + \varepsilon_i. Suppose each error is uniform on [-20, 20], so each signal is unbiased: on average it equals 50.

The trap is selection. The bidder who wins is not a random bidder; it is the one with the highest signal, and the highest signal is biased upward. With n = 4 the expected maximum error is (n-1)/(n+1) of the half-range, that is 0.6 \times 20 = 12. So the winner's signal averages 62, not 50. Bid your signal and you pay about 62 for something worth 50, losing 12 per win on average.

\hat{V} = s_i - \frac{n-1}{n+1} \cdot R

The fix is to shade for the curse. Here s_i is your signal, R is the half-width of the error range (20 above), and n is the number of bidders. Subtract that correction to get an unbiased estimate conditional on winning, then bid at or below it. Notice the correction grows with n: with more rivals, winning means you were more extreme, so you shade harder. This is the opposite of the private-value case, where more bidders made you shade less.

The winner's expected signal climbs above the true value of 50 and keeps rising with more bidders. Naive bidders overpay by that gap.

Common mistakes

Do not read one auction as evidence against revenue equivalence. Single draws routinely disagree by 10 or more. Only the mean over hundreds of runs converges.

A frequent error is bidding your true value in a first-price auction. That guarantees zero profit when you win, since you pay your own bid. Use the shading slider to see it: set shading to 0 (bid full value) and watch your average profit fall to zero across many runs.

The opposite error is over-shading. Shade far below (n-1)/n and you profit hugely on the rare wins but win almost nothing, so expected profit drops. There is a single best shading fraction, and the equilibrium formula sits at it.

In common-value mode, the mistake is treating your signal as the value. It is an unbiased estimate before you condition on winning, but winning selects the optimists. Always subtract the correction term first.

Related tools

Auctions are one corner of strategic and market simulation. For a live limit-order market with a market maker, see the Order Book & Market Maker. For strategy that evolves over repeated play, the Iterated Prisoner's Dilemma Tournament shows how cooperation and defection compete. For resource conflict without a price mechanism, the Tragedy of the Commons and the Wealth Inequality (Yard-Sale Model) are natural companions. To zoom out to a whole miniature economy, try the Economy Sandbox.

Frequently asked questions

Why do all four formats raise the same revenue?

Under risk-neutral bidders with independent private values, each format awards the item to the highest-value bidder and gives a bidder with value zero zero expected payoff. The revenue equivalence theorem shows those two facts pin down expected payment as a function of value, so the expected revenue is identical. On the demo settings it equals the expected second-highest value, 60.

Should I ever bid my true value?

Yes, in Vickrey and English auctions. There, bidding your value is a dominant strategy because your bid decides only whether you win, never what you pay. In first-price and Dutch auctions, never: shade to v \cdot (n-1)/n.

What breaks revenue equivalence?

Risk aversion, correlated or common values, asymmetric bidders, and reserve prices all break it. Risk-averse bidders bid more in first-price auctions, so that format then raises more than Vickrey. Common values bring the winner's curse.

How many runs do I need for a reliable mean?

The standard error of the mean revenue falls as 1/\sqrt{N}. With a spread near 20, 1000 runs give a standard error near 0.63, so means within about 1 of each other are indistinguishable. Use 10000 runs to separate formats to a tenth of a point.

Why does more competition change shading in opposite directions?

In private-value first-price auctions, more rivals mean the top values crowd near your own, so you shade less: (n-1)/n rises toward 1. In common-value auctions, more rivals mean winning requires a more extreme signal, so you shade more to offset a larger upward bias.