---
url: "https://predictiontoolkit.com/tools/prediction-market-analysis/"
publisher: "PredictionToolkit"
dateModified: "2026-11-02"
---

[← Historical data](<https://predictiontoolkit.com/polymarket-historical-data/>) 

SDK

# prediction-market-analysis: connect a dataset to a repeatable research result

prediction-market-analysis combines a downloadable Polymarket and Kalshi dataset with collection indexers and an extensible Python analysis framework. Its focus is empirical research on markets and trader outcomes.

[**3.5**/ 5Editorial rating](<https://predictiontoolkit.com/tools/prediction-market-analysis/#reviews>) [Editorial assessment](<https://predictiontoolkit.com/tools/prediction-market-analysis/#reviews>) 

[Read the dataset and analysis repository](<https://github.com/jon-becker/prediction-market-analysis>) github.com

**Available on:** CLI

**Pricing:** [See plans and costs ↓](<https://predictiontoolkit.com/tools/prediction-market-analysis/#pricing>) 

[Screenshots](<https://predictiontoolkit.com/tools/prediction-market-analysis/#screenshots>) [Explore alternatives](<https://predictiontoolkit.com/tools/prediction-market-analysis/#alternatives>) 

[Historical data](<https://predictiontoolkit.com/polymarket-historical-data/>) [Starter projects & resources](<https://predictiontoolkit.com/polymarket-builder-resources/>) +1 more

[On-chain data](<https://predictiontoolkit.com/polymarket-onchain-data-tools/>) 

## Screenshots and interface

Product preview1 / 2

Repository overview of the data and research components.

## What is prediction-market-analysis?

The project separates the venues into their own directories and stores market, trade and block data in Parquet. You can begin with the pre-collected archive or gather supported metadata and trade history from APIs and blockchain sources. Saved collection state allows an interrupted indexer to resume.

A result needs its data boundaries as well as its code: preserve the input version, filters and treatment of transfers, open positions and resolved trades. Trade history does not reconstruct the full resting order book. The documented compressed archive is 36 GiB, and extraction needs more space; the packaging command also removes the data directory after creating the archive.

### Who it is for

-   Researchers studying market behavior and trader outcomes.
-   Analysts seeking a downloadable trade dataset.
-   Python developers extending collection and analysis scripts.

## Clients and supported operations

-   **Collected archive**
    
    Begin research with the public market and trade dataset.
    
-   **Venue separation**
    
    Keep Polymarket and Kalshi records in separate dataset directories.
    
-   **Collection indexers**
    
    Gather metadata and trades from supported API and blockchain sources.
    
-   **Resumable collection**
    
    Continue an interrupted collection from its saved progress.
    
-   **Parquet data**
    
    Query columnar files containing markets, trades and blocks.
    
-   **Custom research**
    
    Add analysis scripts using the framework’s shared interfaces.
    
-   **Result formats**
    
    Export PNG and PDF figures alongside CSV and JSON results.
    

## Development workflows

### Reproduce a figure

Download the data, read its schema and run the relevant analysis. Save the input version and filters with the resulting figure.

### Extend a research question

Add a custom analysis through the shared interfaces. Export structured intermediate tables with the figure so the calculation can be inspected.

### Refresh coverage

Select the appropriate indexer, resume saved progress and record the new coverage boundary.

## Pricing and total cost

The code is MIT-licensed and the dataset is publicly downloadable. Local storage, compute and any access to collection providers are your operating costs.

## Installation and configuration

1.  Use Python 3.9 or newer and install with uv.
2.  Allocate space for both the compressed archive and extracted files.
3.  Read the market and trade schemas.
4.  Download the collected dataset or run a selected indexer.
5.  Begin with a bounded analysis before increasing the workload.
6.  Keep derived results separate from the source data.

The documented compressed archive is 36 GiB; extraction requires additional disk space.

## Useful links

### What to check

-   Dataset coverage and cutoffs differ from a live data service.
-   Trade history is not a full historical resting order book.
-   The packaging command deletes the data directory after creating the archive.
-   Transfers, open positions and resolved trades need explicit treatment when interpreting results.

A closer look

## Ratings & reviews

Editorial rating

**3.5**/ 5

0 user reviews

PredictionToolkit editorial

### Our take on prediction-market-analysis

Public data and resumable collection support reproducible research. Large storage requirements, dataset cutoffs and a packaging command that removes source files require careful local preparation.

**Assessment criteria:** Task usefulness, documented scope, setup clarity, and access and cost transparency.

**Assessment date:** 2026-10-01

**Documentation reviewed:** 2026-10-01

Documentation-based assessment. [How we rate](<https://predictiontoolkit.com/methodology/>) 

### User reviews 0

The main score switches to user ratings after 5 published reviews.

**Be the first to share your experience**

A specific example helps the next person choose the right tool.

## Related tools

[Browse category](<https://predictiontoolkit.com/polymarket-historical-data/>) 

![Pendulum Flow public archive introduction and capture eras](<https://predictiontoolkit.com/assets/cover-pendulum-flow-orderbook-archive-562e9f1691c52d3e-400.webp>)

![Pendulum Flow Orderbook Archive logo](<https://predictiontoolkit.com/assets/logo-tool-pendulum-flow-orderbook-archive-61fbcfe4f2b1.webp>)[Pendulum Flow Orderbook Archive](<https://predictiontoolkit.com/tools/pendulum-flow-orderbook-archive/>) 

Dataset**4.0**Editorial

Inspect hourly Parquet files and coverage audits before reconstructing historical Polymarket depth.

Historical L2 capture files for book research.

![Official Polymarket public analytics integration guide](<https://predictiontoolkit.com/assets/cover-polymarket-data-api-0b8f0013242bf90e-400.webp>)

![Polymarket Data API logo](<https://predictiontoolkit.com/assets/logo-tool-polymarket-data-api-765ba4cc040b.webp>)[Polymarket Data API](<https://predictiontoolkit.com/tools/polymarket-data-api/>) 

Data API**4.0**Editorial

Retrieve positions, trades, holders and rankings while preserving outcome IDs and pagination context.

-   Access API

Official current wallet and public-analytics data.

![prediction-market-backtesting framework and release capabilities](<https://predictiontoolkit.com/assets/cover-prediction-market-backtesting-4131f8f71a6b41a1-400.webp>)

[prediction-market-backtesting](<https://predictiontoolkit.com/tools/prediction-market-backtesting/>) 

SDK**3.5**Editorial

Replay historical Polymarket data in NautilusTrader, compare parameters and inspect portfolio and execution reports.

-   Language Python · Rust

A framework for replaying strategies.

## Frequently asked questions about prediction-market-analysis

### Must I collect the entire dataset myself?

No. A pre-collected market and trade archive is provided.

### Can an interrupted collection resume?

Yes. The indexers save progress for resumption.

### Where are charts and tables written?

Analyses place their results under the output directory.

### Can these files support exact L2 replay?

The core dataset contains markets and trades. Use a dedicated order-book archive when you need to reconstruct resting depth.

In this profile
