Overview
Projects are the organizational structure of Metaculus. They group related questions together and control access, visibility, and governance. Every question belongs to exactly one primary project and can be tagged to multiple additional projects.Project Types
Metaculus supports multiple project types for different use cases (fromprojects/models.py:213-223):
Tournaments
Competitions with prizes and leaderboards
Communities
Independent forecasting communities
Categories
Organize by topic (AI, climate, politics)
Question Series
Ongoing question collections on specific topics
Indices
Aggregate metrics from multiple questions
Personal Projects
Custom question collections
Project Structure
Fromprojects/models.py:212-402, the core project model:
Question-Project Relationship
Questions are associated with projects through posts:Primary Project
Every question belongs to exactly one primary project through its post (fromquestions/models.py:249-259):
Additional Projects (Tags)
Posts can be tagged to multiple additional projects:The primary project (
default_project) controls governance, while additional projects (projects) provide categorization and discovery.Permissions
Projects use a hierarchical permission system to control access.Permission Levels
Fromprojects/permissions.py, the available permissions are:
null: Private project - no accessVIEWER: Can view questions and forecastsFORECASTER: Can view and make predictionsCURATOR: Can view, forecast, and help curate contentADMIN: Full control over project
Default Permission
Fromprojects/models.py:332-339:
Permission Overrides
Individual users can have custom permissions (fromprojects/models.py:498-513):
Permission Resolution
Fromprojects/models.py:162-191, permissions are resolved with priority:
- Superuser: Automatically get
ADMINpermission - Creator: Project creator gets
ADMINpermission - Override: Explicit
ProjectUserPermissionif set - Default: Falls back to project’s
default_permission
Visibility
Projects control how they appear across the platform.Visibility Options
Fromprojects/models.py:229-362:
- Normal
- Not In Main Feed
- Unlisted
- Visible on the main feed
- Questions contribute to global leaderboards and medals
- Listed on tournaments/question series page
Homepage Display
Fromprojects/models.py:364-368:
Communities
Communities are projects run by external organizations or user groups.Community Features
- Independent governance (custom admins)
- Own leaderboards and competitions
- Custom branding (header images, logos)
- Separate permission management
- Can host tournaments within the community
Creating Communities
Communities are created withtype=COMMUNITY and automatically get a primary leaderboard (from projects/models.py:422-439).
Indices
Indices aggregate multiple questions into a single metric.Index Structure
Fromprojects/models.py:533-563:
Index Post Weights
Questions contribute to indices with configurable weights (fromprojects/models.py:566-614):
Project Metrics
Projects track engagement metrics (fromprojects/models.py:375-379):
projects/models.py:470-495):
Subscriptions
Users can follow projects to receive updates (fromprojects/models.py:516-530):
Querying Projects
Metaculus provides powerful querysets for filtering projects.By Type
Fromprojects/models.py:24-47:
By Permission
Fromprojects/models.py:193-209:
With Annotations
Fromprojects/models.py:49-159:
Use Cases
Running a Tournament
Running a Tournament
Create a
TOURNAMENT project with prize pool, set start/close dates, configure leaderboard, add curated questions.Building a Community
Building a Community
Create a
COMMUNITY project, set custom permissions, add admins via ProjectUserPermission, enable subscriptions.Tracking a Topic
Tracking a Topic
Create a
TOPIC or CATEGORY project, tag relevant questions via post.projects, users can filter by topic.Creating an Index
Creating an Index
Create an
INDEX project, configure scale and labels, add weighted questions via ProjectIndexPost.Personal Collection
Personal Collection
Create a
PERSONAL_PROJECT, set default_permission=null for privacy, organize questions you’re tracking.Best Practices
1
Choose the Right Type
Select the project type that matches your use case. Don’t use
TOURNAMENT for simple question collections.2
Set Appropriate Permissions
Consider who should access your project. Most public projects use
FORECASTER as default.3
Configure Visibility
Use
UNLISTED for work-in-progress, NOT_IN_MAIN_FEED for specialized content, NORMAL for featured content.4
Add Clear Descriptions
Write comprehensive descriptions and resolution criteria so participants understand the project goals.
5
Enable Subscriptions
Make your project subscribable so interested users can follow updates and new questions.
API Reference
Projects API
Explore the full Projects API documentation
Related Topics
Tournaments
Learn about competitive forecasting
Leaderboards
Understand project-specific rankings
Questions
Learn about organizing questions
Permissions
Deep dive into permission management
