T
Tennis EdgeBoard
ATP + WTA daily edges - Kalshi + PrizePicks - auto-refresh 2m
Generated
2026-05-27 13:10 UTC
Sources
29
Day-2 calibration reset

Real-money probe lost 0/4 (-$10.00) on 5/17. Sim was wildly over-confident on qualifying-round picks — 8/8 qualifying edges lost despite avg +35pp model edge.

Qualifying filter now active. Real money gate-locked until 5/30 ($50 paper P&L + MAE <3pp + n≥50 graded). See Calibration & Lessons tab for the full Day-2 AAR.

Kalshi KXATPMATCH 2m · 1804rKalshi KXWTAMATCH 2m · 1666rKalshi KXFRENCHOPEN 2mKalshi KXFOPENMENSINGLE 2mKalshi KXATPGRANDSLAM 2m · 14rKalshi KXUSOPEN 2mKalshi KXATPSETWINNER 2m · 3692rKalshi KXATPTOTALSETS 2mKalshi KXATPSETSWEEP 2m · 1rKalshi KXATPGAMESPREAD 2mKalshi KXATPEXACTMATCH 2m · 1666rKalshi KXWTADOUBLES 2m · 74rKalshi KXATP1RANK 2m · 16relo last computed 2m · 20051rrankings last pulled 2m · 7538rrankings atp latest date 2drankings wta latest date 2dmirror atp schedule 0m · 124rh2h last computed 10dh2h n pairs missinglast player db run missingresults last_run missingpp_edges CSV 0mkalshi edges JSON 0mpaper trades PP 0mpaper trades Kalshi 0mdaily payload 0mPP movement 0mPP calibration 0m
Matches today
48
scheduled
ELITE edges
0
across Kalshi + PP
STRONG edges
0
tier 2
MED edges
0
tier 3
Paper locks
3
Kalshi + PP
Real Money YTD
-$10.00
paper-gate restored
Qualifying skipped
0
filtered out today
Last refresh
13:10
2026-05-27 UTC
🏆 Best Bet (main-draw)
No main-draw Kalshi pick survived qualifying filter today.
🎯 Safest (P ≥ 65%)
Felix Auger-Aliassime
Felix Auger-Aliassime vs Roman Andres Burruchaga · Round Of 64 hard · LOW
72%
Heavy main-draw favorite · SKIP
Edge +1.1pp
Ask 71¢
💎 Biggest Payout (ELITE)
No ELITE main-draw longshot today.
#MatchTournamentRoundSurfaceStartELO AELO BELO diffKalshi event
1Camilo Ugo Carabelli vs Andrey RublevRoland GarrosRound 2clayMay 27 11:0017211658+63KXATPMATCH-26MAY27UGORUB
2Camilo Ugo Carabelli vs Andrey RublevRoland GarrosRound 2clayMay 27 11:0017211658+63KXATPMATCH-26MAY27UGORUB
3Mariano Navone vs Jakub MensikRoland GarrosRound 2clayMay 27 11:3017161589+128KXATPMATCH-26MAY27NAVMEN
4Mariano Navone vs Jakub MensikRoland GarrosRound 2clayMay 27 11:3017161589+128KXATPMATCH-26MAY27NAVMEN
5Jelena Ostapenko vs Magda LinetteRoland GarrosRound 2clayMay 27 12:0016321596+37KXWTAMATCH-26MAY27OSTLIN
6Jelena Ostapenko vs Magda LinetteRoland GarrosRound 2clayMay 27 12:0016321596+37KXWTAMATCH-26MAY27OSTLIN
7Elina Svitolina vs Kaitlin QuevedoRoland GarrosRound 2clayMay 27 12:0517271702+25KXWTAMATCH-26MAY27SVIQUE
8Viktorija Golubic vs Alycia ParksRoland GarrosRound 2clayMay 27 12:0515221543-21KXWTAMATCH-26MAY27GOLPAR
9Elina Svitolina vs Kaitlin QuevedoRoland GarrosRound 2clayMay 27 12:0517271702+25KXWTAMATCH-26MAY27SVIQUE
10Viktorija Golubic vs Alycia ParksRoland GarrosRound 2clayMay 27 12:0515221543-21KXWTAMATCH-26MAY27GOLPAR
11Marta Kostyuk vs Katie VolynetsRoland GarrosRound 2clayMay 27 12:3017571657+100KXWTAMATCH-26MAY27KOSVOL
12Marta Kostyuk vs Katie VolynetsRoland GarrosRound 2clayMay 27 12:3017571657+100KXWTAMATCH-26MAY27KOSVOL
13Francesca Jones vs Marie BouzkovaRoland GarrosRound 2clayMay 27 12:4017641699+66KXWTAMATCH-26MAY27JONBOU
14Francesca Jones vs Marie BouzkovaRoland GarrosRound 2clayMay 27 12:4017641699+66KXWTAMATCH-26MAY27JONBOU
15Thanasi Kokkinakis vs Pablo Carreno BustaRoland GarrosRound 2clayMay 27 13:1515601630-71KXATPSETWINNER-26MAY27KOKCAR-3
16Thanasi Kokkinakis vs Pablo Carreno BustaRoland GarrosRound 2clayMay 27 13:1515601630-71KXATPSETWINNER-26MAY27KOKCAR-3
17Yuliia Starodubtseva vs Elena RybakinaRoland GarrosRound 2clayMay 27 13:2016191760-141KXWTAMATCH-26MAY27STARYB
18James Duckworth vs Rafael JodarRoland GarrosRound 2clayMay 27 13:2016411714-73KXATPMATCH-26MAY27DUCJOD
19Yuliia Starodubtseva vs Elena RybakinaRoland GarrosRound 2clayMay 27 13:2016191760-141KXWTAMATCH-26MAY27STARYB
20James Duckworth vs Rafael JodarRoland GarrosRound 2clayMay 27 13:2016411714-73KXATPMATCH-26MAY27DUCJOD
21Hailey Baptiste vs ?Roland GarrosRound 2clayMay 27 13:301662
22Nuno Borges vs Miomir KecmanovicRoland GarrosRound 2clayMay 27 13:3015721483+89KXATPSETWINNER-26MAY27BORKEC-3
23Valentin Royer vs Novak DjokovicRoland GarrosRound 2clayMay 27 13:3016821738-56KXATPSETWINNER-26MAY27ROYDJO-2
24Joao Fonseca vs Dino PrizmicRoland GarrosRound 2clayMay 27 13:3016381752-114KXATPSETWINNER-26MAY27FONPRI-2
25Ugo Humbert vs Quentin HalysRoland GarrosRound 2clayMay 27 13:3014511533-82KXATPSETWINNER-26MAY27HUMHAL-1
26Hailey Baptiste vs ?Roland GarrosRound 2clayMay 27 13:301662
27Nuno Borges vs Miomir KecmanovicRoland GarrosRound 2clayMay 27 13:3015721483+89KXATPSETWINNER-26MAY27BORKEC-3
28Valentin Royer vs Novak DjokovicRoland GarrosRound 2clayMay 27 13:3016821738-56KXATPSETWINNER-26MAY27ROYDJO-2
29Joao Fonseca vs Dino PrizmicRoland GarrosRound 2clayMay 27 13:3016381752-114KXATPSETWINNER-26MAY27FONPRI-2
30Ugo Humbert vs Quentin HalysRoland GarrosRound 2clayMay 27 13:3014511533-82KXATPSETWINNER-26MAY27HUMHAL-1
31Jasmine Paolini vs Solana SierraRoland GarrosRound 2clayMay 27 14:0017071796-89KXWTAMATCH-26MAY27PAOSIE
32Nishesh Basavareddy vs Alex MichelsenRoland GarrosRound 2clayMay 27 14:0015891488+100KXATPMATCH-26MAY27BASMIC
33Jasmine Paolini vs Solana SierraRoland GarrosRound 2clayMay 27 14:0017071796-89KXWTAMATCH-26MAY27PAOSIE
34Nishesh Basavareddy vs Alex MichelsenRoland GarrosRound 2clayMay 27 14:0015891488+100KXATPMATCH-26MAY27BASMIC
35Eva Lys vs Sorana CirsteaRoland GarrosRound 2clayMay 27 14:3015891612-23KXWTAMATCH-26MAY27LYSCIR
36Lorenzo Sonego vs Tommy PaulRoland GarrosRound 2clayMay 27 14:3014651748-283KXATPSETWINNER-26MAY27SONPAU-3
37Eva Lys vs Sorana CirsteaRoland GarrosRound 2clayMay 27 14:3015891612-23KXWTAMATCH-26MAY27LYSCIR
38Lorenzo Sonego vs Tommy PaulRoland GarrosRound 2clayMay 27 14:3014651748-283KXATPSETWINNER-26MAY27SONPAU-3
39Kamilla Rakhimova vs Karolina MuchovaRoland GarrosRound 2clayMay 27 15:0015511597-46KXWTAMATCH-26MAY27RAKMUC
40Jil Teichmann vs Magdalena FrechRoland GarrosRound 2clayMay 27 15:0016451534+111KXWTAMATCH-26MAY27TEIFRE
41Kamilla Rakhimova vs Karolina MuchovaRoland GarrosRound 2clayMay 27 15:0015511597-46KXWTAMATCH-26MAY27RAKMUC
42Jil Teichmann vs Magdalena FrechRoland GarrosRound 2clayMay 27 15:0016451534+111KXWTAMATCH-26MAY27TEIFRE
43Mirra Andreeva vs Marina Bassols RiberaRoland GarrosRound 2clayMay 27 15:3018001681+119KXWTAMATCH-26MAY27ANDBAS
44Casper Ruud vs Hamad MedjedovicRoland GarrosRound 2clayMay 27 15:3017441688+56KXATPSETWINNER-26MAY27RUUMED-2
45Mirra Andreeva vs Marina Bassols RiberaRoland GarrosRound 2clayMay 27 15:3018001681+119KXWTAMATCH-26MAY27ANDBAS
46Casper Ruud vs Hamad MedjedovicRoland GarrosRound 2clayMay 27 15:3017441688+56KXATPSETWINNER-26MAY27RUUMED-2
47Tomas Machac vs Alexander ZverevRoland GarrosRound 2clayMay 27 18:1515921816-224KXATPSETWINNER-26MAY27MACZVE-2
48Tomas Machac vs Alexander ZverevRoland GarrosRound 2clayMay 27 18:1515921816-224KXATPSETWINNER-26MAY27MACZVE-2
#MatchOur pickOur PMkt PAskEdgeTierDecisionVol 24hSurfaceRoundEV/$
1Marie Bouzkova vs Francesca JonesFrancesca Jones55.3%5.0%+50.3ppLOWPAPER75526clayRound 2+0.503
2Amanda Anisimova vs Julia GrabherJulia Grabher64.1%18.0%18¢+46.1ppLOWPAPER1690clayRound 2+0.461
3Learner Tien vs Facundo Diaz AcostaFacundo Diaz Acosta67.5%27.0%27¢+40.5ppLOWPAPER13377clayRound 2+0.405
4Andrey Rublev vs Camilo Ugo CarabelliCamilo Ugo Carabelli54.4%15.0%15¢+39.5ppLOWPAPER932508clayRound 2+0.394
5James Duckworth vs Rafael JodarJames Duckworth44.8%6.0%+38.8ppLOWPAPER202704clayRound 2+0.388
6Elina Svitolina vs Kaitlin QuevedoKaitlin Quevedo44.3%8.0%+36.3ppLOWPAPER141281clayRound 2+0.363
7Mirra Andreeva vs Marina Bassols RiberaMarina Bassols Ribera41.1%5.0%+36.1ppLOWPAPER57582clayRound 2+0.361
8Hugo Gaston vs Francisco CerundoloHugo Gaston47.7%12.0%12¢+35.7ppLOWPAPER11307hardRound Of 64+0.357
9Daria Kasatkina vs Susan BandecchiSusan Bandecchi44.6%13.0%13¢+31.6ppLOWPAPER657clayRound 2+0.316
10Kamilla Rakhimova vs Karolina MuchovaKamilla Rakhimova42.6%11.0%11¢+31.6ppLOWPAPER8458clayRound 2+0.316
11Elise Mertens vs Maja ChwalinskaMaja Chwalinska63.9%35.0%35¢+28.9ppLOWPAPER1308clayRound 2+0.289
12Yuliia Starodubtseva vs Elena RybakinaYuliia Starodubtseva39.6%11.0%11¢+28.6ppLOWPAPER56025clayRound 2+0.286
13Elsa Jacquemot vs Aryna SabalenkaElsa Jacquemot30.2%3.0%+27.2ppLOWSKIP6275clayRound 2+0.272
14Belinda Bencic vs Peyton StearnsPeyton Stearns54.2%81.0%81¢-26.8ppLOWPAPER0clayRound 3-0.268
15Marta Kostyuk vs Katie VolynetsKatie Volynets42.5%16.0%16¢+26.5ppLOWPAPER136945clayRound 2+0.265
16Flavio Cobolli vs Yibing WuYibing Wu53.7%28.0%28¢+25.7ppLOWPAPER4849hardRound Of 64+0.257
17Naomi Osaka vs Donna VekicDonna Vekic51.7%27.0%27¢+24.7ppLOWPAPER2826clayRound 2+0.247
18Sorana Cirstea vs Eva LysEva Lys44.4%20.0%20¢+24.4ppLOWPAPER7505clayRound 2+0.244
19Nishesh Basavareddy vs Alex MichelsenNishesh Basavareddy60.9%37.0%37¢+23.9ppLOWPAPER61700clayRound 2+0.239
20Jasmine Paolini vs Solana SierraSolana Sierra60.4%37.0%37¢+23.4ppLOWPAPER33990clayRound 2+0.234
21Hailey Baptiste vs Xiyu WangXiyu Wang56.1%34.0%34¢+22.1ppLOWPAPER71503hardRound Of 64+0.221
22Brandon Nakashima vs Luca Van AsscheLuca Van Assche53.3%32.0%32¢+21.4ppLOWPAPER1942hardRound Of 64+0.213
23Tommy Paul vs Lorenzo SonegoLorenzo Sonego36.8%16.0%16¢+20.8ppLOWPAPER20440hardRound Of 64+0.208
24Valentin Vacherot vs Alejandro TabiloValentin Vacherot57.4%37.0%37¢+20.4ppLOWPAPER6057hardRound Of 64+0.203
25Alexander Zverev vs Tomas MachacTomas Machac34.3%14.0%14¢+20.3ppLOWPAPER107712hardRound Of 64+0.203
26Antonia Ruzic vs Madison KeysAntonia Ruzic36.0%16.0%16¢+20.0ppLOWPAPER3380clayRound 2+0.200
27Frances Tiafoe vs Hubert HurkaczFrances Tiafoe63.0%44.0%44¢+19.0ppLOWPAPER11836hardRound Of 64+0.190
28Ben Shelton vs Raphael CollignonRaphael Collignon52.9%34.0%34¢+18.9ppLOWPAPER159101hardRound Of 64+0.189
29Anastasia Potapova vs Katie BoulterKatie Boulter40.9%22.0%22¢+18.9ppLOWPAPER2717clayRound 2+0.189
30Pablo Carreno Busta vs Thanasi KokkinakisThanasi Kokkinakis48.3%30.0%30¢+18.3ppLOWPAPER61073hardRound Of 64+0.183
31Maria Sakkari vs Claire LiuClaire Liu54.0%36.0%36¢+18.1ppLOWPAPER1927clayRound 2+0.180
32Diana Shnaider vs McCartney KesslerMcCartney Kessler40.3%23.0%23¢+17.3ppLOWPAPER2421clayRound 2+0.173
33Casper Ruud vs Hamad MedjedovicHamad Medjedovic45.0%29.0%29¢+16.0ppLOWPAPER58584hardRound Of 64+0.160
34Novak Djokovic vs Valentin RoyerValentin Royer28.7%13.0%13¢+15.7ppLOWPAPER218569hardRound Of 64+0.157
35Jelena Ostapenko vs Magda LinetteMagda Linette47.4%34.0%34¢+13.4ppLOWPAPER315557clayRound 2+0.134
36Jil Teichmann vs Magdalena FrechJil Teichmann54.2%41.0%41¢+13.2ppLOWPAPER13153clayRound 2+0.132
37Martin Landaluce vs Vit KoprivaVit Kopriva60.8%48.0%48¢+12.8ppLOWPAPER12953clayRound 2+0.128
38Anna Kalinskaya vs Alina KorneevaAlina Korneeva40.7%29.0%29¢+11.7ppLOWPAPER1390clayRound 2+0.117
39Dino Prizmic vs Joao FonsecaJoao Fonseca58.3%49.0%49¢+9.3ppLOWPAPER113693hardRound Of 64+0.093
40Katerina Siniakova vs Victoria MbokoKaterina Siniakova38.3%29.0%29¢+9.3ppLOWPAPER1683clayRound 2+0.093
41Luciano Darderi vs Francisco ComesanaFrancisco Comesana33.7%27.0%27¢+6.7ppLOWPAPER2406clayRound 2+0.067
42Jaime Faria vs Jan-Lennard StruffJan-Lennard Struff44.4%38.0%38¢+6.4ppLOWPAPER1110hardRound Of 64+0.064
43Nuno Borges vs Miomir KecmanovicNuno Borges46.1%40.0%40¢+6.1ppLOWPAPER105068hardRound Of 64+0.061
44Diane Parry vs Ann LiDiane Parry35.9%30.0%30¢+5.8ppLOWPAPER2814clayRound 2+0.058
45Arthur Rinderknech vs Matteo BerrettiniMatteo Berrettini54.8%50.0%50¢+4.8ppLOWPAPER3641hardRound Of 64+0.048
46Camila Osorio vs Yulia PutintsevaYulia Putintseva47.6%43.0%43¢+4.6ppLOWPAPER1345clayRound 2+0.046
47Zachary Svajda vs Adam WaltonAdam Walton53.2%49.0%49¢+4.2ppLOWPAPER1239clayRound 2+0.042
48Iva Jovic vs Emma NavarroIva Jovic56.7%54.0%54¢+2.7ppLOWPAPER8631clayRound 2+0.027
49Oleksandra Oliynykova vs Kimberly BirrellOleksandra Oliynykova71.6%69.0%69¢+2.6ppLOWPAPER2936clayRound 2+0.026
50Stefanos Tsitsipas vs Matteo ArnaldiMatteo Arnaldi41.5%39.0%39¢+2.5ppLOWPAPER3470hardRound Of 64+0.025
51Adolfo Daniel Vallejo vs Moise KouameMoise Kouame30.1%28.0%28¢+2.1ppLOWPAPER15039clayRound 2+0.021
52Ugo Humbert vs Quentin HalysQuentin Halys45.0%43.0%43¢+2.0ppLOWSKIP58480hardRound Of 64+0.020
53Felix Auger-Aliassime vs Roman Andres BurruchagaFelix Auger-Aliassime72.2%71.0%71¢+1.1ppLOWSKIP1436hardRound Of 64+0.012
54Mariano Navone vs Jakub MensikJakub Mensik40.4%41.0%41¢-0.6ppLOWSKIP738263clayRound 2-0.006
#PlayerStatPP lineOur projEdge %SideTierOppSurfaceDemonPayout
1Kamilla Rakhimova🧊 COLDAces0.52.79+458.1%MORELOWKarolina Muchovaclay1.0x
2Yuliia Starodubtseva🟨 WARMBreak Points Won1.54.41+194.1%MORELOWElena Rybakinaclay1.0x
3James Duckworth⏳ RTRNBreak Points Won1.53.30+120.2%MORELOWRafael Jodarclay1.0x
4Marina Bassols Ribera🟨 WARMTotal Games Won5.09.63+92.7%MORELOWMirra Andreevaclay0.5x
5Elsa Jacquemot🧊 COLDTotal Games Won4.58.47+88.3%MORELOWAryna Sabalenkaclay0.5x
6Kamilla Rakhimova🧊 COLDBreak Points Won2.54.56+82.4%MORELOWKarolina Muchovaclay1.0x
7Alexander Zverev🟨 WARMTotal Tie Breaks0.50.12+75.7%LESSLOWTomas Machacclay1.0x
8Luciano Darderi🟨 WARMTotal Tie Breaks0.50.12+75.5%LESSLOWFrancisco Comesanaclay1.0x
9Felix Auger-Aliassime🟨 WARMTotal Tie Breaks0.50.12+75.3%LESSLOWRoman Andres Burruchagaclay1.0x
10Martin LandaluceTotal Tie Breaks0.50.12+75.3%LESSLOWVit Koprivaclay1.0x
11Julia GrabherTotal Games Won7.511.80+57.4%MORELOWAmanda Anisimovaclay0.5x
12Quentin Halys🧊 COLDAces13.56.08+54.9%LESSLOWUgo Humbertclay0.5x
13Alex Michelsen🧊 COLDTotal Games Won20.59.34+54.5%LESSLOWNishesh Basavareddyclay0.5x
14Susan Bandecchi🟨 WARMTotal Games Won6.510.04+54.4%MORELOWDaria Kasatkinaclay0.5x
15Miomir Kecmanovic🧊 COLDTotal Games Won20.59.42+54.0%LESSLOWNuno Borgesclay0.5x
16Ugo Humbert🧊 COLDTotal Games Won20.59.46+53.8%LESSLOWQuentin Halysclay0.5x
17Arthur RinderknechTotal Games Won20.59.76+52.4%LESSLOWMatteo Berrettiniclay0.5x
18Ben Shelton🟨 WARMTotal Games Won20.510.16+50.4%LESSLOWRaphael Collignonclay0.5x
19Alex Michelsen🧊 COLDTotal Tie Breaks0.50.25+50.2%LESSLOWNishesh Basavareddyclay1.0x
20Zachary Svajda🧊 COLDTotal Games Won19.59.71+50.2%LESSLOWAdam Waltonclay1.0x
21Miomir Kecmanovic🧊 COLDTotal Tie Breaks0.50.25+50.1%LESSLOWNuno Borgesclay1.0x
22Jaime Faria🟨 WARMTotal Tie Breaks0.50.25+50.0%LESSLOWJan-Lennard Struffclay1.0x
23Joao Fonseca🟨 WARMTotal Games Won19.59.77+49.9%LESSLOWDino Prizmicclay0.5x
24Frances Tiafoe⏳ RTRNTotal Games Won19.59.85+49.5%LESSLOWHubert Hurkaczclay0.5x
25Kamilla Rakhimova🧊 COLDTotal Games Won6.59.71+49.3%MORELOWKarolina Muchovaclay0.5x
26Brandon NakashimaTotal Games Won20.510.43+49.1%LESSLOWLuca Van Asscheclay0.5x
27Matteo Arnaldi🟨 WARMTotal Games Won19.510.01+48.6%LESSLOWStefanos Tsitsipasclay1.0x
28Adam Walton🧊 COLDTotal Games Won19.510.24+47.5%LESSLOWZachary Svajdaclay1.0x
29Casper Ruud🟨 WARMTotal Games Won20.510.85+47.1%LESSLOWHamad Medjedovicclay0.5x
30Quentin Halys🧊 COLDTotal Games Won19.510.50+46.2%LESSLOWUgo Humbertclay0.5x
31Nuno Borges🧊 COLDTotal Games Won19.510.52+46.1%LESSLOWMiomir Kecmanovicclay0.5x
32Stefanos TsitsipasTotal Games Won20.511.08+46.0%LESSLOWMatteo Arnaldiclay1.0x
33Hubert Hurkacz🟨 WARMTotal Games Won20.511.13+45.7%LESSLOWFrances Tiafoeclay0.5x
34Hamad Medjedovic⏳ RTRNTotal Games Won18.510.09+45.5%LESSLOWCasper Ruudclay0.5x
35Matteo BerrettiniTotal Games Won20.511.26+45.1%LESSLOWArthur Rinderknechclay0.5x
36Flavio Cobolli🟨 WARMTotal Games Won20.511.26+45.1%LESSLOWYibing Wuclay0.5x
37Raphael Collignon⏳ RTRNTotal Games Won19.510.84+44.4%LESSLOWBen Sheltonclay0.5x
38Yibing Wu🟨 WARMTotal Games Won17.59.74+44.4%LESSLOWFlavio Cobolliclay0.5x
39Luca Van AsscheTotal Games Won18.510.51+43.2%LESSLOWBrandon Nakashimaclay0.5x
40Rafael Jodar🟨 WARMBreak Points Won6.03.53+41.1%LESSLOWJames Duckworthclay1.0x
41Thanasi Kokkinakis⏳ RTRNTotal Games Won17.010.02+41.0%LESSLOWPablo Carreno Bustaclay0.5x
42Xiyu Wang🟨 WARMBreak Points Won3.54.93+40.9%MORELOWHailey Baptisteclay1.0x
43Mirra Andreeva🟨 WARMTotal Games17.023.90+40.6%MORELOWMarina Bassols Riberaclay0.5x
44Nishesh Basavareddy🟨 WARMTotal Games Won18.511.15+39.8%LESSLOWAlex Michelsenclay0.5x
45Dino Prizmic🔥 HOTTotal Games Won19.511.82+39.4%LESSLOWJoao Fonsecaclay0.5x
46Alexander Zverev🟨 WARMTotal Games Won19.511.84+39.3%LESSLOWTomas Machacclay0.5x
47Matteo BerrettiniTotal Games40.524.91+38.5%LESSLOWArthur Rinderknechclay0.5x
48Hubert Hurkacz🟨 WARMTotal Games40.525.12+38.0%LESSLOWFrances Tiafoeclay0.5x
49Tommy Paul🟨 WARMTotal Games Won19.512.11+37.9%LESSLOWLorenzo Sonegoclay0.5x
50Lorenzo Sonego🧊 COLDTotal Games Won13.58.44+37.5%LESSLOWTommy Paulclay0.5x
51Adolfo Daniel Vallejo🟨 WARMTotal Games35.522.26+37.3%LESSLOWMoise Kouameclay0.5x
52Tomas MachacTotal Games Won14.59.10+37.2%LESSLOWAlexander Zverevclay0.5x
53Aryna Sabalenka🟨 WARMTotal Games16.522.55+36.6%MORELOWElsa Jacquemotclay0.5x
54Ugo Humbert🧊 COLDTotal Games39.525.09+36.5%LESSLOWQuentin Halysclay0.5x
55Miomir Kecmanovic🧊 COLDTotal Games39.525.10+36.5%LESSLOWNuno Borgesclay0.5x
56Alex Michelsen🧊 COLDAces9.56.04+36.4%LESSLOWNishesh Basavareddyclay1.0x
57Hubert Hurkacz🟨 WARMTotal Games39.525.12+36.4%LESSLOWFrances Tiafoeclay0.5x
58Ben Shelton🟨 WARMTotal Games39.525.16+36.3%LESSLOWRaphael Collignonclay0.5x
59Joao Fonseca🟨 WARMBreak Points Won5.03.21+35.8%LESSLOWDino Prizmicclay1.0x
60Ben Shelton🟨 WARMTotal Games39.025.16+35.5%LESSLOWRaphael Collignonclay0.5x
61Joao Fonseca🟨 WARMTotal Games38.024.71+35.0%LESSLOWDino Prizmicclay0.5x
62Adam Walton🧊 COLDTotal Games38.525.04+35.0%LESSLOWZachary Svajdaclay0.5x
63Tomas MachacAces4.56.07+34.8%MORELOWAlexander Zverevclay0.5x
64Jaime Faria🟨 WARMTotal Games38.525.10+34.8%LESSLOWJan-Lennard Struffclay0.5x
65Stefanos TsitsipasTotal Games38.525.13+34.7%LESSLOWMatteo Arnaldiclay0.5x
66Alejandro Tabilo🟨 WARMTotal Games38.525.14+34.7%LESSLOWValentin Vacherotclay0.5x
67Luciano Darderi🟨 WARMTotal Games37.024.18+34.6%LESSLOWFrancisco Comesanaclay0.5x
68Martin LandaluceTotal Games37.524.54+34.6%LESSLOWVit Koprivaclay0.5x
69Felix Auger-Aliassime🟨 WARMTotal Games36.524.29+33.4%LESSLOWRoman Andres Burruchagaclay0.5x
70Alex Michelsen🧊 COLDTotal Games37.524.97+33.4%LESSLOWNishesh Basavareddyclay0.5x
71Brandon NakashimaTotal Games37.525.13+33.0%LESSLOWLuca Van Asscheclay0.5x
72Casper Ruud🟨 WARMTotal Games37.525.18+32.9%LESSLOWHamad Medjedovicclay0.5x
73Hamad Medjedovic⏳ RTRNAces9.56.38+32.8%LESSLOWCasper Ruudclay0.5x
74Tommy Paul🟨 WARMBreak Points Won5.53.71+32.6%LESSLOWLorenzo Sonegoclay1.0x
75Flavio Cobolli🟨 WARMTotal Games37.024.97+32.5%LESSLOWYibing Wuclay0.5x
76Karolina Muchova⏳ RTRNTotal Games18.524.44+32.1%MORELOWKamilla Rakhimovaclay0.5x
77Brandon NakashimaTotal Games37.025.13+32.1%LESSLOWLuca Van Asscheclay0.5x
78Learner Tien🧊 COLDTotal Games35.023.90+31.7%LESSLOWFacundo Diaz Acostaclay0.5x
79Flavio Cobolli🟨 WARMTotal Games36.524.97+31.6%LESSLOWYibing Wuclay0.5x
80Daria Kasatkina🟨 WARMTotal Games18.524.33+31.5%MORELOWSusan Bandecchiclay0.5x
81Tommy Paul🟨 WARMAces4.55.91+31.3%MORELOWLorenzo Sonegoclay0.5x
82Pablo Carreno Busta🟨 WARMTotal Games36.525.12+31.2%LESSLOWThanasi Kokkinakisclay0.5x
83Tommy Paul🟨 WARMTotal Games33.523.07+31.1%LESSLOWLorenzo Sonegoclay0.5x
84Tommy Paul🟨 WARMTotal Sets3.52.42+30.9%LESSLOWLorenzo Sonegoclay1.0x
85Ugo Humbert🧊 COLDBreak Points Won4.53.13+30.5%LESSLOWQuentin Halysclay1.0x
86Alexander Zverev🟨 WARMTotal Sets3.52.43+30.5%LESSLOWTomas Machacclay1.0x
87Alexander Zverev🟨 WARMTotal Games34.023.78+30.1%LESSLOWTomas Machacclay0.5x
88Elena Rybakina🟨 WARMTotal Games18.523.57+27.4%MORELOWYuliia Starodubtsevaclay0.5x
89Hugo GastonTotal Games Won12.59.10+27.2%LESSLOWFrancisco Cerundoloclay0.5x
90Alexander Zverev🟨 WARMBreak Points Won5.03.67+26.6%LESSLOWTomas Machacclay1.0x
91Brandon NakashimaTotal Tie Breaks0.50.37+25.4%LESSLOWLuca Van Asscheclay1.0x
92Valentin Royer🟨 WARMTotal Games Won13.510.10+25.2%LESSLOWNovak Djokovicclay0.5x
93Nuno Borges🧊 COLDBreak Points Won4.53.37+25.1%LESSLOWMiomir Kecmanovicclay1.0x
94Dino Prizmic🔥 HOTBreak Points Won5.03.76+24.7%LESSLOWJoao Fonsecaclay1.0x
95Francisco Cerundolo🟨 WARMTotal Games31.523.78+24.5%LESSLOWHugo Gastonclay0.5x
96Madison Keys⏳ RTRNTotal Games19.023.63+24.4%MORELOWAntonia Ruzicclay0.5x
97Diana ShnaiderTotal Games19.523.83+22.2%MORELOWMcCartney Kesslerclay0.5x
98Sorana Cirstea🟨 WARMTotal Games20.024.44+22.2%MORELOWEva Lysclay0.5x
99Novak Djokovic⏳ RTRNTotal Games32.025.12+21.5%LESSLOWValentin Royerclay0.5x
100Tomas MachacBreak Points Won2.53.00+19.9%MORELOWAlexander Zverevclay1.0x
101Diana ShnaiderTotal Games20.023.83+19.1%MORELOWMcCartney Kesslerclay0.5x
102Amanda Anisimova⏳ RTRNTotal Games19.523.21+19.1%MORELOWJulia Grabherclay0.5x
103Anna KalinskayaTotal Games20.524.30+18.5%MORELOWAlina Korneevaclay0.5x
104Naomi Osaka🟨 WARMTotal Games Won12.510.31+17.6%LESSLOWDonna Vekicclay1.0x
105Elena Rybakina🟨 WARMBreak Points Won4.55.24+16.5%MORELOWYuliia Starodubtsevaclay1.0x
106Hailey Baptiste🟨 WARMTotal Games Won12.510.50+16.0%LESSLOWXiyu Wangclay0.5x
107Anastasia Potapova🟨 WARMTotal Games20.523.75+15.9%MORELOWKatie Boulterclay0.5x
108Eva Lys🧊 COLDTotal Games Won8.59.83+15.6%MORELOWSorana Cirsteaclay0.5x
109Ann LiTotal Games20.523.57+15.0%MORELOWDiane Parryclay0.5x
110Casper Ruud🟨 WARMAces7.56.43+14.3%LESSLOWHamad Medjedovicclay1.0x
111Camila OsorioTotal Games21.524.48+13.9%MORELOWYulia Putintsevaclay0.5x
112Hailey Baptiste🟨 WARMTotal Games21.524.48+13.8%MORELOWXiyu Wangclay0.5x
113Maria Sakkari🧊 COLDTotal Games21.524.42+13.6%MORELOWClaire Liuclay0.5x
114Katie BoulterTotal Games Won8.59.64+13.4%MORELOWAnastasia Potapovaclay0.5x
115Naomi Osaka🟨 WARMTotal Games21.524.38+13.4%MORELOWDonna Vekicclay0.5x
116Jasmine Paolini🧊 COLDTotal Games21.524.20+12.6%MORELOWSolana Sierraclay0.5x
117Jasmine Paolini🧊 COLDBreak Points Won5.04.39+12.2%LESSLOWSolana Sierraclay1.0x
118Rafael Jodar🟨 WARMTotal Games28.525.08+12.0%LESSLOWJames Duckworthclay0.5x
119Magdalena FrechTotal Games21.524.08+12.0%MORELOWJil Teichmannclay0.5x
120Elise MertensTotal Games21.023.27+10.8%MORELOWMaja Chwalinskaclay0.5x
121Hailey Baptiste🟨 WARMBreak Points Won4.54.93+9.5%MORELOWXiyu Wangclay1.0x
122Jil Teichmann🧊 COLDBreak Points Won4.54.92+9.3%MORELOWMagdalena Frechclay1.0x
123Magdalena FrechBreak Points Won5.04.54+9.2%LESSLOWJil Teichmannclay1.0x
124Jannik Sinner🟨 WARMTotal Games27.024.55+9.1%LESSLOWJuan Manuel Cerundoloclay0.5x
125Claire Liu🟨 WARMTotal Games Won11.510.52+8.6%LESSLOWMaria Sakkariclay0.5x
126Xiyu Wang🟨 WARMTotal Games Won11.510.53+8.4%LESSLOWHailey Baptisteclay0.5x
127Elise MertensTotal Games21.523.27+8.2%MORELOWMaja Chwalinskaclay0.5x
128McCartney Kessler⏳ RTRNTotal Games Won9.09.57+6.3%MORELOWDiana Shnaiderclay0.5x
129Thanasi Kokkinakis⏳ RTRNBreak Points Won3.53.32+5.2%LESSLOWPablo Carreno Bustaclay1.0x
130Hamad Medjedovic⏳ RTRNBreak Points Won3.53.33+5.0%LESSLOWCasper Ruudclay1.0x
131Mirra Andreeva🟨 WARMBreak Points Won5.55.23+4.9%LESSLOWMarina Bassols Riberaclay1.0x
132Solana Sierra🟨 WARMTotal Games Won11.511.12+3.3%LESSLOWJasmine Paoliniclay0.5x
133Maja Chwalinska⏳ RTRNTotal Games Won11.511.82+2.8%MORELOWElise Mertensclay0.5x
134Nishesh Basavareddy🟨 WARMBreak Points Won3.53.58+2.2%MORELOWAlex Michelsenclay1.0x
135Karolina Muchova⏳ RTRNBreak Points Won5.05.09+1.7%MORELOWKamilla Rakhimovaclay1.0x
136Lorenzo Sonego🧊 COLDAces5.55.59+1.6%MORELOWTommy Paulclay0.5x
137Oleksandra OliynykovaTotal Games20.520.82+1.6%MORELOWKimberly Birrellclay0.5x
138Donna Vekic🟨 WARMTotal Games Won10.510.65+1.5%MORELOWNaomi Osakaclay0.5x
139Sorana Cirstea🟨 WARMBreak Points Won5.05.01+0.2%MORELOWEva Lysclay1.0x
140James Duckworth⏳ RTRNTotal Games Won10.010.01+0.1%MORELOWRafael Jodarclay0.5x
Kalshi tennis — 2 picks · $4.00 staked
Day 1 - paper only, grade EOD before scaling · locked 2026-05-27T13:10:18.542555+00:00
#MatchPickOur PAskEdgeTierSurfaceStakeStatusP&L
1Flavio Cobolli vs Yibing WuYibing Wu53.7%28¢25.7ppELITEhard$2.00OPEN+0.00
2Hailey Baptiste vs Xiyu WangXiyu Wang56.1%34¢22.1ppELITEhard$2.00OPEN+0.00
PrizePicks tennis — 1 picks · $1.00 staked
Day 1 - paper only, grade EOD before scaling · locked 2026-05-27T13:10:18.487908+00:00
#PlayerStatLineOur projSideEdgeTierSurfaceStakeStatusP&L
1Xiyu WangTotal Games Won11.510.53LESS8.4%MEDclay$1.00OPEN+0.00
Polymarket = retail/crypto sentiment. We can't bet there from CA, but the divergence vs Kalshi (sharp) reveals where the public is loading up. Generated 2026-05-27T06:10:26 · flagged threshold = ±3.0pp · 3 flagged futures / 0 flagged matches.

