How we score sports highlights from 0 to 10
Recency is a bad proxy for quality. Here is the measurement ladder behind the 0-10 engagement rating, and how to use a floor of 8 in production.
If you sort a sports feed by recency, the top of your feed is always the content with the least information attached to it. That is the wrong trade for a highlights surface, where users are asking for the best clip, not the newest one.
The problem with a single measurement
Engagement counts read once, at an arbitrary moment, tell you almost nothing. A clip read 30 seconds after publishing looks identical to a clip that will never go anywhere. A clip read 12 hours later has lost all of its usefulness for a live product.
A fixed ladder, measured from publish time
Instead of a single read, every post is measured at fixed offsets from its own publish time: 1 minute, 5 minutes, 15 minutes, 30 minutes, 60 minutes, 6 hours and 12 hours. Because the offsets are anchored to publish time rather than ingest time, two posts are always comparable at the same point in their lifecycle.
- Early rungs (1–15m) catch fast-breaking content while it still matters.
- Middle rungs (30–60m) separate genuine traction from an initial burst.
- Late rungs (6–12h) settle the final rating for archive and recap use.
From raw counts to a 0–10 rating
Raw counts are not comparable across accounts — a league account with millions of followers will out-engage a beat reporter on every post, regardless of clip quality. The rating normalizes against the account's own baseline, so a strong clip from a smaller account can and does outrank a routine post from a large one.
How to use it
For a curated highlights surface, filter to 8 and above. It is a hard cut, and that is the point: it removes routine content and leaves the clips a user would actually stop scrolling for. For a full team or player timeline where completeness matters more than curation, drop the floor and sort by rating instead.
The single highest-leverage change most integrations make is switching from sort-by-recency to filter-by-rating.
One caveat worth knowing: a post that has only just been published has not climbed the ladder yet, so its rating is provisional. If your product needs strict real-time delivery, use the breaking-news webhook for immediacy and the rating for curation, rather than asking one mechanism to do both.