Documentation Index
Fetch the complete documentation index at: https://mintlify.com/Metaculus/metaculus/llms.txt
Use this file to discover all available pages before exploring further.
Overview
Forecasting is the core activity on Metaculus. Forecasters make predictions about future events by submitting probability distributions that represent their beliefs about different outcomes.Making Predictions
Forecasts vary by question type, but all share common characteristics:Binary Forecasts
Binary Forecasts
Submit a single probability between 0% and 100% representing your confidence the event will occur.Data Structure (from Example: 75% probability that SpaceX launches Starship to orbit in 2025
questions/models.py:639-642):Multiple Choice Forecasts
Multiple Choice Forecasts
Distribute probability across available options. Probabilities must sum to 100%.Data Structure (from Options not yet available at forecast time are stored as
questions/models.py:643-648):None.Continuous Forecasts
Continuous Forecasts
Provide a cumulative distribution function (CDF) over the range of possible values.Data Structure (from The CDF is evaluated at evenly-spaced quantiles from 0.0 to 1.0 (default: 201 points).
questions/models.py:630-637):Forecast Model
Each forecast is a snapshot of a user’s prediction at a specific time.Core Fields
Fromquestions/models.py:609-663:
Forecast Sources
Forecasts can originate from different sources (fromquestions/models.py:664-669):
api: Made via the APIui: Made through the web interfaceautomatic: Automatically assigned (e.g., when forecasts are split)
Updating Forecasts
When you update your prediction, Metaculus creates a new forecast entry:- The previous forecast’s
end_timeis set to the current timestamp - A new forecast is created with
start_time= current timestamp - The new forecast has
end_time = None(indicating it’s currently active)
This time-series approach allows Metaculus to track how predictions evolve and score forecasters based on their entire prediction history.
Active Forecasts
A forecast is considered “active” when (fromquestions/models.py:574-601):
Forecast Aggregation
Metaculus combines individual forecasts into a Community Prediction (CP) that represents the consensus view.Aggregation Methods
Fromquestions/types.py:18-22, Metaculus supports four aggregation methods:
- Recency Weighted
- Unweighted
- Single Aggregation
- Metaculus Prediction
Recent forecasts are weighted more heavily than older forecasts. This is the default method for most questions.Best for: Standard questions with extended forecasting periodsAlgorithm: Uses time-decaying weights to give recent predictions more influence
Geometric Mean Aggregation
The core aggregation algorithm uses geometric mean (fromscoring/score_math.py:28-53):
Aggregate Forecast Model
Aggregated forecasts are stored separately from individual forecasts (fromquestions/models.py:760-833):
Forecaster Count
Theforecaster_count field tracks how many unique forecasters contributed to the aggregate at each timestep. This is important for:
- Determining minimum participation thresholds
- Calculating peer scores (which require at least 2 forecasters)
- Displaying confidence in the community prediction
Forecast Constraints
Metaculus enforces several constraints on forecasts:Time Constraints
Fromquestions/models.py:691-697:
Question Period Filter
Forecasts are filtered to only count those made during the question’s active period (fromquestions/models.py:539-562):
Bot Forecasts
Metaculus includes bot forecasters that provide baseline predictions.Bot Types
From the user model:is_bot: Marks automated forecastersis_primary_bot: Distinguishes official Metaculus bots from third-party bots
Including Bots in Aggregates
Questions can control whether bots are included (fromquestions/models.py:89):
questions/models.py:569-572):
Distribution Input
Thedistribution_input field stores the raw input format provided by the user (from questions/models.py:681-684):
Best Practices
Update Regularly
Frequent updates as you gather new information lead to better scores
Calibrate Carefully
Avoid overconfidence - extreme predictions (0%, 100%) are rarely justified
Consider Base Rates
Start with historical frequencies before adjusting for specifics
Document Reasoning
Comment on your forecasts to track your thinking and help others
API Reference
Forecasts API
Explore the full Forecasts API documentation
Related Topics
Questions
Understand question types and structure
Scoring
Learn how forecasts are evaluated
Leaderboards
Track your performance against others