Grand-slam futures · ANY 2026 Slam (Kalshi KXATPGRANDSLAM vs Polymarket per-slam aggregate)

Polymarket "any-slam" probability computed naively as 1 - product(1 - p_slam). Positive divergence = public (Polymarket) more bullish than sharp (Kalshi). Sorted by |divergence|.
PlayerSharp (Kalshi)Public (Poly)ΔPoly per-slam
Jannik Sinner · exact90.0%95.7%+5.7pp · PUBLIC HIGHERFre 74%, Wim 65%, US 54%
Ben Shelton · exact11.0%5.8%-5.2pp · SHARP HIGHERFre 1%, Wim 3%, US 2%
Daniil Medvedev · exact10.0%5.5%-4.5pp · SHARP HIGHERWim 2%, US 4%
Novak Djokovic · exact15.5%17.8%+2.3pp · PUBLIC HIGHERFre 5%, Wim 10%, US 4%
Karen Khachanov · exact3.0%0.8%-2.2pp · SHARP HIGHERFre 0%, Wim 1%
Alexander Bublik · exact3.0%1.0%-2.0pp · SHARP HIGHERWim 0%, US 1%
Felix Auger-Aliassime · exact2.5%0.6%-1.9pp · SHARP HIGHERWim 1%
Lorenzo Musetti · exact4.0%2.1%-1.9pp · SHARP HIGHERWim 1%, US 1%
Casper Ruud · exact4.0%2.2%-1.8pp · SHARP HIGHERFre 2%, Wim 0%
Alexander Zverev · exact15.0%13.9%-1.1pp · SHARP HIGHERFre 7%, Wim 4%, US 3%
Taylor Fritz · exact5.0%4.2%-0.8pp · SHARP HIGHERWim 3%, US 1%
Frances Tiafoe · exact0.5%1.0%+0.5pp · PUBLIC HIGHERFre 0%, Wim 0%, US 1%
Alex de Minaur · exact2.0%1.5%-0.5pp · SHARP HIGHERFre 1%, Wim 1%
Jack Draper · exact5.0%4.8%-0.2pp · SHARP HIGHERWim 3%, US 2%

