How we rank stories
This section is currently available in English only.
Same for everyone
Every visitor to ovr.news sees the same stories in the same order. There is no personalization. No tracking. No engagement optimization. No A/B testing on article order.
Most news platforms rank content to maximize engagement: clicks, time on site, scroll depth. That creates filter bubbles — each reader sees a different version of reality shaped by their past behavior.
We rank content to surface what matters, not what performs. The algorithm is deterministic: given the same articles at the same time, every visitor sees the same result. This page publishes the full formula.
The ranking formula
Each article's position is determined by its display rank:
Where:
- score — the weighted average across all scoring dimensions for that lens (0–10). See how we select stories for how scores are computed.
- 0.95age_days — time decay. Older articles gradually lose rank, making room for fresh content without removing them entirely.
- recency_boost — articles less than 24 hours old receive a 1.3× multiplier, ensuring fresh stories surface to the top.
- corroboration_boost — when upstream dedup identifies multiple independent sources covering the same story, the primary version — the one kept in the feed — receives a multiplier: 1.3× for one corroborating source, 1.5× for two, 1.7× for three or more. This rewards verification without overriding freshness.
- diversity_boost — when a lens has fewer than two articles from scientific or research sources, qualifying articles receive a 1.4× multiplier. This prevents specialist coverage from being crowded out by mainstream reporting. When the quota is already met, the boost is not applied.
Worst-case stack. All three boosts can apply at once: an article less than 24 hours old, from a scientific source, with three or more corroborating outlets. The combined multiplier is 1.3 × 1.7 × 1.4 = 3.07×. This is rare and time-limited. Recency_boost decays after 24 hours. Diversity_boost is suppressed once the lens quota is met. Corroboration_boost requires upstream dedup to actually identify multiple sources. The full formula is published here precisely so this kind of worst-case can be checked.
In practice, this is what the formula looks like for a primary article that scored 8.0 — with and without corroboration (2 independent sources, 1.5× boost):
| Age | Decay factor | Display rank | With corroboration |
|---|---|---|---|
| Fresh (< 24h) | 1.00 × 1.30 | 10.4 | 15.6 |
| 1 day | 0.95 | 7.6 | 11.4 |
| 3 days | 0.86 | 6.9 | 10.3 |
| 7 days | 0.70 | 5.6 | 8.4 |
| 14 days | 0.49 | 3.9 | 5.9 |
A corroborated 3-day-old article (10.3) still outranks a fresh uncorroborated one (10.4) only barely. By day 7, the fresh article wins. Corroboration gives a meaningful bump, not a permanent position.
Score threshold
An article needs a weighted average of at least 4.5 out of 10 to appear on the site. Below that threshold, the article is filtered out during the build. This is a quality floor, not a ceiling — most articles that make it to the site score considerably higher.
Editorial rules
After ranking, a rule-based editorial layer makes final adjustments. These are not AI. They are deterministic checks with configurable thresholds. Every action is logged with a reason.
- Story dedup. Near-identical titles are removed so you don't see the same story from multiple sources. When the same event is reported independently by different outlets, the version with the best combination of source credibility and image quality stays.
- Source diversity. When scientific and research sources are underrepresented in a lens, they receive a 1.4× score multiplier (see diversity_boost in the formula above). This prevents popular outlets from crowding out specialist coverage.
- Corroboration boost. When upstream dedup identifies multiple independent sources covering the same story, the primary version kept in the feed gets a score multiplier (see formula above). This integrates with time decay: a corroborated story gets a meaningful bump, but still makes room for fresh content as it ages.
Homepage interleaving
The homepage draws from all five lenses using round-robin interleaving: one from Thriving, one from Belonging, one from Recovery, and so on. This ensures every lens gets represented, regardless of which lens has the highest-scoring articles that day.
Within each lens, articles appear in display rank order. Between lenses, representation is equal.
What we don't do
- No click tracking
- No personalization
- No engagement metrics
- No A/B testing on article order
- No advertiser influence on ranking
- No premium placement
The scoring filter definitions are published in llm-distillery on GitHub. The ranking formula is documented in full on this page.
Last updated: April 2026