{"id":22759268,"url":"https://github.com/maximmoinat/scoringtablesiaaf","last_synced_at":"2025-04-14T18:22:12.319Z","repository":{"id":54496588,"uuid":"73842464","full_name":"MaximMoinat/ScoringTablesIAAF","owner":"MaximMoinat","description":"Parsing and processing the IAAF scoring tables.","archived":false,"fork":false,"pushed_at":"2022-06-29T16:46:25.000Z","size":19325,"stargazers_count":9,"open_issues_count":5,"forks_count":3,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-28T06:51:07.978Z","etag":null,"topics":["parsing","regression","scoring","track-and-field"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/MaximMoinat.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2016-11-15T18:19:55.000Z","updated_at":"2024-09-09T00:10:40.000Z","dependencies_parsed_at":"2022-08-13T17:50:23.219Z","dependency_job_id":null,"html_url":"https://github.com/MaximMoinat/ScoringTablesIAAF","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/MaximMoinat%2FScoringTablesIAAF","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MaximMoinat%2FScoringTablesIAAF/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MaximMoinat%2FScoringTablesIAAF/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MaximMoinat%2FScoringTablesIAAF/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/MaximMoinat","download_url":"https://codeload.github.com/MaximMoinat/ScoringTablesIAAF/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248933518,"owners_count":21185495,"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":["parsing","regression","scoring","track-and-field"],"created_at":"2024-12-11T08:18:26.556Z","updated_at":"2025-04-14T18:22:12.296Z","avatar_url":"https://github.com/MaximMoinat.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Scoring Tables IAAF\nThis is a hobby project I started on at the end of 2016 and updated mid 2017 to include the 2017 tables. My goal was to once and for all elucidate the mysterious formula behind the 'Hungarian' scoring tables. In addition it gave me a nice practice invironment to implement my newly learned Java skills. Things I learned while developing this package:\n\n - Properly handling Java file input/output\n - Usage of the Apache POI package\n - Getting the most from Java Enums\n - Polynomial Regression analysis\n - Basic usage of Maven to manage dependencies\n - Pdf as data input is terrible, but [Smallpdf](http://www.smallpdf.com) makes this easy.\n\n## What does this package do and how to use it?\nReads the IAAF scoring tables from excel files and writes the scoring tables per event in a machine readable format.\nIn addition, **a second order polynomial regression** is performed to calculate the constants of the underlying formula.\nThese constants are also written to a file. Output for the 2017 tables, both indoor and outdoor, is included.\n\nAfter building, the script can be executed with the following code. \n```bash\njava IaafScoring src/main/resources/input/ src/main/resources\n```\nThe two parameters specificy the input path and output path, respectively.\n\nThe input is a `.xls` file containing the raw IAAF points table. This table is also given in this repository.\n\nThe script will create two folders in the output directory.\n - **Machine-readable tables** of point-performance lookups per event and gender: [`src/main/resources/output/scoring_tables`](/src/main/resources/output/scoring_tables)\n - Tables with results of the **regression analysis**: [`src/main/resources/output`](/src/main/resources/output) \n\n## Example result\nThe [100m the parsed point-performance lookup](src/main/resources/output/scoring_tables/Table%20Outdoor%202017%20-%20MALE%20-%20100m.csv) shows:\n- 9.46s gives you 1400 points\n- 10.63s gives you 999 points\n- ...\n- 16.79s gives you 1 point\n\nBased on these numbers, applying a polynomial regression gives us:\n`24.64 * (x - 17.00)^2 - 0.22` [plot](http://fooplot.com/#W3sidHlwZSI6MCwiZXEiOiIyNC42NCooeC0xNy4wMCleMi0wLjIyIiwiY29sb3IiOiIjMDAwMDAwIn0seyJ0eXBlIjoxMDAwLCJ3aW5kb3ciOlsiOCIsIjIwIiwiMCIsIjE0NTAiXSwic2l6ZSI6Wzg1MCw1NTBdfV0-)\n\n## Background and acknowledgements\nThe original tables in pdf format can be found on [the IAAF website](https://www.iaaf.org/about-iaaf/documents/technical).\nThis Hungarian scoring system can be used to compare the performances in different track and field events. They are e.g. used by all-athletics to score performances and are sometimes used at competitions to determine an all-round winner of the meet.\n\nNote that the pdf to xls processing is done with Smallpdf. Some manual alterations were also made to the .xls files, to, e.g., fix faulty headers.\n\nThe package makes use of the PolynomialRegression class developed by Robert Sedgewick and Kevin Wayne and the [Apache poi package](https://poi.apache.org/)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmaximmoinat%2Fscoringtablesiaaf","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmaximmoinat%2Fscoringtablesiaaf","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmaximmoinat%2Fscoringtablesiaaf/lists"}