Overview

Virality—the tendency for a story to spread rapidly—is predicted using 5 proprietary algorithms. Each algorithm scores articles 0-4 points, for a total virality score of 0-20. This document explains each algorithm, how they combine, and how to interpret virality scores.

The Virality Scale

Tagtaly scores articles on a 0-20 scale representing virality potential:

Virality Score Interpretation:
  • 0-5: Low virality, niche interest
  • 5-10: Moderate virality, general interest
  • 10-15: High virality, trending potential
  • 15-20: Very high virality, breakthrough story

Algorithm 1: Topic Surge Detection

Concept

Stories about topics experiencing sudden increases in article volume have higher virality potential. A 100% week-over-week increase in "healthcare" stories suggests breaking healthcare news.

Scoring

surge_score = 0 if topic_pct_change > 50%: surge_score = 1 if topic_pct_change > 100%: surge_score = 2 if topic_pct_change > 200%: surge_score = 4

Real Example

If "Health & Safety" articles increased from 50 to 150 in one week (+200%), any health story gets 4 points for topic surge.

Algorithm 2: Political Mention Tracking

Concept

Stories mentioning key political figures receive bonus points. Politicians drive engagement and shares. The algorithm tracks mentions of 4 key figures (e.g., Prime Minister, President).

Scoring

political_score = 0 for figure in ['Boris Johnson', 'Joe Biden', 'Keir Starmer', 'Liz Truss']: if figure in article_text: political_score += 1 # Cap at 4 points political_score = min(political_score, 4)

Real Example

An article mentioning both the Prime Minister and President gets 2 points for political mentions.

Algorithm 3: Record/Superlative Detection

Concept

Stories containing superlatives ("highest," "lowest," "record," "first," "worst") attract attention. These words signal exceptional events.

Scoring

superlatives = ['record', 'highest', 'lowest', 'worst', 'best', 'first', 'last', 'biggest'] superlative_count = sum(1 for word in superlatives if word in article_headline) superlative_score = 0 if superlative_count >= 1: superlative_score = 2 if superlative_count >= 2: superlative_score = 4

Real Example

"Stock market hits record high as unemployment falls to lowest level" contains 2 superlatives → 4 points.

Algorithm 4: Sentiment Shift Detection

Concept

Stories with unusual sentiment for their topic attract attention. A very negative finance story or surprisingly positive political story signals unexpected news.

Scoring

topic_avg_sentiment = topic_sentiments.mean() article_sentiment = analysis.sentiment.polarity deviation = abs(article_sentiment - topic_avg_sentiment) sentiment_score = 0 if deviation > 0.3: sentiment_score = 2 if deviation > 0.5: sentiment_score = 4

Real Example

Politics articles average -0.2 sentiment. A politics story with +0.7 sentiment (very positive) is unusual → 4 points for sentiment shift.

Algorithm 5: Media Bias Tracking

Concept

When one outlet covers a topic exclusively (or nearly so), it signals potential controversy or breaking news. If BBC publishes heavily on a topic but others don't, it's worth attention.

Scoring

topic_by_source = article_counts_by_source_for_topic total_articles = topic_by_source.sum() max_source_pct = topic_by_source.max() / total_articles bias_score = 0 if max_source_pct > 0.6: # One outlet has 60%+ of coverage bias_score = 2 if max_source_pct > 0.8: # One outlet has 80%+ of coverage bias_score = 4

Real Example

BBC publishes 8 out of 10 articles about a breaking story (80% concentration). That story gets 4 points for media concentration.

Combining Scores

Total Virality Score

Each of the 5 algorithms contributes 0-4 points independently. Final score is the sum:

virality_score = ( surge_score + # 0-4 political_score + # 0-4 superlative_score + # 0-4 sentiment_score + # 0-4 bias_score # 0-4 ) # Result: 0-20 score

Validation & Accuracy

Testing Against Real Data

Tagtaly tested the virality algorithm against 1,000+ articles from the past 6 months with known engagement metrics (shares, comments, page views):

Accuracy Results:
  • Stories scoring 15-20: 78% went viral (>1,000 shares)
  • Stories scoring 10-15: 45% went viral
  • Stories scoring 5-10: 12% went viral
  • Stories scoring 0-5: <1% went viral

Real-World Example

Article: "UK records highest unemployment in 10 years as Bank of England raises rates to record level"

Algorithm Scores:
  • Topic Surge: Unemployment articles up 150% → 2 points
  • Political Mentions: None → 0 points
  • Superlatives: "highest," "record" → 4 points
  • Sentiment Shift: Very negative finance story, unusual → 4 points
  • Media Bias: All outlets covering equally → 0 points
Total Virality Score: 14/20 (High)

Limitations & Future Work

The virality algorithms have limitations:

Questions?

For questions about virality detection, contact admin@tagtaly.com.

Next: Image Extraction Techniques

Learn how we find images for every article

Image Extraction →