Skip to content
This repository has been archived by the owner on Apr 7, 2023. It is now read-only.
/ ratings Public archive

A PHP class which implements the Elo rating system & Rating Percentage index

License

Notifications You must be signed in to change notification settings

chasecrawford/ratings

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Ratings

A PHP class which implements the Elo rating system & Rating Percentage index.

Install

composer require chasecrawford/ratings

Using Elo

Calculate a new elo rating for a competitor after a result

use ChaseCrawford\EloRating\Elo;

$newEloRating = Elo::calc(
    1000,   // (float) competitor elo rating
    1000,   // (float) opponent's elo rating
    71,     // (int) competitor score
    70,     // (int) opponent score
    0       // (int) number of matches competitor played previously (optional)
)

Find the elo ratings for all competitors from a group of results

$results = [...];
$elo = new Elo();

foreach($results as $result) {
  $elo->addResult(
       $result['competitorOneName'],  // (string) unique name for competitor 1
       $result['competitorTwoName'],  // (string) unique name for competitor 2
       $result['competitorOneScore'], // (int) score for competitor 1
       $result['competitorTwoScore']  // (int) score for competitor 2
  )
}

print_r($elo->getCompetitors())

Using RPI

use ChaseCrawford\RatingPercentageIndex\RPI;

$results = [...];
$rpi = new RPI();

foreach($results as $result) {
  $rpi->addResult(
       $result['competitorOneName'],  // (string) unique name for competitor 1
       $result['competitorTwoName'],  // (string) unique name for competitor 2
       $result['competitorOneScore'], // (int) score for competitor 1
       $result['competitorTwoScore'], // (int) score for competitor 2
  )
}

print_r($rpi->getCompetitors())

About

A PHP class which implements the Elo rating system & Rating Percentage index

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages