← back to the ranking

How the ranking is calculated

One number decides the order: what a click on the #1 spot costs you. Here is the arithmetic, and the real listings every figure came from.

Worked examples use the boards' own public data, captured 2026-08-25 22:42 UTC and 2026-08-26 08:36 UTC. Nothing on this page is invented — every figure below can be re-derived from the numbers shown next to it.

01 The one number

Every board in the ranking is sorted by cost per click — the price of taking the top spot, divided by the clicks that spot sends in a day.

The whole method, in one line cost per click = price to take the spot ÷ clicks that spot delivers per 24h Everything else on this page is just those two inputs, measured carefully.

Most boards already print a cost per click next to each listing. We don't use it, because it answers the wrong question. A board divides a listing's lifetime spend by its lifetime clicks — a summary of what somebody else already paid, dragged down by clicks the listing earned weeks ago at a rank it no longer holds. A buyer needs the opposite: what the next dollar buys, at today's price, at the rank they'd actually be taking.

So both inputs are measured forward. The price is what it costs you, right now. The click rate is measured from the listing currently sitting in the spot.

02 What the spot costs you

These boards are auctions. The figure a board displays beside #1 is the current top bid — what the holder paid. It is not a price tag. To take the spot you have to beat it, so the price that matters is the top bid plus the board's minimum raise.

vibewar.lol — top of the ladder 2026-08-25 22:42 UTC
#ListingBid
1Wento$105
2SpotPixels$104
3Elite Club$103
4Gavel$102
5snipehour.lol$101
Price to take #1 on vibewar.lol price = top bid + minimum raise
price = $105 + $1 = $106 The $1 gaps down the ladder are the minimum raise made visible — every bidder beat the one below by exactly the smallest legal step.

The raise is each board's own increment. It is $1 on nearly every .lol board; justvibe.lol prices in cents, so its raise is $0.01. Boards that sell at a fixed price rather than by auction — elite-club.lol's €1,000 slot, snipehour.lol's $1 votes — have no raise to add, so their listed price is used unchanged.

Rounding Prices are always rounded up to the whole dollar. You can't take a spot for less than it costs, so rounding down would advertise a price that doesn't exist.

03 What the spot delivers

The second input is the click rate of the spot itself: how many clicks the #1 listing is currently pulling per 24 hours. Boards publish a lifetime click count per listing, and the timestamp at which the current holder took the spot. Those two give a rate.

bidtree.lol — the #1 listing 2026-08-25 22:42 UTC
#ListingClicksOn the spot
1RO Pearl7437.2h
Click rate at #1 on bidtree.lol clicks/day = clicks ÷ hours on the spot × 24
clicks/day = 74 ÷ 37.2 × 24 = 47.7

The same measurement on launchwars.lol, where the #1 listing had taken 13 clicks in the 14 hours it had held the spot, gives 13 ÷ 14.0 × 24 = 22.3 clicks/day. Boards report clicks over wildly different lifetimes — one listing has been up for two hours, another for five days — so every board is normalised to the same 24-hour window. That normalisation is the only reason a $17 board and a $14,000 board can appear in one list.

04 When the #1 spot is too young

Dividing by hours breaks when there are barely any hours. A handful of clicks collected over a short window is mostly noise, and multiplying that noise up to a daily rate produces nonsense.

bidtree.lol — the same board, two window lengths 2026-08-26 08:05 → 08:36 UTC
#ListingClicks seenImplied /day
1MillionDollarVibePage · watched 31min9420
2RO Pearl · watched 9.9h921.8

Both listings took exactly nine clicks. One took them inside a thirty-one-minute window, the other across ten hours — and dividing by the window turns the same nine clicks into 420 clicks a day or 21.8. The short window isn't describing a faster listing. It isn't describing anything yet.

A freshly-taken #1 has the same problem: a spot that changed hands half an hour ago gives you almost nothing to divide by. So there is a rule: if the #1 spot changed hands less than six hours ago, its own rate is discarded and the board is scored on the median click rate of its top listings instead. Median, not mean, because a single viral listing would otherwise drag the whole board's figure up.

