Hello Roger,

**FIDE-like grading system with internal live grade calculation...**
Roger de Coverly wrote:Robert Jurjevic wrote:You would still publish the grades only once a season.

Sooner or later, the ECF will have to face up to the issue that publishing grades once a season ( and nearly two months after the cutoff) is looking increasingly obsolete. For example FIDE publishes every two months with plans to publish monthly and has a deadline for submission of a couple of weeks. Also results are posted to the website as received so that anyone can establish their "live" rating just by adding two numbers together. ... The problem is that the ECF system creaks somewhat when you try to publish more frequently than annually or publish results processed in the year so far. Six monthly updates have been tried with the rapid-play list.

If ECF would use a FIDE-like grading system with internal live grade calculation (say FGSl described below), ECF would be free to publish the grades either once a year, twice a year, once every two months or even provide live grades online.

If you calculate using live grades internally the frequency of grade publication does not affect the grade calculation at all, though it may affect the things such as determination who is eligible to play in certain events, etc.

I wouldn't go so far to push grade publication more than once a year and would be delighted if ECF would consider adopting one of the FIDE-like grading system with internal live grade calculation (say FGSl described below), once that has been done, say grade publication every two months is more of an administrative issue (i.e. you collect the game results and run the program instead of once a year every two months).

I think that the biggest obstacle to adopting one of the FIDE-like grading systems with internal live grade calculation (say FGSl described below) could be a need to enforce keeping records of date and time when the games ended (though one would think, if adopting one of the FIDE-like grading systems with internal live grade calculation would solve the "junior problem", would allow a better ways to deal with ungraded players, and in general would provide as up to date grades as possible, that writing down these few extra numbers alongside the game result may be worthwhile).

**The FIDE-like 'matrix' model with internal live grades...**
Restrictions:

(none)

Definitions:

o 'n0' is some constant number of games, 'n0>0', note that if 'kij=kji=1' if 'i'th and 'j'th players played at least one game in the season and 'kij=kji=0' if 'i=j' or if 'i'th and 'j'th player did not play each other in the season, then 'n0' is a number of games after which a player's new grade would equal his or her actual performance

o 'm' is the total number of players in the system, 'm>1'

o 'n_' is game number vector where 'ni' is a number of games 'i'th player played in the season

o 'g_' is a grade vector where 'gi' is a live grade of 'i'th player, a live grade for the first game in the season for a player is a player's grade from the previous season

o 'g2_' is a new grade vector where 'g2i' is a new grade for the season of 'i'th player (player's new grade for the season is calculated using the player's game results in the season and the player's and the player's opposition live grades)

o 'Q_' 'is 'mxm' matrix where 'qij' is actual performance of 'i'th player against 'j'th player (if the players 'i' and 'j' played one game only then 'qij' is 0 if 'i'th player lost, 50 if 'i'th player drew and 100 if 'i'th player won, if the players 'i' and 'j' played more than one game than '0<=qji<=100', note that 'qij' and 'qji' are related, i.e., if 'qij=0' then 'qji=100','if 'qij=50' then 'qji=50', if 'qij=100' then 'qji=0', etc.), note that 'qij+qji=100' if 'i'th and 'j'th players played at least one game in the season, note that 'qij = qji = 0' if 'i=j' or if 'i'th and 'j'th player did not play each other in the season, 'Q_' is actual performance matrix

o 'P_' is 'mxm' matrix where 'pij=f(gi-gj)' is expected performance of 'i'th player in the game against 'j'th player, note that ECF is using 'f(dij=gi-gj)=50*(1 + (gi-gj)/50)' if '|dij=gi-gj|<=40' and 'f(dij=gi-gj)=90' if 'dij=gi-gj>40' and 'f(dij=gi-gj)=10' if 'dij=gi-gj<-40', FIDE logistic equivalent is 'f(dij=gi-gj)=100/(1 + 10^(-(gi-gj)/50))', note that if 'gi=gj' then 'f(gi-gj)=50', note that 'pij+pji=100', 'P_' is expected performance matrix

o 'K_' is 'mxm' matrix where 'kij' are 'k' factors used in calculation of new grades for the season, 'kij=kji=0' if 'i=j' or if 'i'th and 'j'th player did not play each other in the season, 'kij+kji=k', where 'k>0' is a constant, if 'i'th and 'j'th players played at least one game in the season, 'K_' is 'k' factors matrix

New grades for the season are calculated as follows (this is a generic formula covering a number of grading systems, what makes the grading systems different is a choice of matrices 'K_' and 'P_')

Code: Select all

```
g2i = gi + Sum_j=1,m ((kij*(qij - pij))/n0)
```

where for FGSl (

**F**IDE-like

**G**rading

**S**ystem with internal

**l**ive grades) 'kij=kji=1', 'kij+kji=k=2', if 'i'th and 'j'th players played at least one game in the season, 'kij=kji=0' if 'i=j' or if 'i'th and 'j'th player did not play each other in the season, 'pij=f(dij=gi-gj)' where 'f(dij=gi-gj)=100/(1 + 10^(-(gi-gj)/50))' and 'n0=30'.

(note that in 'g2i = gi + Sum_j=1,m ((kij*(qij - pij))/n0)' there are 'ni' elements in the sum for which 'kij/=0')

Kind regards,