{"calculator":{"slug":"world-athletics-points-calculator","math":{"href":"https://www.tracktoolspro.com/api/calculators/world-athletics-points-calculator","jsonPointer":"/calculator/math","version":"2026-10-21.1","implementationVersion":"b5a8aca7b85361476e0321a08b7fa5f516fc9535","scope":"Canonical HTTP function and documented corresponding mounted-form math. This is public inspectable documentation, not access control or independent empirical validation.","unitNotation":"Input paths use [] and *; output paths are JSON Pointers with * (one segment) and ** (descendants). Empty output path denotes scalar result. Units apply to numeric quantities or explicitly described numeric strings; labels/statuses/booleans are dimensionless. More specific units, including count/index exceptions, override broad patterns.","interfaceNotes":["HTTP input is described by the adjacent inputSchema. The original handlers may accept numeric strings; this metadata adds no validation.","Mounted forms accept displayed clock/unit strings and enforce their own limits. Mounted tools limit strings to 200 characters and numeric parts to magnitude 1000000. Do not assume mounted/API input interchangeability.","Some legacy extreme/invalid tuples can produce null/empty results or nonfinite numbers serialized as null. Those are unavailable answers, not exact numerical predictions. Per-calculator domain describes the intended mathematical inputs."],"kind":"table-fit","implementationFiles":["lib/formulas/wa-points.ts"],"equations":["Select gender/event coefficients and mark type from the canonical stored data; category limits selectable events. Parse time to seconds, distance to meters or combined-event score to integer points.","Three coefficients: q=a*mark^2+b*mark+c; points=Math.round(q), only on the monotonic valid branch and 0..1400. Two coefficients: points=a*mark+b, without extra integer rounding.","Inverse linear: mark=(points-b)/a. Inverse quadratic: discriminant=b^2-4*a*(c-points); try (-b-sqrt(discriminant))/(2*a), rounded to 0.01; if negative use plus root. Format by mark type."],"inputUnits":{"category":"enum/string (dimensionless)","gender":"enum/string (dimensionless)","event":"enum/string (dimensionless)","mark":"time:s/clock; distance:m; combined-event score:points","points":"integer scoring points (string)"},"outputUnits":{"/mark":"seconds/clock, meters or combined-event points per markType","/points":"scoring points (string)"},"domain":["Select known category/gender/event. Inverse integer points 0..1400. Nonpositive/malformed marks, wrong branch or out-of-fit domain return empty mark/points strings; unavailable event errors."],"rounding":["Quadratic points round nearest integer; linear rows retain raw numeric string. Inverse distance/time mark rounds0.01 and clock formatting carries total hundredths."],"assumptions":["Uses the entered values and the selected convention; this documentation does not strengthen existing validation."],"limitations":["Fitted approximation, not an official-table lookup. The retained audit found scored values within 1 point across checked marks and a Road 3kmW boundary blank. Inverse rounding need not round-trip exactly."],"mountedPageNotes":[],"workedExamples":[{"input":{"category":"outdoor","gender":"men","event":"100m","mark":"10.00"},"expected":{"/points":"1206"},"absoluteTolerance":1e-8,"note":"Illustrative canonical-handler result; not independent validation of an empirical model."}],"constantsAndTables":{"storedFitsAndSelectors":{"markTypes":{"50m":"time","50mH":"time","55m":"time","55mH":"time","60m":"time","60mH":"time","200m":"time","200m sh":"time","300m":"time","300m sh":"time","400m":"time","400m sh":"time","500m":"time","500m sh":"time","600m":"time","600m sh":"time","800m":"time","800m sh":"time","1000m":"time","1000m sh":"time","1500m":"time","1500m sh":"time","Mile":"time","Mile sh":"time","2000m":"time","2000m sh":"time","3000m":"time","3000m sh":"time","2 Miles":"time","2 Miles sh":"time","5000m":"time","5000m sh":"time","4x200m":"time","4x200m sh":"time","4x400m":"time","4x400m sh":"time","4x400mix":"time","4x400mix sh":"time","LJ":"distance","TJ":"distance","HJ":"distance","PV":"distance","SP":"distance","Hept.":"points","3000mW":"time","5000mW":"time","10,000mW":"time","Pent. sh":"points","Hept. sh":"points","100m":"time","110mH":"time","400mH":"time","2000m SC":"time","3000m SC":"time","10000m":"time","Road Mile":"time","Road 5 km":"time","Road 10 km":"time","Road 10 Miles":"time","Road 15 km":"time","Road 20 km":"time","Road HM":"time","Road 25 km":"time","Road 30 km":"time","Road Marathon":"time","Road 100 km":"time","4x100m":"time","DT":"distance","JT":"distance","HT":"distance","Dec.":"points","15,000mW":"time","20,000mW":"time","30,000mW":"time","35,000mW":"time","50,000mW":"time","100mH":"time","Road 3kmW":"time","Road 5kmW":"time","Road 10kmW":"time","Road 15kmW":"time","Road 20kmW":"time","Road 30kmW":"time","Road 35kmW":"time","Road 50kmW":"time"},"categories":{"outdoor":["100m","100mH","110mH","200m","300m","400m","400mH","500m","600m","800m","1000m","1500m","Mile","2000m","2000m SC","3000m","3000m SC","2 Miles","5000m","10000m","HJ","PV","LJ","TJ","SP","DT","HT","JT","Pent. sh","Hept.","Dec.","Road Marathon","Road HM","Road Mile","Road 5 km","Road 10 km","Road 15 km","Road 20 km","Road 25 km","Road 30 km","Road 100 km","3000mW","5000mW","10,000mW","15,000mW","20,000mW","30,000mW","35,000mW","50,000mW","Road 3kmW","Road 5kmW","Road 10kmW","Road 15kmW","Road 20kmW","Road 30kmW","Road 35kmW","Road 50kmW","4x100m","4x200m","4x400m","4x400mix"],"indoor":["50m","55m","60m","50mH","55mH","60mH","200m sh","300m sh","400m sh","500m sh","600m sh","800m sh","1000m sh","1500m sh","Mile sh","2000m sh","3000m sh","2 Miles sh","5000m sh","HJ","PV","LJ","TJ","SP","Pent. sh","Hept. sh","4x200m sh","4x400m sh","4x400mix sh"]},"labels":{"TJ":"Triple jump","Road 20kmW":"20km race walk (road)","Road HM":"Half marathon (road)","5000m":"5000m","300m":"300m","200m":"200m","55mH":"55m hurdles","60mH":"60m hurdles","4x400m":"4x400m relay","50mH":"50m hurdles","400m":"400m","Mile sh":"Mile (indoor)","600m":"600m","10000m":"10000m","Hept.":"Heptathlon","20,000mW":"20000m race walk","3000m sh":"3000m (indoor)","800m sh":"800m (indoor)","Road 3kmW":"3km race walk (road)","5000mW":"5000m race walk","4x200m sh":"4x200m relay (indoor)","50m":"50m","500m":"500m","15,000mW":"15000m race walk","Road 10 Miles":"10 mile (road)","100m":"100m","4x100m":"4x100m relay","Road 15 km":"15km (road)","500m sh":"500m (indoor)","110mH":"110m hurdles","10,000mW":"10000m race walk","35,000mW":"35000m race walk","Road 100 km":"100km (road)","400mH":"400m hurdles","HJ":"High jump","300m sh":"300m (indoor)","4x400mix":"4x400m mixed relay","Road 30kmW":"30km race walk (road)","2 Miles":"2 mile","2000m SC":"2000m steeplechase","PV":"Pole vault","400m sh":"400m (indoor)","HT":"Hammer throw","3000m SC":"3000m steeplechase","30,000mW":"30000m race walk","1500m":"1500m","4x400mix sh":"4x400m mixed relay (indoor)","JT":"Javelin throw","Road 50kmW":"50km race walk (road)","Road 30 km":"30km (road)","55m":"55m","4x200m":"4x200m relay","1500m sh":"1500m (indoor)","3000m":"3000m","LJ":"Long jump","Road 5kmW":"5km race walk (road)","Road 5 km":"5km road","3000mW":"3000m race walk","Road 15kmW":"15km race walk (road)","50,000mW":"50000m race walk","60m":"60m","1000m sh":"1000m (indoor)","Road 35kmW":"35km race walk (road)","800m":"800m","1000m":"1000m","Road 10kmW":"10km race walk (road)","DT":"Discus throw","100mH":"100m hurdles","4x400m sh":"4x400m Relay (indoor)","Dec.":"Decathlon","Road 20 km":"20km (road)","200m sh":"200m (indoor)","Road Marathon":"Marathon (road)","2000m":"2000m","5000m sh":"5000m (indoor)","Mile":"Mile","2000m sh":"2000m (indoor)","SP":"Shot put","Road 10 km":"10km (road)","Road 25 km":"25km (road)","600m sh":"600m (indoor)","2 Miles sh":"2 mile (indoor)","Road Mile":"Mile (road)","Pent. sh":"Pentathlon (indoor)","Hept. sh":"Heptathlon (indoor)"},"coeffs":{"men":{"TJ":[0.4603666024030417,90.96978768056579,-514.9946082626993],"Road 20kmW":[0.00002735041573859393,-0.623559717833615,3554.1219906366896],"Road HM":[0.00009469710951061014,-1.3521892901331114,4827.020676429092],"Hept. sh":[0.0000017511052939828738,0.18632999798127692,-46.18002211678322],"5000m":[0.002777997945427213,-8.000608112196687,5760.418712362531],"300m":[1.8296570247447335,-209.30430382250051,5985.805789959268],"200m":[5.083329625804254,-360.8260380705033,6403.154333221377],"55mH":[30.085307708674918,-803.1373763838637,5359.772393310966],"60mH":[23.916231718984818,-698.1937268964539,5095.479315056291],"4x400m":[0.05050072203675704,-33.73384421285573,5633.448990227305],"50mH":[34.21237722424106,-844.9430290468159,5216.591321673945],"400m":[1.0210130425695638,-161.3092238081408,6371.289298935095],"Mile sh":[0.036900007414912395,-30.626657725760197,6354.958031052956],"600m":[0.3856992283143512,-99.89240864996827,6467.788691627793],"10000m":[0.0005239994429364625,-3.3011925260043427,5199.371486475808],"20,000mW":[0.000027350002531860776,-0.6235797774588789,3554.403148578058],"3000m sh":[0.00832191917227365,-13.980775520668885,5871.90250552597],"800m sh":[0.19739256108073278,-72.63927638712084,6682.6879602972185],"Road 3kmW":[0.0013188638764620175,-4.232300411919454,3395.3467675125576],"5000mW":[0.0004669995672369684,-2.5217935388764374,3404.4156502809637],"4x200m sh":[0.3119896689477031,-89.85075766433874,6469.076514942455],"50m":[95.82235385745662,-1763.0165325322305,8108.971505376976],"500m":[0.585027774798931,-121.67863906127604,6326.92802974442],"15,000mW":[0.00004979999739458674,-0.8396274711976517,3539.02770275042],"Road 10 Miles":[0.00018524985210266465,-1.9447905029914807,5104.302716247388],"100m":[24.642211664166098,-837.7135408530303,7119.3125116789015],"4x100m":[1.2360320753572864,-171.79529610507234,5969.431205180357],"Road 15 km":[0.00021619813224982992,-2.104692144502337,5122.29998515785],"500m sh":[0.5649713205833109,-119.76970949143652,6347.5570185079705],"110mH":[7.6652061275597365,-395.4176696527282,5099.522552244605],"10,000mW":[0.00011370001341616184,-1.2620689961606075,3502.2382226384216],"35,000mW":[0.00000613999967058812,-0.27998393156747703,3191.8161623578926],"Road 100 km":[0.0000017649869023559175,-0.17155533952055002,4168.759475629777],"400mH":[0.5459888468067362,-104.2787780128183,4979.068748674414],"HJ":[32.14570816360356,745.3746826150164,-705.259733494051],"300m sh":[1.802963929735995,-209.12735993028036,6064.19838705298],"4x400mix":[0.027319971572494772,-21.855722774421338,4371.091344809567],"Road 30kmW":[0.000008929872357660252,-0.3412926057870429,3260.9773729436565],"2 Miles":[0.007029988518363783,-12.721403001585259,5755.13271902001],"2000m SC":[0.010229985822021836,-13.503484790678613,4456.117711582512],"PV":[3.0457199208785823,239.612026696057,-280.5412229935755],"400m sh":[0.9810285010226494,-158.13093544779986,6372.245446830289],"HT":[0.0028444950947790204,15.081627308136717,-21.68901198504136],"3000m SC":[0.0043159973458793965,-8.804593368752649,4490.321079731511],"30,000mW":[0.000008929998959835068,-0.3413044839752075,3261.1635900282854],"1500m":[0.04065992529984008,-31.307736299477256,6026.662254345021],"4x400mix sh":[0.026880251011740075,-21.772687901858262,4408.906997824612],"JT":[0.0024031524897170087,13.841186813175682,-21.05825095349428],"Road 50kmW":[0.000002123989730853351,-0.15802293332546835,2939.1902791610046],"Road 30 km":[0.000041899103628650555,-0.8882236041678482,4707.383289585705],"55m":[78.9227608844667,-1578.3239369830117,7890.637076645042],"4x200m":[0.2976775548102779,-85.72750621619343,6172.13094653259],"1500m sh":[0.041999988506264074,-32.423575703958704,6257.669581143418],"3000m":[0.008150049932713843,-13.691983542337312,5750.59246378555],"LJ":[1.931092872960562,186.73134733641928,-479.70640445759636],"Road 5kmW":[0.0004673316170291028,-2.522675135297817,3404.498836055718],"Road 5 km":[0.0027791125913787518,-8.002589936962636,5760.829724426498],"3000mW":[0.0013179978841543205,-4.2307618788757395,3395.177055106571],"Road 15kmW":[0.000049801244751997674,-0.8395916226980376,3538.6471161143127],"50,000mW":[0.000002123999976233037,-0.15802557747075685,2939.2753526763263],"60m":[68.62032200155772,-1468.376079820242,7854.923996115336],"1000m sh":[0.11389778654137217,-54.670029751952825,6560.289996561711],"Road 35kmW":[0.0000061400669292650464,-0.2799797053730302,3191.6897468937095],"800m":[0.1980049254166545,-72.07136038821409,6558.28160300618],"1000m":[0.11229987246056083,-53.34129687676432,6334.142779359594],"Road 10kmW":[0.00011369880949837693,-1.2619474331455365,3501.5994292710093],"DT":[0.00400631290161968,17.8920605010303,-27.18777464602681],"4x400m sh":[0.04890033030582153,-33.25166827913472,5652.691308940412],"Dec.":[9.772168523991976e-7,0.139129643801148,-48.958602564753164],"Road 20 km":[0.00010849945387967144,-1.4544357631051241,4874.178186156554],"200m sh":[5.0428984333116205,-363.0051678271411,6532.672628951492],"Road Marathon":[0.000020101186255287035,-0.6150659606552438,4705.042285787989],"2000m":[0.02181003181267993,-23.03116782160032,6080.168871850823],"5000m sh":[0.002900003148620267,-8.351976844926412,6013.40053571912],"Mile":[0.035099677603458446,-29.132456259137143,6044.924547011615],"2000m sh":[0.022600003526984658,-23.865373073726005,6300.3976437979145],"SP":[0.04234614355526389,57.99966265925241,-55.823610246186945],"Road 10 km":[0.0005243835511893474,-3.302659028227424,5200.274036400777],"Road 25 km":[0.00006380128595110182,-1.102413160310192,4762.120081442874],"600m sh":[0.3899861152610953,-102.17335025475768,6692.146447579609],"2 Miles sh":[0.007209969187584653,-13.078823619347986,5931.217870712513],"Road Mile":[0.035099677603458446,-29.132456259137143,6044.924547011615]},"women":{"TJ":[0.4296645887350792,90.3430418780863,-231.6675825305283],"Road 20kmW":[0.00001869988372757989,-0.493658647842274,3258.0265828920237],"Road HM":[0.000025960366893742386,-0.5606107770831628,3026.587224518895],"5000m":[0.0008079992470730324,-3.3935897885437782,3563.2616780022654],"300m":[0.6999743364017235,-107.79032021608691,4149.692833384965],"200m":[2.2422237149162925,-204.01464451534775,4640.727341804304],"55mH":[13.198221547797402,-443.3395456766666,3722.9474163894774],"60mH":[11.16828188896136,-406.39148481091615,3696.9522386075114],"4x400m":[0.015620076884804046,-14.995086303404946,3598.7788204069657],"50mH":[16.212665326054548,-495.9578685610686,3792.827532194031],"400m":[0.3350059758445596,-73.6974469594461,4053.1545244171575],"Mile sh":[0.011540015186639607,-13.513232952897397,3955.963356088527],"600m":[0.1290024817337887,-46.439367295225566,4179.4139537496085],"10000m":[0.0001712000450308747,-1.5407985033832432,3466.7925173026015],"Hept.":[0.0000015806071811915508,0.17704089212065277,-43.84270064775592],"20,000mW":[0.000018699999291954365,-0.4936798059331515,3258.285541488556],"3000m sh":[0.002590000537161685,-6.215973858107134,3729.5683351015323],"800m sh":[0.05719995663858857,-30.201001015322618,3986.4574604244845],"Road 3kmW":[0.0009235372677025705,-3.4012984886514914,3131.6220206810976],"5000mW":[0.0003246000429020235,-2.0384849417822863,3200.416166438328],"4x200m sh":[0.0825999217407336,-35.02153700840836,3712.1957862451673],"50m":[33.046243452504314,-799.5823293340509,4836.413712938258],"500m":[0.1875992157997608,-54.58957565931178,3971.259245572466],"15,000mW":[0.000033869995586716106,-0.6627677511465961,3242.2582453516807],"Road 10 Miles":[0.000050161458530027705,-0.7928929030433878,3133.291096993169],"100m":[9.927426450685289,-436.6751262119069,4802.020943877404],"4x100m":[0.38950036063393156,-76.3380579665054,3740.3711316947592],"Road 15 km":[0.00005950169956620444,-0.8673501034970386,3160.8202295460505],"500m sh":[0.17139835836097816,-51.58928019804989,3881.97389184442],"10,000mW":[0.00007849989817173327,-1.0079383485714501,3235.480591699248],"35,000mW":[0.000004930000111613025,-0.25083835488906914,3190.663239908332],"Road 100 km":[8.73997733214654e-7,-0.10697653743886448,3273.457442281433],"400mH":[0.20856495718486912,-54.2249062108549,3524.488878249118],"HJ":[39.557908744493034,831.3655724464043,-601.5063267494843],"300m sh":[0.6595068053519668,-104.1948510278562,4115.419602857961],"4x400mix":[0.027319971572494772,-21.855722774421338,4371.091344809567],"Road 30kmW":[0.00000689002999299383,-0.2943343933311784,3143.4127356701356],"2 Miles":[0.0021569982582902714,-5.592213856668138,3624.5803229979647],"Pent. sh":[0.0000029452123778365286,0.24163567137421538,-42.43645722704241],"2000m SC":[0.003635987799696705,-6.777453730493733,3158.2797230951983],"PV":[3.9325797501069246,275.48968329946365,-205.1216924619548],"400m sh":[0.32239778088712256,-72.2140857003651,4043.8163995789655],"HT":[0.0030967239667614166,15.730166876520684,-22.699498543297523],"3000m SC":[0.0013229981350130343,-3.99544233512367,3016.5498521791887],"30,000mW":[0.000006890001039170008,-0.29434075898247514,3143.558449914548],"1500m":[0.01339999627048627,-14.471861176560651,3907.3655835949467],"4x400mix sh":[0.026880251011740075,-21.772687901858262,4408.906997824612],"JT":[0.004072274456476066,18.042616052881158,-18.842904339435336],"Road 50kmW":[0.000001990012802723643,-0.15665146940138275,3082.856899531209],"Road 30 km":[0.000011779975715341595,-0.3760051889530356,3000.427789900161],"55m":[27.69222698350768,-728.2024319005941,4786.948624048266],"4x200m":[0.07949854657189448,-33.70677533008393,3572.84874624628],"1500m sh":[0.013649954143477805,-14.741826462372728,3980.259331609617],"3000m":[0.0025389974609562604,-6.09357042856243,3656.127933666052],"LJ":[1.958114032649064,193.69548254413166,-233.98988652729167],"Road 5kmW":[0.0003247214016910971,-2.03870460612589,3199.987032004472],"Road 5 km":[0.0008086109772535849,-3.394979088225057,3563.519547606804],"3000mW":[0.0009230001724518933,-3.4003232245366064,3131.689052976566],"Road 15kmW":[0.00003387067634299081,-0.6627433846042905,3241.956113495311],"50,000mW":[0.0000019900000562662976,-0.15665278293489848,3082.9263533053163],"60m":[24.91177544269476,-697.4127036580539,4880.84062414919],"1000m sh":[0.034730273669098644,-23.643965410011788,4024.137096635415],"Road 35kmW":[0.00000492991338066893,-0.250830552043384,3190.5165854229563],"800m":[0.06879989341997295,-34.399261916380055,4299.822125108796],"1000m":[0.038199708533426247,-25.211487793783817,4159.840558573429],"Road 10kmW":[0.00007850131933358987,-1.0078686324185995,3234.987258339839],"DT":[0.0040284238096806035,17.94169538353276,-19.210748193687323],"100mH":[3.982296326194273,-238.8619577729478,3581.9054393060505],"4x400m sh":[0.015500027842040298,-15.003873478513015,3630.8991499322874],"Road 20 km":[0.000029561167921593728,-0.6002903493061389,3047.491516400696],"200m sh":[1.9617476310046413,-186.35304547847045,4425.540362004947],"Road Marathon":[0.000005389966906974475,-0.25224574933865895,2951.2162982728405],"2000m":[0.006766010458436056,-10.148946030704451,3805.8288250550686],"5000m sh":[0.00082499992965758,-3.464991324219369,3638.23229190876],"Mile":[0.011649998601839462,-13.513881163102496,3918.992004961794],"2000m sh":[0.006849999624836789,-10.305069946577078,3875.710937557713],"SP":[0.046214387641356325,60.75503111383068,-25.931941888942674],"Road 10 km":[0.00017119892280619345,-1.540623663798911,3466.0215817096905],"Road 25 km":[0.000017820078937803765,-0.4640160886376883,3020.6229502419883],"600m sh":[0.10630096102938147,-40.4675585171226,3851.3911703779886],"2 Miles sh":[0.0022019917299053726,-5.708869030298274,3700.1929170416843],"Road Mile":[0.011649998601839462,-13.513881163102496,3918.992004961794]}},"menBlocked":["Hept. sh","Dec.","110mH"],"womenBlocked":["Pent. sh","100mH","Hept."]},"maxPoints":1400,"version":"Retained fits; men's 50mH/110mH refit against 23 April 2025 tables. Approximation, not exact table lookup."},"sources":[{"title":"Canonical HTTP binding at the documented implementation revision","url":"https://github.com/wickthumb/track_tools_pro_marketing/blob/b5a8aca7b85361476e0321a08b7fa5f516fc9535/lib/calculator-functions.ts","note":"Existing calculation handler; math metadata is additive."},{"title":"lib/formulas/wa-points.ts","url":"https://github.com/wickthumb/track_tools_pro_marketing/blob/b5a8aca7b85361476e0321a08b7fa5f516fc9535/lib/formulas/wa-points.ts","note":"Primary implementation source for these equations/tables, not a claim of scientific calibration."},{"title":"World Athletics scoring tables, 2025 edition (updated 23 Apr 2025)","url":"https://worldathletics.org/download/download?filename=4f77dcb3-2945-4c58-ad8b-955a999b13e8.pdf&urlslug=World+Athletics+Scoring+Tables+of+Athletics","note":"2025 edition, updated 23 April 2025. Stored fits approximate the table; not a certified lookup."}]},"annotations":{"readOnlyHint":true,"consequentialHint":false},"name":"World Athletics Points Calculator","description":"This World Athletics points calculator converts athletics marks to points and points back to marks using fitted scoring-table equations for common indoor, outdoor, road, race walk, relay, and field events.","category":"Conversions & Adjustments","method":"POST","endpoint":"/api/calculators/world-athletics-points-calculator","page":"/calculators/world-athletics-points-calculator","inputSchema":{"type":"object","required":["category","gender","event"],"properties":{"category":{"type":"string","description":"World Athletics category.","enum":["outdoor","indoor"],"default":"outdoor"},"gender":{"type":"string","description":"Gender table.","enum":["men","women"],"default":"men"},"event":{"type":"string","description":"World Athletics event key, such as 100m, 800m, SP, or LJ."},"mark":{"type":"string","description":"Mark to convert to points. Time marks may be SS.xx, M:SS.xx, or H:MM:SS.xx."},"points":{"type":"string","description":"Points to reverse-convert to a mark."}}},"example":{"category":"outdoor","gender":"men","event":"100m","mark":"10.00"}}}