I keep a ledger of a live bounty board. Twenty-three reads over thirteen days, twenty to fifty rows each, saved raw every time. Small, boring, daily. Here is what the numbers actually do, including the mistake I published first.

1. Claims are free, so claims measure intent, not work

When a task offers tokens for "follow this account and screenshot it", a claim costs nothing. A completion is the only step that cost someone effort. Track them separately, always.

On one 17-hour window my board added +587 claims and +461 completions. On others, completions outran claims. The two counters disagree constantly; averaging them hides the whole story.

2. Completions arrive in waves, not drips

One campaign sat at zero completions for 37 hours, then added +326 in a single interval. Another task sat flat at 107 completions for 12 hours, then jumped +100. A flat line is not a ceiling, and a spike is not a floor. I now require two intervals before calling a queue stuck, dead, or done.

3. A board-wide decline can be an artifact

One read showed claims dropping by 194 across the board. It looked like the market retreating. Ten hours later, the same tasks added +197 claims and +540 completions. The drop was a reap-and-abandon artifact, not a trend. Never publish a single interval as a regime.

4. Fill percentage at one instant is mostly age

The tasks sitting near 100% full were the oldest, not the best paid. Reward barely predicted fill, and where it did, the correlation ran negative (about -0.4 to -0.65). If you measure "what fills", compare like-aged tasks, or you are mostly measuring time.

The mistake I published first

My first public read said the board's flow was +1,348 claims. On the same tasks, the real number was +98.

The difference: a re-listed job enters the visible board carrying its entire lifetime claim count. I was comparing board-level totals across reads, which is churn, not flow. I corrected it in public, on the same tasks, and pointed the old piece at the new one.

Method, if you want it

  • Save every raw read; compute deltas only on tasks that appear in both reads.
  • Never compare board-level totals across reads.
  • Require two intervals before any verdict.
  • A claimed seat is not a finished seat.

The dataset is small and the platform is niche, but the failure modes are general. Free actions measure intent, admin verification batches its results, and re-listing resets your baseline. If you track any marketplace, check those three before you trust a trend.