Skip to content

A tool to predict CS2 map picks for upcoming matches based on team players' historical match data from FaceIt. It analyzes past matches where the current team composition was present and calculates map preference probabilities.

License

Notifications You must be signed in to change notification settings

bWlrYQ/esea-map-pick-probability

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

esea-map-prob

A tool to predict CS2 map picks for upcoming matches based on team players' historical match data from FaceIt. It analyzes past matches where the current team composition was present and calculates map preference probabilities.

Warning

This project was built to try and predict ESEA match map picks in less than 2 hours and is not intended to be robust nor accurate. It does not guarantee any correct predictions and should be used for entertainment purposes only.

Important

This tool uses the FaceIt API, and does not implement any handling of eventual API rate limits or errors. A PR to improve error handling and robustness would be welcome.

Features

  • Fetches match data and player histories from FaceIt API
  • Filters historical matches based on team player presence (configurable percentage)
  • Analyzes map preferences from filtered matches
  • Supports BO1, BO3, BO5, BOX...
  • Provides probability predictions for map picks
  • Colorized output for better readability
  • Debug mode and match link display options

Prerequisites

Installation

  1. Clone the repository:

    git clone https://github.com/bWlrYQ/esea-map-pick-probability
    cd esea-map-prob
  2. Install dependencies (preferably in a virtual environment):

    pip install -r requirements.txt
  3. Copy .env.example to .env and set your FaceIt API key:

    cp .env.example .env

    Edit .env and set:

    FACEIT_API_KEY=your_faceit_api_key_here
    

Usage

Run the main script with a FaceIt match ID:

python map-prob.py -i <match_id> 

Command Line Options

  • -i, --match-id: FaceIt match ID (required, or enter interactively)
  • --debug: Enable debug output
  • --show-links: Display links to historical matches

Example

python map-prob.py -i 1-f101d4d4-5af5-4a4c-a075-fb1369538552 --debug --show-links

This will:

  1. Fetch the match data for the given ID
  2. Retrieve recent match histories for all players on both teams
  3. Filter matches where at least 80% of the current team players were present
  4. Analyze map preferences from those matches
  5. Display map pick probabilities

Output Example

example_output

Configuration

The tool uses the following defaults:

  • Minimum team presence: 80% of players
  • Player history limit: 120 matches per player

Project Structure

esea-map-prob/
├── lib/
│   ├── __init__.py
│   ├── faceit_api.py      # FaceIt API wrapper
│   └── match_analysis.py  # Match filtering and analysis logic
├── map-prob.py            # Main script
├── requirements.txt       
├── .env                   
└── README.md

Contributing

Don't bother, it's a shit project

License

This project is licensed under the GNU General Public License v3.0 - see the LICENSE file for details.

About

A tool to predict CS2 map picks for upcoming matches based on team players' historical match data from FaceIt. It analyzes past matches where the current team composition was present and calculates map preference probabilities.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages