{"id":18697430,"url":"https://github.com/cassiofb-dev/fide-rating-analysis","last_synced_at":"2025-06-15T19:02:04.119Z","repository":{"id":104454487,"uuid":"548083097","full_name":"cassiofb-dev/fide-rating-analysis","owner":"cassiofb-dev","description":"The plot speaks for itself","archived":false,"fork":false,"pushed_at":"2022-10-09T20:44:49.000Z","size":2498,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-02-18T09:08:44.488Z","etag":null,"topics":["chess","data-analysis","fide","hans","rating"],"latest_commit_sha":null,"homepage":"","language":"Jupyter Notebook","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/cassiofb-dev.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-10-08T22:27:17.000Z","updated_at":"2022-10-09T21:47:50.000Z","dependencies_parsed_at":null,"dependency_job_id":"1b66195e-9350-44d4-8efd-9683725f9e8d","html_url":"https://github.com/cassiofb-dev/fide-rating-analysis","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cassiofb-dev%2Ffide-rating-analysis","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cassiofb-dev%2Ffide-rating-analysis/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cassiofb-dev%2Ffide-rating-analysis/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cassiofb-dev%2Ffide-rating-analysis/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cassiofb-dev","download_url":"https://codeload.github.com/cassiofb-dev/fide-rating-analysis/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239558929,"owners_count":19658929,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["chess","data-analysis","fide","hans","rating"],"created_at":"2024-11-07T11:24:19.594Z","updated_at":"2025-02-18T22:15:12.657Z","avatar_url":"https://github.com/cassiofb-dev.png","language":"Jupyter Notebook","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003ch1 align=\"center\"\u003e\n  FIDE Rating Analysis\n\u003c/h1\u003e\n\n\u003ch4 align=\"center\"\u003eThe plot speaks for itself\u003c/h4\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"#about\"\u003eAbout\u003c/a\u003e •\n  \u003ca href=\"#goal\"\u003eGoal\u003c/a\u003e •\n  \u003ca href=\"#data\"\u003eData\u003c/a\u003e •\n  \u003ca href=\"#analysis\"\u003eAnalysis\u003c/a\u003e •\n  \u003ca href=\"#usage\"\u003eUsage\u003c/a\u003e •\n  \u003ca href=\"#credits\"\u003eCredits\u003c/a\u003e •\n  \u003ca href=\"#license\"\u003eLicense\u003c/a\u003e\n\u003c/p\u003e\n\n![the plot speaks for itself](src/plots/fide_first_time_2699_age_per_year_taken.png)\n\n## About\n\nJokes aside, with Hans scandal in chess world, a lot of people are curious about this case and this project tries to find some reason for all this scandal.\n\n## Goal\n\nTo keep it simple and objective, this project tries to answer the following questions:\n\n- How fast top players grow in different time controls?\n    - Does Hans show a strange growth?\n- How much close are top players in different time controls?\n    - Does Hans show a strange rating variantion among other time controls?\n\n## Data\nThe JSON data was gathered thanks to this project:\n[fide-api](https://github.com/cassiofb-dev/fide-api)\n\nJSON file with FIDE top players info and history:\n[data/fide_top_players_2022_10.json](data/fide_top_players_2022_10.json)\n\nCSV file with FIDE top players info:\n[src/data/fide_players_info.csv](src/data/fide_players_info.csv)\n\nCSV file with FIDE top players classical rating history:\n[src/data/fide_classical_rating.csv](src/data/fide_classical_rating.csv)\n\nCSV file with FIDE top players rapid rating history:\n[src/data/fide_rapid_rating.csv](src/data/fide_rapid_rating.csv)\n\nCSV file with FIDE top players blitz rating history:\n[src/data/fide_blitz_rating.csv](src/data/fide_blitz_rating.csv)\n\n## Analysis\n\nYou can find the minor details on the notebook file:\n[src/main.ipynb](src/main.ipynb)\n\n### How fast top players grow in different time controls?\n\nBesides the first players Hans, Firouzja, Giri and Wei Yi all top players (including Carlsen) took more than 30 months to achieve 2699 rating.\n\n### Does Hans show a strange growth?\n\nYes. Well, the data speak for itself (🤣). Jokes apart, even though he is the first, he is close to Firouzja, Giri and Wei Yi, but when we also look at their date we can obviously see that Hans has a huge value even compared to the cream of the crop.\n\n### How much close are top players in different time controls?\n\nEven though we are dealing with 3 ratings for some kind of lucky a lot of players have the same mean difference of 66.6, but the mean difference is 52.2.\n\n### Does Hans show a strange rating variantion among other time controls?\n\nNo. I expected his ratings (mainly classical and blitz) to be far apart because of engine using but that was not the case, it's the most commom rating variation and Firouzja has one of the highest variantions (but the blitz timing is the higher one).\n\n### Some plots\nThese plots are kinda huge because of there are lot of players so open in another tab and have fun exploring.\n\n![2500_to_2699_all_time_controls](src/plots/2500_to_2699_all_time_controls.png)\n\n![2500_to_2699_classical_time_control](src/plots/2500_to_2699_classical_time_control.png)\n\n![fide_first_time_2699_age](src/plots/fide_first_time_2699_age.png)\n\n![fide_first_time_2699_age_per_year_taken](src/plots/fide_first_time_2699_age_per_year_taken.png)\n\n![fide_top_40_players_ratings](src/plots/fide_top_40_players_ratings.png)\n\n![fide_top_40_players_ratings_diff](src/plots/fide_top_40_players_ratings_diff.png)\n\n![fide_top_40_players_ratings_mean_diff](src/plots/fide_top_40_players_ratings_mean_diff.png)\n\n## Usage\n\nYou will need git and asdf installed, from your terminal:\n\n```sh\ngit clone https://github.com/cassiofb-dev/fide-rating-analysis\n\ncd fide-rating-analysis\n\nasdf install python 3.10.7\n\nasdf local python 3.10.7\n\npython -m venv venv\n\nsource venv/bin/activate\n\npip install -r requirements.txt\n\njupyter-lab\n```\n\nThe last command should open jupyter lab on your browser, open ``src/main.ipynb`` file and run it on jupyter.\n\n## Credits\n\nThis project uses git, python (3.10.7) and asdf.\n\nThe following python dependecies were used:\n```txt\nanyio==3.6.1\nargon2-cffi==21.3.0\nargon2-cffi-bindings==21.2.0\nasttokens==2.0.8\nattrs==22.1.0\nBabel==2.10.3\nbackcall==0.2.0\nbeautifulsoup4==4.11.1\nbleach==5.0.1\ncertifi==2022.9.24\ncffi==1.15.1\ncharset-normalizer==2.1.1\ncontourpy==1.0.5\ncycler==0.11.0\ndebugpy==1.6.3\ndecorator==5.1.1\ndefusedxml==0.7.1\nentrypoints==0.4\nexecuting==1.1.0\nfastjsonschema==2.16.2\nfonttools==4.37.4\nidna==3.4\nipykernel==6.16.0\nipython==8.5.0\nipython-genutils==0.2.0\njedi==0.18.1\nJinja2==3.1.2\njson5==0.9.10\njsonschema==4.16.0\njupyter-core==4.11.1\njupyter-server==1.19.1\njupyter_client==7.3.5\njupyterlab==3.4.8\njupyterlab-pygments==0.2.2\njupyterlab_server==2.15.2\nkiwisolver==1.4.4\nMarkupSafe==2.1.1\nmatplotlib==3.6.0\nmatplotlib-inline==0.1.6\nmistune==2.0.4\nnbclassic==0.4.4\nnbclient==0.7.0\nnbconvert==7.2.0\nnbformat==5.6.1\nnest-asyncio==1.5.6\nnotebook==6.4.12\nnotebook-shim==0.1.0\nnumpy==1.23.3\norjson==3.8.0\npackaging==21.3\npandas==1.5.0\npandocfilters==1.5.0\nparso==0.8.3\npexpect==4.8.0\npickleshare==0.7.5\nPillow==9.2.0\nprometheus-client==0.14.1\nprompt-toolkit==3.0.31\npsutil==5.9.2\nptyprocess==0.7.0\npure-eval==0.2.2\npycparser==2.21\nPygments==2.13.0\npyparsing==3.0.9\npyrsistent==0.18.1\npython-dateutil==2.8.2\npytz==2022.4\npyzmq==24.0.1\nrequests==2.28.1\nseaborn==0.12.0\nSend2Trash==1.8.0\nsix==1.16.0\nsniffio==1.3.0\nsoupsieve==2.3.2.post1\nstack-data==0.5.1\ntenacity==8.1.0\nterminado==0.16.0\ntinycss2==1.1.1\ntomli==2.0.1\ntornado==6.2\ntraitlets==5.4.0\nurllib3==1.26.12\nwcwidth==0.2.5\nwebencodings==0.5.1\nwebsocket-client==1.4.1\n```\n\n## License\n\nMIT\n\n---\n\n\u003e [website](https://cassiofernando.netlify.app/) \u0026nbsp;\u0026middot;\u0026nbsp;\n\u003e GitHub [@cassiofb-dev](https://github.com/cassiofb-dev) \u0026nbsp;\u0026middot;\u0026nbsp;\n\u003e Twitter [@cassiofb_dev](https://twitter.com/cassiofb_dev)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcassiofb-dev%2Ffide-rating-analysis","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcassiofb-dev%2Ffide-rating-analysis","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcassiofb-dev%2Ffide-rating-analysis/lists"}