← all writing

· 6 min read

Why the first brand into an empty hour pays nothing

An empty ad slot is worth nothing to everyone: no revenue for us, no proof for the buyer, no reason for the next person to bid. Giving it away was the cheapest way to fix all three.

The board has twenty-four slots, one per hour. On day one, all twenty-four were empty.

An empty slot is a peculiar kind of asset. It costs nothing to hold and produces nothing. Worse, it actively damages the thing around it: a board of empty rectangles tells every visitor that nobody wants this, which is the single most expensive message a marketplace can send.

So we made the first bid on any untouched hour free. Not discounted. Zero. No card, no account, type a URL and the hour is yours until somebody pays more.

Here's the reasoning, including the parts that make me uncomfortable.

The cold-start problem, stated honestly

Every marketplace has the same first problem and it is genuinely circular:

  • Advertisers won't bid on a board with no audience
  • There's no audience on a board with nothing to look at
  • There's nothing to look at until advertisers bid

The usual answers are to buy the supply side, fake it, or grind it out with sales. Buying it costs money we would rather spend elsewhere. Faking it — inventing brands, inventing numbers — is the one option I will not take. If I invent a single figure, every other number becomes worthless.

Which leaves changing the price. And the honest price of an ad slot nobody has ever bid on, with no audience and no track record, is zero. We were not being generous. We were being accurate.

What "free" is actually buying

Three things, and they are not the ones you would guess.

A board that looks alive. This is the obvious one and the least important.

Proof for the next buyer. This is the real reason. Every brand that holds an hour generates public numbers — card opens, click-throughs, the rate between them. A brand that takes an hour for nothing is producing the evidence the next brand needs in order to pay. The free hour is not a discount; it is us buying data, and paying for it in inventory that was worthless anyway.

A price floor discovered rather than declared. We do not know what an hour is worth. Nobody does — it has never been sold before. If we had set $5 and nobody bid, we'd have learned nothing, because we couldn't tell "too expensive" from "nobody wants it". Starting at zero means every bid above zero is a real signal about value.

The mechanics, and the two rules that stop it being abused

The rule sounds exploitable. Mostly it isn't, because of two constraints.

Free only applies to an untouched hour. Once anybody holds a slot — even at $0 — taking it costs money. Zero cannot beat zero. So the free bid is available exactly once per hour, to whoever gets there first, and after that the hour behaves like a normal auction.

One free claim per bidder per day. Without this, one person takes all twenty-four hours for nothing and the board earns nothing forever. The visitor cookie behind it is clearable, so this raises the cost of gaming it rather than making it impossible. We chose "raises the cost" deliberately: the alternative is forcing an account before anyone can try anything, which reintroduces exactly the friction the free hour exists to remove.

There's a third constraint that emerged from the payments side rather than from design. Stripe won't process a charge under 50 cents, so a bid of one cent above a $0 holder is impossible to take money for. The minimum to displace a free claim is therefore 50 cents, not $0.01. Small detail, and it took a real bug to find it.

What it costs us

Being straight about the downside.

The best hour of the day can be held for nothing. If nobody else bids on 14:00, whoever claimed it first keeps it free all day. That is revenue we will never see.

It attracts people who will never pay. Some proportion of free claims are from brands with no intention of ever bidding money. They still generate click data, so it isn't a total loss, but it isn't a customer either.

It sets an anchor. Once someone has had an hour for nothing, $5 feels like a price increase rather than a price. I think this is the genuine long-term risk and I do not have a good answer for it yet.

What I can't tell you yet

This is where a post like this normally produces a chart showing the strategy working.

I don't have one. The board is new. I know what we built and why; I do not yet know the conversion rate from free claim to paid bid, and I am not going to estimate it and present the estimate as a finding. That is the thing I said I wouldn't do two sections ago.

What I can tell you is what we will publish when there is enough data to publish: how many free hours were claimed, how many of those brands went on to bid money, how many claimed once and vanished, and what the free hours cost in foregone revenue. Including if the answer is that it didn't work.

The stats page is public and updates continuously, so you can watch the raw version before I get round to writing about it.

If you're facing the same problem

The general form, for anyone building a marketplace with a cold start:

Price the first unit at what it is honestly worth, which is usually nothing, and be clear with yourself about what you are buying with it. If the answer is "activity", that is vanity. If it's "the evidence the next buyer needs", that is a real purchase and worth the inventory.

Then cap it, so one person cannot take the whole thing.

Then say out loud what it costs you, because a free tier with no stated cost is a free tier nobody has thought about properly.


Take an empty hour — it costs nothing, and new accounts get $10 of credit on top.

BidSurvivor sells advertising by the hour, at auction. The first brand into an empty hour pays nothing, every account gets $10 to bid with, and every brand's click-throughs are public before you bid.

See the board

Read next