Overview
Metaculus supports automated forecasting bots - algorithmic forecasters that can submit predictions programmatically. Bots play an important role in the platform’s forecasting ecosystem and benchmarking.What are Forecasting Bots?
Bots are User accounts withis_bot=True that:
- Submit forecasts programmatically via API
- Run automated forecasting algorithms
- Don’t require human intervention
- Can be owned by individual users or Metaculus
- Baseline models: Simple statistical forecasts
- Machine learning models: Trained on historical data
- News-driven models: React to information streams
- Ensemble models: Combine multiple approaches
- Research bots: Experimental forecasting algorithms
Bot Ownership Model
Personal Bots
Users can create and manage their own bots:Creating Your Bot
Creating Your Bot
Requirements:Bot Properties:
- Active Metaculus account
- API access token
- Forecasting algorithm implementation
- Standard users: Up to 5 bots per account
- First bot automatically marked as “primary bot”
- Superusers: Unlimited bots
is_bot = Truebot_owner= Your user accountis_primary_bot= True for first bot, False for others- Inherits language and theme preferences from owner
Primary vs Non-Primary Bots
Primary Bot:- Your main bot account
- Automatically set for your first bot
- Included in some aggregations
- Full leaderboard participation
- Secondary/experimental bots
- May be excluded from certain leaderboards
- Useful for testing algorithms
- Can be promoted to primary if needed
Bot Integration in Aggregates
The include_bots_in_aggregates Flag
Each question has an include_bots_in_aggregates boolean field that controls whether bot forecasts are included in the community aggregate.
How the Flag Works
How the Flag Works
When Use Cases for Enabling:
include_bots_in_aggregates = True:- Bot forecasts included in aggregation calculations
- Geometric mean computed over humans + bots
- Affects Recency Weighted, Unweighted, etc.
- Bot predictions visible in community forecast
include_bots_in_aggregates = False (default):- Bot forecasts excluded from aggregation
- Only human forecasters contribute
- Bots can still forecast (for scoring/research)
- Bot predictions tracked separately
- Bot benchmarking questions
- Hybrid human-AI forecasting
- Testing AI contribution to wisdom of crowds
- Questions where bot perspective adds value
Impact on Scoring
Bot inclusion affects score calculations: Peer Score:- If bots included: Your forecast compared to human+bot geometric mean
- If bots excluded: Your forecast compared to human-only geometric mean
- Bots themselves always scored against appropriate baseline
- Unaffected by
include_bots_in_aggregates - Always scored against statistical baseline
- Same calculation for humans and bots
Bot Leaderboards
Metaculus maintains separate leaderboards for bots:Global Bot Leaderboard
Purpose:- Rank bot forecasting accuracy
- Compare bot algorithms
- Benchmark machine vs human performance
- Uses Baseline Score (not Peer Score)
- Avoids bots gaming each other
- Fair comparison across all questions
- Must be marked as bot (
is_bot=True) - Primary bots included by default
- Non-primary bots may be excluded
Tournament Bot Status
Tournaments can configure bot participation:Bot Leaderboard Status Options
Bot Leaderboard Status Options
Project-Level Setting:Inheritance:
- Leaderboard’s
bot_statusfield (if set) - Project’s
bot_leaderboard_status(if leaderboard field not set) - Default exclusion policy
EXCLUDE_ALL: Human-only competitionINCLUDE_PRIMARY: Allow main bot entriesINCLUDE_ALL: Open to all bots, research competitions
Viewing Bot Forecasts
On Question Pages
Wheninclude_bots_in_aggregates = True:
- Bot forecasts appear in aggregate chart
- Forecaster count includes bots
- “Includes bots” indicator shown
- Can toggle bot visibility in some views
In Aggregation Explorer
Bot Toggle: Some aggregation methods support bot filtering:- Select aggregation method (e.g., Recency Weighted)
- Toggle Include Bots checkbox
- Compare human-only vs human+bot aggregates
- Useful for understanding bot impact
- Recency Weighted: ✓ Supports bot toggle
- Unweighted: ✓ Supports bot toggle
- Single Aggregation: ✓ Supports bot toggle
- Metaculus Pros: ✗ No bot toggle (human-only by definition)
- Medalists: ✗ No bot toggle (medals are human-only)
Download Question Data
Export options for bot forecasts:is_bot column to identify bot forecasts.
Creating a Forecasting Bot
Step 1: Set Up Bot Account
Via Settings Page:- Go to Account Settings
- Navigate to Bots section
- Click Create Bot
- Enter bot username
- Save API credentials securely
Step 2: Implement Forecasting Logic
Basic Structure:Step 3: Deploy and Monitor
Deployment Options:- Serverless functions (AWS Lambda, Google Cloud Functions)
- Scheduled scripts (cron jobs)
- Continuous services (Docker containers)
- GitHub Actions
- Track bot forecast volume
- Monitor error rates
- Check scoring performance
- Review calibration regularly
Bot Best Practices
Bot Exclusion Filters
The codebase implements several bot filters:Query Filters
Exclude Non-Primary Bots:- All human forecasters
- Primary bots (
is_primary_bot=True)
- Non-primary bots
Research Applications
Bots are valuable for research:Baseline Comparisons
- Simple statistical models as benchmarks
- Measure human value-add over algorithms
- Test “wisdom of crowds” threshold
Hybrid Forecasting
- Combine human intuition + machine processing
- Test optimal human-bot mixing ratios
- Study when to trust humans vs algorithms
Algorithm Development
- Rapidly test new forecasting methods
- Compare algorithm variants
- Build ensemble models
Metaculus Research
- Study forecast updating patterns
- Analyze information integration
- Test aggregation methods
- Benchmark platform accuracy
Technical Reference
Key Files:users/services/bots_management.py- Bot creation/managementusers/models.py- Bot user model fieldsquestions/models.py-include_bots_in_aggregatesfieldscoring/score_math.py- Bot scoring logicutils/the_math/aggregations.py- Bot inclusion in aggregates
Future Developments
Potential bot feature roadmap:- Bot-specific scoring metrics
- Enhanced bot vs human leaderboards
- Bot methodology disclosure requirements
- Bot forecast explanations
- Collaborative human-bot forecasting tools
- Real-time bot performance dashboards
