live index·813 channels·8 categories·daily refresh
Methodology · v3.3

No black box. We show the working.

RumbleRankings scores every classified Rumble channel out of 100, per category. This page tells you how that score is built. It explains the guards against gaming, what the score cannot see, and how editorial overrides work. Plain English first; the technical detail sits below it.

How is the score calculated?

Each channel gets a score from 0 to 100. The score is built from six parts. Each part is a number from 0 to 1. We multiply each part by its weight, add them together, and multiply by 100.

  • Category relevance: 30%. Does the channel actually cover this category? A keyword classifier looks at the channel description and the titles of the last 20 videos. An LLM checks the borderline cases.
  • Recency: 25%. A time-decayed count of uploads in the last 30 days, using a 14-day half-life so fresher videos count for more. A channel with no uploads in the last 30 days scores zero here.
  • Engagement: 20%. Mean views on the last 10 videos, divided by follower count, then ranked inside the category. We use the percentile, not the raw number.
  • Consistency: 15%. Mean views on the last 10 videos, ranked inside the category, a read on how reliably the channel reaches an audience. Percentile, not the raw number.
  • Audience: 10%. Follower count, scaled using a logarithm so very large channels do not dominate every list.
  • Longevity: 0%. Computed and stored for transparency, but currently not weighted. See FAQ.

Final score = Σ (part × weight) × 100. The weights add up to 1.00.

What stops channels from gaming the score?

Several guards. The three that matter most:

  • Engagement floor at 100 followers. A five-follower channel with one viral video would otherwise top the engagement chart. Channels below 100 followers are excluded from the engagement calculation and assigned a flat normalised value of 0.25, the equivalent of the 25th-percentile position.
  • Percentiles, not raw values. Engagement and consistency are ranked inside the category. One outlier video cannot shift the ranking by much.
  • Display floor at the query layer. To appear on a public page at all, a channel needs a category relevance of 0.8 or higher, or at least 500 followers together with relevance of 0.6 or higher. Thin-data channels never reach the list.

The full set of five guards is listed in the technical detail below.

How often does the ranking update?

  • Every day at 04:00 UTC. The score recompute writes a new row for every (channel, category, date) into the score_snapshots table.
  • Every week. The full scrape refreshes follower counts and pulls in new videos.
  • On request. Pages revalidate inside 24 hours. The first request after 06:00 UTC usually gets fresh data.

Why isn't channel X higher?

Three usual reasons.

  1. The channel is below the display floor: its relevance for this category is under 0.8 and it does not have 500 or more followers with relevance of at least 0.6.
  2. The channel has an editorial override moving it out of this category. The keyword classifier sometimes lands a gamer in news or a lifestyle channel in finance, and a list that cannot be corrected is not credible.
  3. We do not know about the channel yet. The seed list keeps growing. Email contact@rumblerankings.com with a Rumble URL and we will look at it.

Technical detail · the six components

Each component is computed per (channel, category) cohort and normalised into a 0–1 value before weighting. Scores are cohort-normalised so a Top-10 health channel and a Top-10 crypto channel are comparable on the same 0–100 scale.

ComponentWeightWhat it measures
Category relevance30%Keyword classifier output (0–1) on channel description plus the last 20 video titles, clamped to 0–1. LLM fallback on borderline cases.
Recency25%Sum over videos uploaded in the last 30 days of exp(−ln2 × days_old / 14), giving a 14-day half-life, then min-max normalised within the category cohort. No uploads in 30 days scores zero.
Engagement20%Mean view count of the last 10 videos ÷ follower count, then percentile-ranked within the category cohort. Channels under 100 followers are excluded and assigned a flat 0.25.
Consistency15%Mean view count of the last 10 videos, percentile-ranked within the category cohort. No video view data scores zero.
Audience10%log10(followers + 1), min-max normalised within the category cohort. Logarithmic so a 1M-follower channel does not dominate every list.
Longevity0%log10(days since joined) plus 0.5 if verified, min-max normalised. Computed and stored, but not weighted. See FAQ.

Final score = Σ (component × weight) × 100. Each component is 0–1; weights sum to 1.00.

Anti-gaming guards · in detail