Fallback, as applied to madeforbid.lol #1 took the spot 2h ago under the 6h floor discard its rate
clicks/day = median( rate of top 3 listings ) = 161.0 Whenever this fallback is used, the board's row on the ranking says so — "median of top 3 — #1 only 2h old" — rather than presenting it as a direct reading.

Every board row states which listings its click rate was measured from. If it says #1 listing, 37h old the number is a direct reading; if it says median of top 4 the fallback was in force.

05 Putting it together

Price divided by click rate, for every board that has both. That quotient is the ranking.

BoardTop bidYou payClicks/day at #1Cost per click
toolcup.lol$17$1839.0$0.46
launchwars.lol$17$1822.3$0.81
vibewar.lol$105$10695.4$1.11
bidtree.lol$80$8147.7$1.70
topapp.lol$200$20198.3$2.04

The first two rows are the reason this site exists. toolcup.lol and launchwars.lol cost exactly the same — $18 to take #1 on either — and one of them sends you 75% more traffic for it. Nothing on either board tells you that. You only see it once both are reduced to the same unit.

Note also that the cheapest board is not the cheapest traffic. topapp.lol is eleven times the price of toolcup.lol and sends 2.5× the clicks, which makes it 4.4× worse per click — but it is also the only one of the two that can deliver a hundred clicks a day at all. Cost per click ranks efficiency, not reach.

06 Hold time

Cost per click is a rate. It says nothing about how long you get to collect at that rate before somebody outbids you. So each board also carries a hold time: the median hours the #1 spot survives before it changes hands, read from the board's own bid history.

BoardCost per clickMedian #1 holdClicks at #1 before outbid
bidtree.lol$1.705.7h≈ 11
vibewar.lol$1.110.5h≈ 2

On paper vibewar.lol is the better buy. In practice its top spot turns over every thirty minutes, so $106 buys about two clicks at #1 before someone takes it back — while bidtree's slower board lets $81 collect for the better part of six hours.

Why hold time doesn't simply cancel the ranking

On most of these boards a bid is cumulative lifetime spend, not rent. Being outbid drops you a rank; it doesn't remove you. You keep the listing, and it keeps earning clicks at the lower rank, indefinitely.

So hold time bounds only the clicks you get at the top. It is shown as a separate figure rather than folded into the cost per click, because how much a lower rank is worth to you depends on the board — and on the few boards that rent the slot instead, it is worth nothing.

07 #1, top 5, top 10, top 20

The ranking can be re-sorted for a cheaper position than the top: the price to reach the top 5, top 10 or top 20 instead of #1. The method is identical at every rank — price to reach that rank ÷ clicks that rank delivers per 24h — because a rank is just a different spot on the same ladder.

Currently provisional Only #1 is measured today. The scraper reads the top listing on each board reliably; the deeper ranks are being captured but are not yet published, so the top-5, top-10 and top-20 prices are placeholders. The ranking says so, in place, whenever you switch off #1. They will be replaced with measurements, not improved estimates.

08 Why a board isn't ranked

A board needs a price and a click rate to get a cost per click. Boards missing either are still listed — they're real places to advertise — but they sit below the ranking without a number, rather than being given an estimated one.

no-clicks Publishes no per-listing clicks. The board reports totals only, so there is no way to attribute traffic to the spot you'd be buying. buyrank.lol — 306 clicks across 13 listings, none of them attributable.
empty No listings yet. A price exists but nothing has ever run there, so there is no traffic to measure. elite-club.lol — €1,000 for the top slot, ledger still empty.
not-for-sale The top spot isn't bought with money. It's earned, so a price per click would be meaningless. snipehour.lol — #1 is won in a nightly game. outlike.lol — ranked by tweet likes, free to enter.

Two flags on boards that are ranked

