Prowler
Get started
Blog
Engineering

Why a TikTok like isn't an X like: normalizing a trending score across five platforms

The math that lets a nine-second TikTok and a central bank's rate decision sit in the same ranked list and mean the same thing.

PT
Prowler team
Product & ranking
Sep 02, 2026 · 4 min read

Every source Prowler watches speaks a different dialect of attention. On X it is reposts and quotes; on TikTok it is views and completion; on Instagram it is likes and saves; on the open web it is nothing you can read directly. If you rank those raw numbers against each other, the loudest platform always wins and you miss the quiet signal that mattered. So Prowler does not rank raw numbers. It ranks a normalised, time-decayed score that asks one question of every item, wherever it came from: how unusual is this, for this platform, right now?

Start with the batch, not the platform

Inside a single scan, every item gets a rank from 0 to 100 computed from its interactions relative to the other items in that batch. This is deterministic arithmetic; the language models that write titles and summaries never touch it, so the order is the same every time the same numbers go in.

The batch rank answers a local question: of the twelve things this source published since the last scan, which mattered most? It says nothing yet about how this source compares to the others.

Then normalise by platform

Across sources, the problem is currency. A TikTok video with 40,000 views and an X post with 400 reposts may be equally unusual for their platforms, but 40,000 will always beat 400 on a raw sort.

So the trending score divides each item's interactions by a platform baseline: a typical engagement level for that platform. The result is a multiple, "how many times the platform's normal is this", which is comparable across platforms in a way counts never are. A 3× on X and a 3× on TikTok now sit next to each other.

The baselines are configurable rather than learned per account, on purpose: a fixed baseline is predictable and explainable, and per-account learning takes weeks of history that new sources do not have.

Then decay over time

Monitoring is a present-tense job. A score that ignores time will surface yesterday's winner above this morning's breaking item indefinitely. Prowler applies an exponential decay with a 24-hour half-life:

trend = interactions ÷ platform_baseline × exp(−ln2 × age / 24h)

An item is worth its full normalised score the moment it is collected, half of that a day later, a quarter the day after. Trending is computed over a seven-day window, but by day three almost everything has decayed to the bottom, which is exactly right for a feed that also deletes items after 48 hours.

What this produces

A Trending view where position means something consistent. When a competitor's nine-second teaser outranks a central bank's rate decision, that is not a quirk of TikTok's bigger audience; it is a genuine signal that the teaser is doing something unusual for its platform, fast. When a wire service's routine post sits mid-list despite large absolute numbers, that is the normalisation doing its job.

Three properties hold:

  • No platform dominates by default. The denominator removes size.
  • Recency is built in. The decay removes age.
  • Nothing is hidden. Every item still shows its raw likes, comments, views and interactions, and its 0–100 rank within the scan. The score is derived, not opaque.

What it deliberately does not do

It does not learn per-source baselines yet, so a very large account can still look ordinary and a very small account extraordinary; the watchlist method of tracking each source against its own history covers that judgement for now. It does not use sentiment, virality prediction or any model-generated importance; those add opinion to a number that should stay an observation.

In Prowler: the home screen shows Top Ranks (within-scan rank) and Trending (cross-source, normalised, decayed) side by side, so you can see both the local and the global answer. Filters for source, group, tag, platform and time apply to both.

What this means for you

You do not tune any of this. You point the radar at your sources, pick a cadence, and read the feed top to bottom. The ranking does the comparing so you do not have to keep five tabs of context in your head. If you want to go deeper, two agents, one clean feed explains what happens before the numbers reach the formula.

PT
Prowler team
Product & ranking at Prowler

The people building Prowler's scoring, de-duplication and source pipeline.

Continue reading

All posts →