published ranking math · v3 · 2026-07-14

The algorithm, in the open.

The PUNCH recommended feed is opt-in (chronological is the default) and scores posts with a plain linear blend of the weights below. Every post you see carries the reasons it surfaced. No shadow banning, no hidden demotion: a test in our CI fails if these published numbers ever drift from the constants the feed service actually runs.

This page renders from the same versioned data file that powers the in-app “ranking changed” notes — when a weight changes, an entry lands here and a note reaches you in the app, or the change cannot ship.

Current weights v3

score = Σ weight × signal. Bigger bar, bigger influence. Signals a post doesn’t have (e.g. watch-time on a photo) contribute zero — nothing is ever pushed below baseline.

Changelog

  1. v3 · 2026-07-14

    Watch-time and interest matching

    Two signals were added: videos people watch to the end rank higher (the strongest quality signal for video), and posts similar to what you save get a boost from your interest profile — which you can inspect and erase, topic by topic, in Settings.

    • W_WATCH: new1.4 Completion and rewatch quality for video posts. Non-video posts simply skip this term.
    • W_INTEREST: new1.1 Similarity between a post and your recent saves/likes. Zero until you've engaged; erasable per topic.
  2. v2 · 2026-07-08

    Engagement became engagement-per-view

    Raw engagement was replaced with velocity — likes, comments, saves, and sends per view — so quality beats raw audience size. Saves and sends now count more than likes, and a bounded cold-start pool guarantees brand-new creators test exposure.

    • W_VELOCITY: 0.81.0 Replaces W_ENGAGEMENT: engagement is now measured per view, so small accounts compete on quality, not reach.
  3. v1 · 2026-05-30

    Launch ranking

    The opt-in recommended feed launched as a transparent linear blend: freshness, whether you follow the author, raw engagement, tags you follow, and a small boost for under-exposed creators. Every post carries the reasons it surfaced.

    • W_RECENCY: new1.0 Freshness matters most in a social feed.
    • W_FOLLOW: new1.2 Following someone is the strongest signal you want their posts.
    • W_ENGAGEMENT: new0.8 Likes and comments, saturated so one viral post can't dominate.
    • W_TAG: new0.9 Topical affinity from tags you chose to follow.
    • W_EXPLORE: new0.4 A soft nudge so new creators aren't invisible.

What this doesn’t cover

Moderation removals are a separate, published system with its own categories, appeals, and quarterly numbers — see the moderation policy. Content outside those categories is not removed, restricted, or de-prioritized.

Your interest signal is yours: the app shows the topics feeding it and lets you erase any of them, permanently, from Settings.