Per-match overlaps

No active per-match overlaps right now (Polymarket tennis volume concentrates in Grand Slam futures).
!
Calibration provisional. Only 18 graded picks; verdicts not actionable until 50+.
Per-stat-type MAE (n_graded=18)
Bar width = MAE (lower = better). "INSUFFICIENT" = need more graded picks.
Total Games
n=4
Ours
PP
Us 6.45
PP 3.25
INSUFFICIENT_N
Total Games Won
n=13
Ours
PP
Us 5.11
PP 4.96
NULL
Total Tie Breaks
n=1
Ours
PP
Us 0.25
PP 0.50
INSUFFICIENT_N
Per-tier MAE
Bar width = MAE (lower = better). "INSUFFICIENT" = need more graded picks.
ELITE
n=16
Ours
PP
Us 4.94
PP 3.75
NULL
MED
n=0
Ours
PP
Us —
PP —
INSUFFICIENT_N
STRONG
n=2
Ours
PP
Us 6.75
PP 9.00
INSUFFICIENT_N
[!]
No AAR available yet.
Expected: ~/.claude/projects/.../memory/aar_tennis_<date>.md
[MV]
No actionable PP line movement yet.
Expected: pp_line_movement_tennis_2026-05-27.csv. Needs at least 2 PP snapshots in pp_snapshots_tennis/.
ATP top 50
RkPlayerCountryPtsELO overallELO clayELO grassELO hard
1Jannik SinnerITA147502175185716952062
2Carlos AlcarazESP119602070186717171956
3Alexander ZverevGER57051961181615941863
4Novak DjokovicSRB44601955173816361846
5Ben SheltonUSA40701848168315611765
6Felix Auger AliassimeCAN40501864160515171803
7Alex De MinaurAUS38551847165215901806
8Daniil MedvedevRUS37601878164115851845
9Taylor FritzUSA37201826158117221749
10Alexander BublikKAZ33201803172415691703
11Lorenzo MusettiITA31151828175616071723
12Jiri LeheckaCZE26651837164715741754
13Andrey RublevRUS24601762165815161683
14Flavio CobolliITA23401796172015571655
15Karen KhachanovRUS23201691158615671639
16Casper RuudNOR22751792174415021685
17Luciano DarderiITA22601714176714661466
18Learner TienUSA21801800146615061789
19Valentin VacherotMON21031810170214671738
20Arthur FilsFRA20401912176215461771
21Tommy PaulUSA19451842174815871743
22Frances TiafoeUSA19051771160414881719
23Alejandro Davidovich FokinaESP18601756157215451703
24Cameron NorrieGBR17851776165815291682
25Arthur RinderknechFRA17361713156615301631
26Francisco CerundoloARG15701801172614261698
27Jakub MensikCZE15501795158914971747
28Tomas Martin EtcheverryARG15101785169314561636
29Rafael JodarESP1461187417141765
30Joao FonsecaBRA14351818163814951795
31Ignacio BusePER14121709169314821562
32Ugo HumbertFRA13701712145115171697
33Tallon GriekspoorNED13401681157515641645
34Corentin MoutetFRA13231706160015741640
35Brandon NakashimaUSA12951706157015901660
36Alejandro TabiloCHI12781786169615751637
37Alexander BlockxBEL12381820168915081713
38Mariano NavoneARG12151718171614601507
39Denis ShapovalovCAN11701690149814721698
40Zizou BergsBEL11501705157015211631
41Jaume MunarESP11451695156315081635
42Alex MichelsenUSA11151715148815381702
43Tomas MachacCZE10801737159215001682
44Holger RuneDEN10601744166315151710
45Adrian MannarinoFRA10371589139015841569
46Marin CilicCRO10101710153916111635
47Sebastian KordaUSA10001806153715561757
48Miomir KecmanovicSRB9801607148315001595
49Gabriel DialloCAN9751651155415761615
50Ethan QuinnUSA9741731159415091683
WTA top 50
RkPlayerCountryPtsELO overallELO clayELO grassELO hard
1Aryna SabalenkaBLR99602115180815882045
2Elena RybakinaKAZ83132063176015801972
3Iga SwiatekPOL72731924178016581852
4Coco GauffUSA67491957178715191871
5Jessica PegulaUSA62861997170115831901
6Amanda AnisimovaUSA59581916156116381822
7Elina SvitolinaUKR43151922172715501824
8Mirra AndreevaRUS41811932180015131797
9Victoria MbokoCAN37101936170415151891
10Karolina MuchovaCZE33181951159714941869
11Belinda BencicSUI31451898158415611831
12Linda NoskovaCZE30541881158915831763
13Jasmine PaoliniITA27871815170715851741
14Ekaterina AlexandrovaRUS26791747159315841662
15Marta KostyukUKR23871924175714491755
16Naomi OsakaJPN23411819162815141734
17Iva JovicUSA23061829166316011759
18Sorana CirsteaROU19851866161214291797
19Madison KeysUSA19621836170615581766
20Clara TausonDEN19201746156015201679
21Elise MertensBEL18581802158015811714
22Leylah FernandezCAN18441790159015461679
23Diana ShnaiderRUS17961782164715651686
24Anna KalinskayaRUS17921784153815461721
25Emma NavarroUSA17191680157815901613
26Hailey BaptisteUSA16831785166214881667
27Liudmila SamsonovaRUS16351697160416191566
28Marie BouzkovaCZE16311773169914761648
29Ann LiUSA16011745163814781647
30Anastasia PotapovaRUS14701787169014841640
31Jelena OstapenkoLAT14641723163215341621
32Jaqueline CristianROU14141770163514321698
33Cristina BucsaESP14061738147515141684
34Xin Yu WangCHN13711735154615911616
35Sara BejlekCZE13691832179714861653
36Katerina SiniakovaCZE13621777154915781693
37Alexandra EalaPHI13401786147816001748
38Elisabetta CocciarettoITA13201800158415771689
39Emma RaducanuGBR13011753157015771658
40Janice TjenINA1292181716621785
41Barbora KrejcikovaCZE12711715148016061647
42Tereza ValentovaCZE12651845174615171788
43Lois BoissonFRA12641791181114831554
44Marketa VondrousovaCZE12631728160615781609
45Dayana YastremskaUKR12461695158815751594
46Magdalena FrechPOL12381649153414341613
47Laura SiegemundGER12301680153515411592
48Mccartney KesslerUSA12291754151615831688
49Maria SakkariGRE12081707156314861658
50Jessica Bouzas ManeiroESP12001658164315241578
SourceDB / fileLast pulledAgeRowsStatus
Kalshi KXATPMATCHtennis_kalshi.sqlite2026-05-27T13:08:11.065590+00:002m1804fresh
Kalshi KXWTAMATCHtennis_kalshi.sqlite2026-05-27T13:08:11.065590+00:002m1666fresh
Kalshi KXFRENCHOPENtennis_kalshi.sqlite2026-05-27T13:08:11.065590+00:002m0fresh
Kalshi KXFOPENMENSINGLEtennis_kalshi.sqlite2026-05-27T13:08:11.065590+00:002m0fresh
Kalshi KXATPGRANDSLAMtennis_kalshi.sqlite2026-05-27T13:08:11.065590+00:002m14fresh
Kalshi KXUSOPENtennis_kalshi.sqlite2026-05-27T13:08:11.065590+00:002m0fresh
Kalshi KXATPSETWINNERtennis_kalshi.sqlite2026-05-27T13:08:11.065590+00:002m3692fresh
Kalshi KXATPTOTALSETStennis_kalshi.sqlite2026-05-27T13:08:11.065590+00:002m0fresh
Kalshi KXATPSETSWEEPtennis_kalshi.sqlite2026-05-27T13:08:11.065590+00:002m1fresh
Kalshi KXATPGAMESPREADtennis_kalshi.sqlite2026-05-27T13:08:11.065590+00:002m0fresh
Kalshi KXATPEXACTMATCHtennis_kalshi.sqlite2026-05-27T13:08:11.065590+00:002m1666fresh
Kalshi KXWTADOUBLEStennis_kalshi.sqlite2026-05-27T13:08:11.065590+00:002m74fresh
Kalshi KXATP1RANKtennis_kalshi.sqlite2026-05-27T13:08:11.065590+00:002m16fresh
elo last computedtennis.sqlite2026-05-27T13:08:06+00:002m20051fresh
rankings last pulledtennis.sqlite2026-05-27T13:08:10+00:002m7538fresh
rankings atp latest datetennis.sqlite2026-05-2561.17h&mdash;stale
rankings wta latest datetennis.sqlite2026-05-2561.17h&mdash;stale
mirror atp scheduletennis.sqlite2026-05-27T13:09:47.660718+00:000m124fresh
h2h last computedtennis.sqlite2026-05-17T10:11:57.514615+00:00242.98h&mdash;stale
h2h n pairstennis.sqlite190184missing&mdash;missing
last player db runtennis.sqlite1779887404missing&mdash;missing
results last_runtennis_results.sqlite[2026-05-27T13:09:49.891200+00:00] 2026-05-27T13:09:47.981080+00:00; dates=['20260526']; rows=698; resolved=670missing&mdash;missing
pp_edges CSVpp_edges_tennis_2026-05-27.csv2026-05-27T13:10:16.714498+00:000m&mdash;fresh
kalshi edges JSONtennis_kalshi_edges_2026-05-27.json2026-05-27T13:10:12.093920+00:000m&mdash;fresh
paper trades PPpaper_trades_pp_tennis_2026-05-27.json2026-05-27T13:10:18.989497+00:000m&mdash;fresh
paper trades Kalshipaper_trades_kalshi_tennis_2026-05-27.json2026-05-27T13:10:19.451344+00:000m&mdash;fresh
daily payloaddaily_tennis_2026-05-27.json2026-05-27T13:10:20.095389+00:000m&mdash;fresh
PP movementpp_line_movement_tennis_2026-05-27.csv2026-05-27T13:10:19.640535+00:000m&mdash;fresh
PP calibrationpp_calibration_tennis.json2026-05-27T13:10:19.577190+00:000m&mdash;fresh