SportFeeds
Insights
Engagement
Ranking
Product

How we score sports highlights from 0 to 10

6 min readSportFeeds

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.

See the Sports Highlights API

One REST API, pre-tagged to the player, team and league IDs you already use.

Explore the product