title: How to extend ELO rating?
body: <p>In my soccer league Im using (where users play with teams) ELO rating. Everything works fine. I need advice on how to extend the formula to reflect the addition of the coefficient and power of the team players. (Teams have the power 1 to 10, 1 = the weakest team, 10 strongest team).</p>
  
  <h2>For example:</h2>
  
  <p>The coefficient of domestic players is 1000, the coefficient of visiting players is 1000, the importance of constant event 32, the result of 1:0</p>
  
  <p>Home player gets +16, -16 Visiting player.</p>
  
  <p>And now incorporate the strength of the team (for example, power 10/6) and the result should be something like this ->  +12 / -12 = stronger player with a stronger team won.</p>
  
  <p>I do not know how to edit. Thank you.</p>
  
  <p>ELO RATING FORMULA = <a href="http://www.eloratings.net/system.html" rel="nofollow">http://www.eloratings.net/system.html</a></p>
  
  <p>Sorry for my bad english.</p>
  
  <p>=========================================================================</p>
  
  <h1>NEW EDIT and ANSWER FOR UR comment</h1>
  
  <p>Interesting idea, but not entirely accurate. I will try to demonstrate on a small example:</p>
  
  <p>player1: spinning_plate (1000 elo points)
  player2: Kcko (1000 elo points)</p>
  
  <h2>example:</h2>
  
  <p>spinning_plate Kcko defeats (eg 1:0), they get points +15 / -15 -> this is still fine, but now we include the power of teams</p>
  
  <p>improvements:
  spinning_plate plays for FC Barcelona (Force 10), defeating Kcko (weaker team plays for AS Monaco for example, force 7), spinning_plate received less than 15 points (because they had the advantage of a better team. ELO points of both players are the same but the strength of their teams not).</p>
  
  <p>Do you understand the essence of the problem?</p>
  
  <p>Players play for different teams with different power and this should be included in the function ELO :)</p>
  
  <p>Its taken from real formula ( <a href="http://www.eloratings.net/system.html" rel="nofollow">http://www.eloratings.net/system.html</a> )
  I need to add strength by authentically to formula (s1 and s2)</p>
  
  <pre><code>$k1 - elo points of player 1
  $k2 - elo points of player 2
  $konstanta = weight constant for the tournament played
  $g1 = goals for player 1
  $g2 = goals for player 2
  $s1 = new my own constant = strenght of team of player 1
  $s2 = new my own constant = strenght of team of player 2
  
  
  
  function elo($k1, $k2, $konstanta = 0, $g1, $g2, $s1 = 0, $s2 = 0)
  {
  
  
      $arg_list = func_get_args();
      //debug($arg_list
  
      $s1 = (int) $s1;
      $s2 = (int) $s2;
  
      $G_rozdil = Abs($g1 - $g2); // golovy rozdil 
      // Konstanta za vysledek hry
      if ($g1 &gt; $g2)  
          $W = 1;
      elseif ($g1 == $g2)
          $W = 0.5;
      else
          $W = 0;  
  
      // Rating puvodni, za domaciho
      $Ro = $koeficient1; 
      $K  = $konstanta; // Zakladni konstanta pro hrane zapasy, cim dulezitejsi turnaj tim vyssi 20-60
                          // a dale se navysuje o urcity koeficient pocitaneho z rozdilu golu
      if ($G_rozdil==2) 
          $K=$K*1.5;
      elseif ($G_rozdil==3) 
          $K=$K*1.75;
      elseif ($G_rozdil&gt;3) 
          $K=$K*((1.75+(($G_rozdil-3)/8)));
  
  
      $dr = $k1 - $k2; // 100 zvyhodnuje hosta , protoze hraje venku 
  
  
      // Konecny result
      $Rn = $Ro + $K * ($W - $We);
  
  
      // To dostanou domaci
      $Body1 = Round($Rn - $Ro);
  
      // Toto hoste
      $Body2 = $Body1 * -1;
  
      if ($Body1 == 0 || $Body2 == 0)
      {
          return array(0, 0);
      }
  
      return array($Body1, $Body2);
  }
  </code></pre>