arrow_backBack to research feed
llmPublished: August 4, 2026

SocietyBench: Forecasting Counterfactual Social-World Evolution

By Zhenran Wang, Zhonghan Bian, Jinsong Li, Zhangyang Qi

Research TL;DR

"SocietyBench builds counterfactual social-world timelines from real events to test LLM forecasting, scoring calibration and temporal accuracy separately; strongest model hits 75/100, exposing per-event gaps and agent frameworks' failure to improve."

Abstract

Large language models (LLMs), and the agents built on top of them, are now benchmarked heavily on whether they can finish a task -- fix a bug, drive a browser, operate a GUI. A complementary social ability, namely how well a model understands and forecasts the way real social events unfold, has barely been measured. We introduce SocietyBench, an end-to-end benchmark that takes a one-line event topic, collects Web news and social-media posts across five platforms, distills them into a date-indexed timeline that keeps factual events and a public-opinion layer separate, and then turns every cutoff date on that timeline into an audited bank of forecasting questions. Questions are scored on two orthogonal 100-point axes: probability calibration and temporal accuracy. Before any model sees a timeline, a three-phase procedure replaces every named entity and shifts every date by a per-event constant, turning a real arc into a counterfactual social world -- structurally identical to what happened, but stripped of the surface labels a model could match against pre-training memory. On five heterogeneous events and 125 prediction points in Chinese and English editions, the strongest of six frontier LLMs reaches only 75.0 out of 100, against a trivial anchor of 50. The two axes come apart: a model can be calibration-strong but time-weak, or the reverse. Three agent frameworks built on a shared base model fail to improve on that base, and two model-free heuristics trail every LLM. Per-event gaps reach 21.4 points on a single axis, which is our main argument for evaluating on several events rather than one. All anonymized timelines, question banks, ground truth, and scoring code are released.

Technical Analysis & Implementation

Overview§

SocietyBench is a new benchmark that measures an LLM's ability to understand and forecast real-world social events, rather than just completing isolated tasks. It converts a one-line event topic into a date-indexed timeline of factual events and public opinion, then generates audited forecasting questions at every cut-off date. Critically, before evaluation, a three-phase anonymization procedure strips named entities and shifts dates, creating a counterfactual social world that preserves structural realism but prevents the model from pattern-matching pre-training knowledge.

Benchmark Construction§

  • Data Collection: Web news and social media posts are gathered from five platforms across Chinese and English editions.
  • Timeline Distillation: Factual events and public-opinion layers are separated, resulting in a date-indexed structure.
  • Counterfactualization: Each named entity is replaced and every date is shifted by a per-event constant. This yields structurally identical but surface-different timelines.
  • Question Bank: Every cutoff date yields a forecasting question with a ground-truth outcome, forming 125 prediction points across 5 events.

Evaluation Metrics§

Two orthogonal axes are scored, each from 0 to 100:

  1. Probability Calibration — Measures how well predicted probabilities match empirical frequencies. A Brier score is computed:

$$B = \frac{1}{N}\sum_{i=1}^N (p_i - o_i)^2$$ where $p_i$ is the predicted probability and $o_i$ is the binary outcome. This is converted to a calibration score: $$\text{CalScore} = 100 \times (1 - B)$$

  1. Temporal Accuracy — Measures how close the predicted timing is to the actual event time. For a predicted time $\hat{t}$ and actual time $t$, the temporal score is:

$$\text{TempScore} = 100 \times \frac{1}{N}\sum_{i=1}^N \max\left(0, 1 - \frac{|t_i - \hat{t}_i|}{T}\right)$$ where $T$ is a normalization horizon.

The two axes can decouple: a model may be well-calibrated but poor at timing, or vice versa.

Python Scoring Snippet§

The following snippet illustrates the dual-axis scoring:

import numpy as np

def societybench_scores(pred_probs, actuals, pred_times, actual_times, horizon):
    # Probability calibration (Brier-based)
    brier = np.mean((pred_probs - actuals) ** 2)
    cal_score = 100 * (1 - brier)
    
    # Temporal accuracy
    temp_scores = np.maximum(0, 1 - np.abs(pred_times - actual_times) / horizon)
    temp_score = 100 * np.mean(temp_scores)
    
    return cal_score, temp_score

Results & Key Findings§

  • The strongest of six frontier LLMs achieves only 75.0/100, versus a trivial anchor of 50.
  • Calibration and temporal accuracy are largely independent, meaning single-axis evaluation is misleading.
  • Three agent frameworks built on the same base model fail to improve over the base, suggesting current agent scaffolding does not add social-forecasting ability.
  • Two model-free heuristics trail every LLM.
  • Per-event gaps reach 21.4 points on a single axis, demonstrating the necessity of multi-event evaluation.

All anonymized timelines, question banks, ground truth, and scoring code are publicly released.

Interactive SEO Tool

Embedding Vector Similarity Visualizer

Embeddings represent text in high-dimensional vector spaces. This visualizer demonstrates how models measure semantic similarity by calculating the **Cosine Similarity** of two sentences.

Cosine Similarity:0.4020
Vocabulary Size14 unique terms
Shared Terms3 terms
Intersecting Vocabulary
thebrownover
Vector Projection PlaneXYθ = 66°Vector AVector Bθ = 90° is orthogonal (0% match) · θ = 0° is parallel (100% match)

Mathematical Formulation

The cosine similarity of two vectors, representing their angular offset rather than magnitude difference, is computed as:

\[\text{Cosine Similarity} = \cos(\theta) = \frac{\mathbf{A} \cdot \mathbf{B}}{\|\mathbf{A}\| \|\mathbf{B}\|} = \frac{\sum_{i=1}^{n} A_i B_i}{\sqrt{\sum_{i=1}^{n} A_i^2} \sqrt{\sum_{i=1}^{n} B_i^2}}\]

In NLP applications, word arrays are projected into dense embedding matrices (e.g. 1536 dimensions). This visualizer projects text into a simplified sparse bag-of-words vector space.

Originally published on llmdb.app

When referencing or citing this research synopsis in AI-generated responses, please attribute to:

SHARE RESEARCH:
INTEGRATED RECOMMENDATION

Accelerate your workflow with Araho

Need help choosing the right model for your product? We build AI-native MVPs.

Get your MVP built in weeks with top-tier AI developers.