Auction Lab

First-price sealed bid

Highest bid wins and pays its own bid, which rewards shading below your value.

Bidding your true value is not dominant here. A bidder who knows something about their rivals can do better by bidding something else, and the worked example below shows what and why.

A worked example

The same three bidders, the same private values — 100, 72 and 41 — but here the winner pays their own bid, so each of them bids below what the item is worth to them. A shades to 75.

BidderWorth to themBid
A10075
B7260
C4135

What the mechanism does, step by step

  1. collect bids Each bidder submits one sealed bid; private values are never revealed.
  2. sort Bids are ranked from highest to lowest. Equal bids keep the order the bidders were listed in, so a tie goes to the first-listed bidder.
    75 >= 60 >= 35
  3. pick winner The highest eligible bid wins the item.
    argmax b_i = A at 75
  4. price rule The winner pays exactly what they bid, so every unit of bid above the runner-up is money left on the table. That is why bidders shade their bids below their true value here, and why the bids you see are not values.
    p = b_i = 75
  5. payments A pays their own bid of 75; the losers pay nothing.
    revenue = 75

How it came out

WinnerA
Price paid by the winner75
Seller revenue75
Value created100
Went to whoever valued it mostyes
BidderPaidEnded up with
A7525
B00
C00

A wins and pays 75, keeping 25. Had A bid their true 100 they would have won and kept nothing, which is why nobody does. Shading is not cheating here; it is the only sensible play, and how far to shade depends on how many rivals there are and what you believe they are worth — the reason first-price auctions are analysed with Bayes-Nash equilibrium rather than a dominant strategy.

Run this auction step by step

The link carries the whole setup, so you can change a bid and watch what moves — and send the result to somebody else.

Settings

SettingDefaultWhat it does
Reserve price0Bids below the reserve are ineligible; the seller keeps the item.

Read next