Changelog.
Methodology revisions, schema updates, and editorial overrides. Reverse chronological. Past weights remain valid for historical snapshots.
- Methodology
Methodology v3.3: corrected the published weights to match the scoring function
The published component weights did not match the deployed compute_score_snapshot function. The function is correct and unchanged; the methodology page and the on-page weight cards were describing an out-of-date model. Corrected everywhere to the live weights: category relevance 30%, recency 25%, engagement 20%, consistency 15%, audience 10%, longevity 0% (computed and stored, not weighted). Also corrected the component descriptions (consistency is mean views on the last 10 videos, not upload regularity; recency uses a 30-day window on a 14-day half-life), the engagement floor (sub-100-follower channels are assigned a flat normalised 0.25, not a cohort lookup), the display-floor rule (relevance ≥ 0.8, or ≥ 500 followers with relevance ≥ 0.6), and the editorial-override note (exclude is applied at the query layer; boost is reserved in the schema and not currently applied).
- Site
Switched analytics to Google Analytics 4
Replaced the previous analytics setup with Google Analytics 4, delivered through Google Tag Manager. We now record aggregate, event-level engagement (outbound clicks to Rumble, category and channel navigation, FAQ opens) to inform what we rank and cover next. GA4 sets first-party analytics cookies; the privacy policy has been updated with what is collected and how to opt out.
- Site
Phase 3 plan revision published
Phase 3 execution plan rewritten to incorporate findings from the Phase 2 reliability soak. Inserted Phase 2.5 cleanup work (classifier improvement pass, display floor, editorial overrides) before page-build kickoff. Schema correction note added for score_snapshots primary key.
- Schema
Added channels.editorial_override JSONB column
Per the Phase 2.5 plan, channels can now carry an editorial_override JSONB with shape {"exclude": bool, "boost": number, "note": string}. The exclude flag is honoured at the query layer via the v_ranked_channels view; the boost field is reserved in the schema and is not currently read by the scoring function.
- Schema
Added category_modifiers table and compute_modifier_score function
Sub-category pages are now backed by a category_modifiers table mapping (category_id, slug) to weight overrides and keyword filters. The compute_modifier_score Postgres function mirrors compute_score with the modifier weights applied.
- Site
Site templates and structured data live
Homepage, category, sub-category and channel profile templates published. ItemList JSON-LD on category and modifier pages, Organization + VideoObject JSON-LD on channel profiles, FAQPage JSON-LD on category and methodology pages. Sitemap auto-generated from displayable channels and modifier pairs.