Some boards get a number but shouldn't win on it, so the "best value" highlight skips them and goes to the cheapest board whose sample can carry the claim:

  • thin — the board is hours old, or has a handful of listings and a few dozen clicks. justvibe.lol's $0.03 per click is arithmetically true and rests on 22 clicks across 2 listings. It is real, and it is not evidence.
  • stale — the last successful read is old. outbid.lol blocks automated traffic, so its figures come from a snapshot rather than a live poll, and the row is dated.

09 What we know is wrong with it

The click rate is the weak input, and it is weak in a known direction. Lifetime clicks divided by time on the spot assumes a listing's clicks were all earned at its current rank and at a steady pace. Neither is quite true.

The rate is measured against itself

vibewar.lol's #1 listing was watched directly for nine and a half hours, during which it never moved off the top spot. Its clicks can be counted rather than inferred:

vibewar.lol — "Wento" at #1, two ways of measuring 2026-08-25 22:42 → 2026-08-26 08:05 UTC
aLifetime clicks ÷ time on the spot · the published method95.4/day
bCounted directly: 293 → 313 clicks over 9.4h51.2/day

The published figure is roughly 1.9× the observed one. A listing tends to earn its clicks fastest right after it takes the top spot, and the lifetime average carries that early burst forward forever. So on boards where #1 has held for a while, the published click rate reads high — which makes the cost per click read low. Treat the ranking as ordering boards correctly and the absolute figures as optimistic.

The other limits, stated plainly

  • Only #1 is trustworthy this way. A lower-ranked listing has usually held several ranks over its life, and its lifetime clicks include everything it earned higher up. On a cross-check the two methods agreed closely for #1 and diverged by up to 10× further down. That is why the ranking prices the top spot and not an average one.
  • Young boards prove nothing. A board a day old with two listings produces a cost per click, and it is nearly meaningless. Those boards carry the thin flag and can't take the best-value slot.
  • Snapshots aren't live. Boards are polled every 30 minutes, so a figure can be up to half an hour behind, and a board that blocks scrapers can be days behind.
  • Price models differ. A cumulative-lifetime-spend board and a flat rental board are compared on the same axis even though what your money buys afterwards is different.

What replaces it

Method b above is the destination. The poller already stores a listing row whenever its rank, bid or click count moves — which guarantees the rank is unchanged between any two consecutive rows, and that is exactly what lets a click delta be attributed to the rank that earned it. Once enough history has accumulated per board, the click rate becomes a measured delta at a known rank instead of a lifetime average, and the six-hour fallback in section 4 stops being necessary. This page will be updated when it switches, and the change will be noted rather than made quietly.

10 Where the data comes from

All of it is public. No board owner opts in, no tracking pixel is installed, and nothing here depends on private analytics — these boards publish their prices and their click counts on the page, because that transparency is the product they're selling.

  • Public JSON endpoints — most boards ship an unauthenticated API carrying bids, clicks and timestamps per listing: bidtree, vibewar, topapp, topwar, madeforbid, siliconjungle, launchwars, snipehour, buyrank.
  • Server-rendered HTML — no API, so the listing data is parsed out of the markup: toolcup, justvibe, elite-club, outlike.
  • Headless browser — outbid.lol sits behind a challenge that rejects plain HTTP requests, so it is rendered in headless Chrome and the rows are read from the DOM.

Boards are polled every 30 minutes. outbid.lol is polled hourly instead: it signalled that it doesn't want automated traffic, and since its top bid runs into the thousands and moves slowly, the lower cadence costs almost nothing in accuracy. A poll that returns nothing is recorded as a failure — never as a zero — so a broken scraper shows up as a stale board rather than a board that suddenly looks cheap.

A listing row is written only when its rank, bid or click count changes, which keeps the history compact and, more importantly, keeps rank constant between consecutive rows. Boards submitted by readers are probed automatically; if their data can be read, they're polled by a generic adapter and join the ranking once there's enough history to measure a click rate.

Found a board that's missing, or a number that looks wrong? Both are worth hearing about — the whole point of publishing the arithmetic is that it can be checked.

← back to the ranking