Five mechanisms in total:

  • Engagement floor at 100 followers. Channels below 100 followers are excluded from the engagement calculation and assigned a flat normalised value of 0.25, the equivalent of the 25th-percentile position. It is a fixed value, not a per-cohort lookup.
  • Percentile-rank for engagement and consistency. Raw values can be gamed. PERCENT_RANK inside the category smooths outliers.
  • Log-normalised audience. log10(followers + 1), min-max normalised, caps the contribution of pure follower count.
  • Per-category cohort normalisation. A channel ranking in two categories has two independent component calculations, normalised against each category's distribution. Engagement and consistency use percentile rank; audience, recency and longevity use min-max.
  • Display floor at the query layer. A channel must clear relevance of 0.8, or hold at least 500 followers with relevance of 0.6 or higher, to reach the page, even if its score is high.

Sub-category modifiers

Each sub-category page (for example, "best crypto Rumble channels for beginners") is a (parent_category, modifier) pair. The modifier re-weights the base components for that page. Some modifiers also keyword-filter the cohort. Modifier definitions live in the category_modifiers table. The Postgres function compute_modifier_score mirrors the base score function with modifier weights.

Editorial overrides

Channels can carry an editorial_override JSONB row: {"exclude": true | false, "boost": number, "note": "why"}. The exclude flag is applied at the query layer, keeping a channel out of a category it was misclassified into. The boost field is reserved in the schema and is not currently in use; the scoring function does not read it. Overrides exist because the keyword classifier alone produces obvious miscategorisations (a gamer in news with 1.0 relevance, a lifestyle creator in news), and a ranking that cannot be corrected is not credible. Every override is tracked on the changelog with the note that justified it.

Limitations

  • Classification is keyword-based with an LLM fallback. The LLM pass has cost and latency. Very small channels with sparse video titles can still be misclassified.
  • Sub-100-follower channels are assigned a flat engagement value of 0.25 rather than a measured one. They can still rank if their other parts are strong.
  • Rumble's own platform categories are ignored. Our classifier may disagree with Rumble's tag.
  • We do not watch videos. Engagement is approximated from view counts and interaction counts, not content quality.
  • The display floor means we cover fewer niche health and trading channels than a raw feed would show. This is on purpose.
  • Scores for very new channels (under 14 days of data) are noisy. Recency, which weights uploads in the last 30 days on a 14-day half-life, can dominate for the first two weeks.

Score schema

The database row that drives every page:

score_snapshots (
  channel_id        uuid,
  category_id       uuid,
  snapshot_date     date,
  follower_count    integer,
  score_total       numeric(5,2),
  score_components  jsonb,
  computed_at       timestamptz,
  PRIMARY KEY (channel_id, category_id, snapshot_date)
)

A channel ranking in both crypto and finance has two rows per snapshot date, one per category, with independent component calculations.

Update history

Versioned weight changes are recorded on the changelog. Past weight configurations stay valid for historical snapshots; we never retroactively re-score archived data.

Frequently asked questions

How is the score calculated?+
Each channel gets a score from 0 to 100 in every category it belongs to. The score is the weighted sum of six parts: category relevance (30%), recency (25%), engagement (20%), consistency (15%), audience size (10%), and longevity (0%, computed and stored but not weighted). Engagement and consistency are percentile ranks inside the category cohort; audience, recency and longevity are min-max normalised within the cohort.
What stops channels from gaming the score?+
Several guards. Channels below 100 followers are excluded from the engagement calculation and given a flat normalised engagement value of 0.25 (the 25th-percentile position), so a single viral video cannot lift a tiny channel. Engagement and consistency are percentile ranks inside the category, which smooths outliers. Audience is log-scaled so raw follower count cannot dominate. And a channel must clear a display floor to appear on a public page at all: relevance of 0.8 or higher, or at least 500 followers with relevance of 0.6 or higher.
How often does the ranking update?+
Scores recompute every day at 04:00 UTC. The full scrape runs once a week and refreshes follower counts and recent video lists. Sub-category pages re-rank on the fly from the daily snapshot.
Why isn't channel X higher (or on the list)?+
Three usual reasons. (1) The channel sits below the display floor: its relevance for this category is under 0.8 and it does not have 500+ followers with relevance of at least 0.6. (2) The channel has an editorial override moving it out of this category, usually because the keyword classifier put it in the wrong place. (3) We do not know about the channel yet, and the seed list keeps growing. The editorial-overrides section below explains how we correct miscategorisations.
Why is longevity 0%?+
Rumble as a platform is recent, so channel age mostly tells you when a creator joined, not how good they are. We compute longevity and store it for transparency, but it has no weight today. We may add a small weight once the platform matures.
Are Rumble's own categories used?+
No. Rumble's own tags are coarse and creator-self-selected. We classify channels independently using their description and the titles of their last 20 videos, with an LLM second-pass for borderline cases.

The network

Part of the CommunityRankings network.