/Predicta

Uses elo rating system to predict out comes of CWC 2019

Primary LanguageRuby

Predicta

Predicta is a Ruby CLI Application that uses the ELO rating system to predict results for the Cricket World Cup 2019.

Background

https://fivethirtyeight.com/methodology/how-our-nfl-predictions-work/

https://en.wikipedia.org/wiki/Elo_rating_system

Installation

Pre-requisites

  1. Ruby
  2. Bundler
# Run make in the cloned directory. 
make 

Usage

predicta.rb fetch                    # Scraps data from Cricinfo and saves
  predicta.rb fetchFixtures            # Scraps fixture data
  predicta.rb fetchTodaysFixture       # Scraps fixture data
  predicta.rb help [COMMAND]           # Describe available commands or one specific command
  predicta.rb list                     # Lists teams in CWC2019
  predicta.rb predict [TEAM1] [TEAM2]  # Predicts the outcome of a match
  predicta.rb todaysPrediction         # Predicts results for today's match/matches

Example

./predicta.rb predict England Bangladesh


Syncing data, just in case
Fetching data .... this might take sometime
Sync took 1.273706 seconds
Calculating ELO ratings...
ELO ratings calculated!
England has a 75.34% chance of winning.
Bangladesh has a 24.66% chance of winning.

Todo

  1. TEST CASES -- RSPECS.
  2. BUILD SHEILDS
  3. Logic - Need to factor in new teams vs old teams using K factor. Example afghanistan should have a different K value compared to Australia / England.
  4. Docker + Web App

Contributing

Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.

License

MIT