Kalshi KXATPMATCH 3m · 1910rKalshi KXWTAMATCH 3m · 1902rKalshi KXFRENCHOPEN 3mKalshi KXFOPENMENSINGLE 3mKalshi KXATPGRANDSLAM 3m · 14rKalshi KXUSOPEN 3mKalshi KXATPSETWINNER 3m · 4418rKalshi KXATPTOTALSETS 3mKalshi KXATPSETSWEEP 3m · 2rKalshi KXATPGAMESPREAD 3mKalshi KXATPEXACTMATCH 3m · 4366rKalshi KXWTADOUBLES 3m · 266rKalshi KXATP1RANK 3m · 16relo last computed 21d · 20430rrankings last pulled 27d · 11348rrankings atp latest date 35drankings wta latest date 35dmirror atp schedule 1m · 146rh2h last computed 57dh2h 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
41
scheduled
ELITE edges
0
across Kalshi + PP
STRONG edges
0
tier 2
MED edges
0
tier 3
Paper locks
0
Kalshi + PP
Real Money YTD
-$10.00
paper-gate restored
Qualifying skipped
3
filtered out today
Last refresh
13:12
2026-07-13 UTC
🏆 Best Bet (main-draw)
No main-draw Kalshi pick survived qualifying filter today.
🎯 Safest (P ≥ 65%)
Yulia Putintseva
64%
Heavy main-draw favorite · PAPER
Edge -15.6pp
Ask 80¢
Ask 80¢
💎 Biggest Payout (ELITE)
No ELITE main-draw longshot today.
| # | Match | Tournament | Round | Surface | Start | ELO A | ELO B | ELO diff | Kalshi event |
|---|---|---|---|---|---|---|---|---|---|
| 1 | Carlos Sanchez Jover vs Taro Daniel | Nordea Open | Qualifying Final | hard | Jul 13 11:30 | 1468 | 1529 | -61 | KXATPSETWINNER-26JUL13SANDAN-2 |
| 2 | Thomas Faurel vs Miguel Damas | Nordea Open | Qualifying Final | hard | Jul 13 11:30 | 1480 | 1450 | +30 | KXATPSETWINNER-26JUL13FAUDAM-2 |
| 3 | Carlos Sanchez Jover vs Taro Daniel | Nordea Open | Qualifying Final | hard | Jul 13 11:30 | 1468 | 1529 | -61 | KXATPSETWINNER-26JUL13SANDAN-2 |
| 4 | Thomas Faurel vs Miguel Damas | Nordea Open | Qualifying Final | hard | Jul 13 11:30 | 1480 | 1450 | +30 | KXATPSETWINNER-26JUL13FAUDAM-2 |
| 5 | Yasmine Kabbaj vs Ekaterina Perelygina | Generali Open Ladies Kitzbühel | Round 1 | hard | Jul 13 11:50 | 1529 | 1593 | -64 | |
| 6 | Varvara Lepchenko vs Alevtina Ibragimova | Unicredit Iasi Open | Qualifying Final | hard | Jul 13 12:05 | 1645 | 1630 | +15 | KXWTAMATCH-26JUL13LEPIBR |
| 7 | Anna Bondar vs Sara Sorribes Tormo | Unicredit Iasi Open | Round 1 | hard | Jul 13 12:15 | 1588 | 1512 | +76 | KXWTAMATCH-26JUL13BONSOR |
| 8 | Kristina Penickova vs Karman Thandi | Enka Open | Round 1 | hard | Jul 13 12:30 | 1610 | 1443 | +167 | |
| 9 | Hanne Vandewinkel vs Carol Young Suh Lee | Enka Open | Round 1 | hard | Jul 13 12:30 | 1848 | 1767 | +80 | |
| 10 | Raphael Collignon vs Timofey Skatov | EFG Swiss Open Gstaad | Round 1 | clay | Jul 13 12:55 | 1741 | 1631 | +110 | KXATPSETWINNER-26JUL13COLSKA-2 |
| 11 | Julia Avdeeva vs Gina Feistel | Generali Open Ladies Kitzbühel | Round 1 | hard | Jul 13 13:05 | 1656 | 1544 | +111 | |
| 12 | Jesper De Jong vs Vilius Gaubas | Nordea Open | Round 1 | hard | Jul 13 13:10 | 1522 | 1566 | -44 | KXATPSETWINNER-26JUL12DEJGAU-2 |
| 13 | Jesper De Jong vs Vilius Gaubas | Nordea Open | Round 1 | hard | Jul 13 13:10 | 1522 | 1566 | -44 | KXATPSETWINNER-26JUL12DEJGAU-2 |
| 14 | ? vs Tatiana Prozorova | Enka Open | Round 1 | hard | Jul 13 13:30 | — | 1781 | — | |
| 15 | ? vs Irem Kurt | Enka Open | Round 1 | hard | Jul 13 13:30 | — | 1579 | — | |
| 16 | Anastasia Tikhonova vs Eva Bennemann | Generali Open Ladies Kitzbühel | Round 1 | hard | Jul 13 13:30 | 1464 | 1657 | -193 | |
| 17 | Damir Dzumhur vs Henrique Rocha | Plava Laguna Croatia Open Umag | Round 1 | clay | Jul 13 14:00 | 1567 | 1711 | -145 | KXATPSETWINNER-26JUL12DZUROC-1 |
| 18 | Kajsa Rinaldo Persson vs Darya Astakhova | ATV Bancomat Tennis Open | Round 1 | clay | Jul 13 14:00 | 1711 | 1754 | -43 | |
| 19 | Lina Gjorcheska vs Deborah Chiesa | ATV Bancomat Tennis Open | Round 1 | clay | Jul 13 14:00 | 1697 | 1710 | -13 | |
| 20 | ? vs Jessica Bouzas Maneiro | Vanda Pharmaceuticals Athens Open | Round 1 | hard | Jul 13 14:30 | — | 1578 | — | |
| 21 | Magda Linette vs Mai Hontama | Vanda Pharmaceuticals Athens Open | Round 1 | hard | Jul 13 14:30 | 1647 | 1565 | +82 | KXWTAMATCH-26JUL13LINHON |
| 22 | Marianne Argyrokastriti vs Lilli Tagger | Vanda Pharmaceuticals Athens Open | Round 1 | hard | Jul 13 14:30 | — | 1695 | — | KXWTAMATCH-26JUL13ARGTAG |
| 23 | Nadia Podoroska vs Petra Marcinko | Unicredit Iasi Open | Round 1 | hard | Jul 13 14:30 | 1629 | 1633 | -4 | KXWTAMATCH-26JUL13PODMAR |
| 24 | Veronika Erjavec vs Victoria Bosio | Generali Open Ladies Kitzbühel | Round 1 | hard | Jul 13 14:30 | 1519 | 1664 | -145 | |
| 25 | Polona Hercog vs Dalila Jakupovic | Generali Open Ladies Kitzbühel | Round 1 | hard | Jul 13 14:30 | 1526 | 1603 | -77 | |
| 26 | Kyoka Okamura vs Lanlana Tararudee | Enka Open | Round 1 | hard | Jul 13 15:00 | 1605 | 1814 | -209 | |
| 27 | Anastasia Gasanova vs Susan Bandecchi | Enka Open | Round 1 | hard | Jul 13 15:00 | 1763 | 1689 | +74 | |
| 28 | Dominic Stricker vs Jaume Munar | EFG Swiss Open Gstaad | Round 1 | clay | Jul 13 15:30 | 1512 | 1589 | -78 | KXATPSETWINNER-26JUL12STRMUN-2 |
| 29 | Alice Rame vs Noma Noha Akugue | ATV Bancomat Tennis Open | Round 1 | clay | Jul 13 15:30 | 1649 | 1671 | -22 | |
| 30 | Oksana Selekhmeteva vs Elizara Yaneva | ATV Bancomat Tennis Open | Round 1 | clay | Jul 13 15:30 | 1702 | 1633 | +69 | |
| 31 | Kyrian Jacquet vs Marco Trungelliti | Plava Laguna Croatia Open Umag | Round 1 | clay | Jul 13 16:00 | 1520 | 1684 | -163 | KXATPMATCH-26JUL12JACTRU |
| 32 | Dusan Lajovic vs Luca Van Assche | Plava Laguna Croatia Open Umag | Round 1 | clay | Jul 13 16:00 | 1595 | 1547 | +48 | KXATPSETWINNER-26JUL12LAJVAN-2 |
| 33 | Viktoria Morvayova vs Sara Bejlek | Vanda Pharmaceuticals Athens Open | Round 1 | hard | Jul 13 16:00 | 1688 | 1653 | +34 | KXWTAMATCH-26JUL13MORBEJ |
| 34 | Mina Hodzic vs Harriet Dart | Vanda Pharmaceuticals Athens Open | Round 1 | hard | Jul 13 16:00 | 1553 | 1740 | -187 | KXWTAMATCH-26JUL13HODDAR |
| 35 | Clara Burel vs ? | Unicredit Iasi Open | Round 1 | hard | Jul 13 16:00 | 1508 | — | — | |
| 36 | Polina Kudermetova vs Maria Sakkari | Vanda Pharmaceuticals Athens Open | Round 1 | hard | Jul 13 16:30 | 1628 | 1658 | -30 | KXWTAMATCH-26JUL13KUDSAK |
| 37 | Yelyzaveta Kotliar vs Federica Urgesi | ATV Bancomat Tennis Open | Round 1 | clay | Jul 13 16:30 | 1681 | 1691 | -10 | |
| 38 | Sofya Lansere vs Elena Malygina | ATV Bancomat Tennis Open | Round 1 | clay | Jul 13 16:30 | 1564 | 1516 | +47 | |
| 39 | Martha Matoula vs Elena Micic | Vanda Pharmaceuticals Athens Open | Round 1 | hard | Jul 13 17:30 | 1551 | 1584 | -33 | KXWTAMATCH-26JUL13MATMIC |
| 40 | Valentini Grammatikopoulou vs Alycia Parks | Vanda Pharmaceuticals Athens Open | Round 1 | hard | Jul 13 18:00 | 1528 | 1630 | -101 | KXWTAMATCH-26JUL13GRAPAR |
| 41 | Vit Kopriva vs Dino Prizmic | Plava Laguna Croatia Open Umag | Round 1 | clay | Jul 13 19:00 | 1641 | 1757 | -116 | KXATPMATCH-26JUL12KOPPRI |
| # | Match | Our pick | Our P | Mkt P | Ask | Edge | Tier | Decision | Vol 24h | Surface | Round | EV/$ |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1 | Sebastian Baez vs Max Dahlin | Max Dahlin | 44.5% | 5.0% | 5¢ | +39.5pp | LOW | PAPER | 24263 | hard | Round Of 32 | +0.395 |
| 2 | Arthur Rinderknech vs Clement Tabur | Arthur Rinderknech | 60.7% | 94.0% | 94¢ | -33.3pp | LOW | PAPER | 2 | hard | Round Of 16 | -0.333 |
| 3 | Lilli Tagger vs Marianne Argyrokastriti | Marianne Argyrokastriti | 36.0% | 4.0% | 4¢ | +32.0pp | LOW | SKIP | 12041 | hard | Round 1 | +0.320 |
| 4 | Miguel Damas vs Thomas Faurel Qual | Miguel Damas | 46.5% | 15.0% | 15¢ | +31.5pp | LOW | SKIP | 404377 | hard | Qualification Final | +0.315 |
| 5 | Varvara Lepchenko vs Alevtina Ibragimova Qual | Varvara Lepchenko | 54.6% | 28.0% | 28¢ | +26.6pp | LOW | PAPER | 190895 | hard | Qualifying Final | +0.266 |
| 6 | Nadia Podoroska vs Petra Marcinko | Nadia Podoroska | 51.1% | 25.0% | 25¢ | +26.1pp | LOW | PAPER | 3830 | hard | Round 1 | +0.261 |
| 7 | Carlos Sanchez Jover vs Taro Daniel Qual | Carlos Sanchez Jover | 45.0% | 20.0% | 20¢ | +25.0pp | LOW | PAPER | 245785 | hard | Qualification Final | +0.250 |
| 8 | Daniel Merida vs Ziga Sesko | Ziga Sesko | 39.5% | 16.0% | 16¢ | +23.5pp | LOW | PAPER | 696 | hard | Round Of 32 | +0.235 |
| 9 | Barbora Krejcikova vs Viktoriya Tomova | Viktoriya Tomova | 34.5% | 13.0% | 13¢ | +21.5pp | LOW | PAPER | 1897 | hard | Round 1 | +0.215 |
| 10 | Aoi Ito vs Alina Korneeva | Aoi Ito | 38.5% | 17.0% | 17¢ | +21.5pp | LOW | PAPER | 253 | hard | Round 1 | +0.215 |
| 11 | Tereza Valentova vs Sofia Costoulas | Sofia Costoulas | 40.3% | 19.0% | 19¢ | +21.3pp | LOW | PAPER | 696 | hard | Round 1 | +0.213 |
| 12 | Moise Kouame vs Nuno Borges | Moise Kouame | 42.9% | 22.0% | 22¢ | +20.9pp | LOW | PAPER | 248 | hard | Round 1 | +0.209 |
| 13 | Alycia Parks vs Valentini Grammatikopoulou | Valentini Grammatikopoulou | 30.9% | 10.0% | 10¢ | +20.9pp | LOW | PAPER | 4807 | hard | Round 1 | +0.209 |
| 14 | Jaume Munar vs Dominic Stricker | Dominic Stricker | 42.3% | 23.0% | 23¢ | +19.3pp | LOW | PAPER | 21184 | hard | Round Of 32 | +0.193 |
| 15 | Sara Bejlek vs Viktoria Morvayova | Viktoria Morvayova | 29.9% | 12.0% | 12¢ | +17.9pp | LOW | PAPER | 17020 | hard | Round 1 | +0.179 |
| 16 | Katarzyna Kawa vs Simona Waltert | Katarzyna Kawa | 49.7% | 32.0% | 32¢ | +17.7pp | LOW | PAPER | 766 | hard | Round 1 | +0.177 |
| 17 | Elena-Gabriela Ruse vs Kaitlin Quevedo | Kaitlin Quevedo | 48.3% | 31.0% | 31¢ | +17.3pp | LOW | PAPER | 1702 | hard | Round 1 | +0.173 |
| 18 | Carole Monnet vs Rebeka Masarova | Carole Monnet | 34.8% | 18.0% | 18¢ | +16.8pp | LOW | PAPER | 704 | hard | Round 1 | +0.168 |
| 19 | Ignacio Buse vs Stefanos Tsitsipas | Stefanos Tsitsipas | 56.5% | 40.0% | 40¢ | +16.5pp | LOW | PAPER | 21161 | hard | Round Of 32 | +0.165 |
| 20 | Sapfo Sakellaridi vs Miriana Tona | Miriana Tona | 61.8% | 46.0% | 46¢ | +15.8pp | LOW | PAPER | 754 | hard | Round 1 | +0.158 |
| 21 | Yulia Putintseva vs Leolia Jeanjean | Yulia Putintseva | 64.4% | 80.0% | 80¢ | -15.6pp | LOW | PAPER | 2 | hard | Round 1 | -0.156 |
| 22 | Maria Sakkari vs Polina Kudermetova | Polina Kudermetova | 46.0% | 32.0% | 32¢ | +14.0pp | LOW | PAPER | 7059 | hard | Round 1 | +0.140 |
| 23 | Jesper De Jong vs Vilius Gaubas | Vilius Gaubas | 45.7% | 32.0% | 32¢ | +13.7pp | LOW | PAPER | 84713 | hard | Round Of 32 | +0.137 |
| 24 | Magda Linette vs Mai Hontama | Mai Hontama | 30.6% | 17.0% | 17¢ | +13.6pp | LOW | PAPER | 6072 | hard | Round 1 | +0.136 |
| 25 | Dino Prizmic vs Vit Kopriva | Vit Kopriva | 39.5% | 26.0% | 26¢ | +13.5pp | LOW | PAPER | 5772 | clay | Round 1 | +0.135 |
| 26 | Harriet Dart vs Mina Hodzic | Mina Hodzic | 35.3% | 22.0% | 22¢ | +13.3pp | LOW | PAPER | 4014 | hard | Round 1 | +0.133 |
| 27 | Grigor Dimitrov vs Dalibor Svrcina | Dalibor Svrcina | 48.5% | 36.0% | 36¢ | +12.5pp | LOW | PAPER | 659 | hard | Round Of 32 | +0.125 |
| 28 | Thiago Agustin Tirante vs Sebastian Ofner | Sebastian Ofner | 52.5% | 40.0% | 40¢ | +12.5pp | LOW | PAPER | 7629 | hard | Round 1 | +0.125 |
| 29 | Yannick Hanfmann vs Pedro Martinez | Pedro Martinez | 37.4% | 25.0% | 25¢ | +12.4pp | LOW | PAPER | 1768 | hard | Round Of 32 | +0.124 |
| 30 | Stan Wawrinka vs Jaime Faria | Stan Wawrinka | 45.8% | 34.0% | 34¢ | +11.8pp | LOW | PAPER | 3528 | hard | Round Of 32 | +0.118 |
| 31 | Jan Choinski vs Nikoloz Basilashvili | Nikoloz Basilashvili | 51.2% | 40.0% | 40¢ | +11.2pp | LOW | PAPER | 3440 | hard | Round Of 32 | +0.112 |
| 32 | Andrea Pellegrino vs Nicolai Budkov Kjaer | Nicolai Budkov Kjaer | 58.0% | 47.0% | 47¢ | +11.0pp | LOW | PAPER | 444 | hard | Round 1 | +0.110 |
| 33 | Paula Badosa vs Anhelina Kalinina | Anhelina Kalinina | 51.7% | 41.0% | 41¢ | +10.7pp | LOW | PAPER | 299 | hard | Round 1 | +0.107 |
| 34 | Juan Manuel Cerundolo vs Zdenek Kolar | Zdenek Kolar | 34.0% | 25.0% | 25¢ | +9.0pp | LOW | PAPER | 14011 | hard | Round Of 32 | +0.090 |
| 35 | Hugo Gaston vs Daniel Altmaier | Hugo Gaston | 51.6% | 43.0% | 43¢ | +8.6pp | LOW | PAPER | 503 | hard | Round 1 | +0.086 |
| 36 | Martha Matoula vs Elena Micic | Martha Matoula | 49.5% | 41.0% | 41¢ | +8.4pp | LOW | PAPER | 2419 | hard | Round 1 | +0.085 |
| 37 | Aleksandr Shevchenko vs Alexandre Muller | Alexandre Muller | 51.2% | 43.0% | 43¢ | +8.2pp | LOW | PAPER | 1988 | clay | Round 1 | +0.082 |
| 38 | Raphael Collignon vs Timofey Skatov | Timofey Skatov | 31.5% | 24.0% | 24¢ | +7.5pp | LOW | PAPER | 30449 | hard | Round Of 32 | +0.075 |
| 39 | Jessica Bouzas Maneiro vs Qinwen Zheng | Jessica Bouzas Maneiro | 39.3% | 32.0% | 32¢ | +7.3pp | LOW | PAPER | 13372 | hard | Round Of 32 | +0.073 |
| 40 | Pablo Carreno Busta vs Matej Dodig | Matej Dodig | 32.1% | 26.0% | 26¢ | +6.1pp | LOW | PAPER | 3366 | clay | Round 1 | +0.061 |
| 41 | Clara Tauson vs Nao Hibino | Nao Hibino | 33.9% | 28.0% | 28¢ | +5.9pp | LOW | PAPER | 283 | hard | Round 1 | +0.059 |
| 42 | Alexander Blockx vs Titouan Droguet | Titouan Droguet | 39.2% | 34.0% | 34¢ | +5.2pp | LOW | PAPER | 2707 | hard | Round Of 32 | +0.052 |
| 43 | Ann Li vs Maria Timofeeva | Maria Timofeeva | 45.4% | 42.0% | 42¢ | +3.4pp | LOW | PAPER | 6045 | hard | Round 1 | +0.034 |
| 44 | Emiliana Arango vs Tamara Zidansek | Tamara Zidansek | 54.4% | 51.0% | 51¢ | +3.4pp | LOW | SKIP | 648 | hard | Round 1 | +0.033 |
| 45 | Anna Bondar vs Sara Sorribes Tormo | Sara Sorribes Tormo | 50.1% | 47.0% | 47¢ | +3.1pp | LOW | PAPER | 179037 | hard | Round 1 | +0.031 |
| 46 | Alex Molcan vs Valentin Royer | Alex Molcan | 60.7% | 58.0% | 58¢ | +2.7pp | LOW | SKIP | 486 | hard | Round Of 32 | +0.027 |
| 47 | Jerome Kym vs Dylan Dietrich | Dylan Dietrich | 43.7% | 41.0% | 41¢ | +2.7pp | LOW | SKIP | 92 | clay | Round 1 | +0.027 |
| 48 | Henrique Rocha vs Damir Dzumhur | Damir Dzumhur | 46.2% | 44.0% | 44¢ | +2.2pp | LOW | PAPER | 26107 | hard | Round Of 32 | +0.022 |
| 49 | Marco Trungelliti vs Kyrian Jacquet | Kyrian Jacquet | 48.5% | 47.0% | 47¢ | +1.5pp | LOW | SKIP | 27783 | clay | Round 1 | +0.015 |
| 50 | Quentin Halys vs Federico Cina | Federico Cina | 44.4% | 43.0% | 43¢ | +1.4pp | LOW | SKIP | 195 | hard | Round Of 32 | +0.014 |
| 51 | Anna Blinkova vs Aliaksandra Sasnovich | Anna Blinkova | 43.0% | 44.0% | 44¢ | -1.0pp | LOW | SKIP | 513 | hard | Round 1 | -0.010 |
| 52 | Luca Van Assche vs Dusan Lajovic | Luca Van Assche | 57.8% | 57.0% | 57¢ | +0.8pp | LOW | SKIP | 14333 | hard | Round Of 32 | +0.008 |
| # | Player | Stat | PP line | Our proj | Edge % | Side | Tier | Opp | Surface | Demon | Payout |
|---|---|---|---|---|---|---|---|---|---|---|---|
| 1 | Marianne Argyrokastriti | Total Games Won | 4.5 | 9.29 | +106.5% | MORE | LOW | Lilli Tagger | clay | — | 0.5x |
| 2 | Jaime Faria🟨 WARM | Total Tie Breaks | 0.5 | 0.12 | +75.5% | LESS | LOW | Stan Wawrinka | clay | — | 1.0x |
| 3 | Ignacio Buse | Total Tie Breaks | 0.5 | 0.25 | +49.9% | LESS | LOW | Stefanos Tsitsipas | clay | — | 1.0x |
| 4 | Viktoriya Tomova | Total Games Won | 6.5 | 9.54 | +46.8% | MORE | LOW | Barbora Krejcikova | clay | — | 0.5x |
| 5 | Sebastian Baez | Total Games | 17.0 | 24.57 | +44.6% | MORE | LOW | Max Dahlin | clay | — | 0.5x |
| 6 | Kyoka Okamura⏳ RTRN | Total Games Won | 6.5 | 9.33 | +43.5% | MORE | LOW | Lanlana Tararudee | clay | — | 1.0x |
| 7 | Lilli Tagger | Total Games | 16.5 | 23.41 | +41.9% | MORE | LOW | Marianne Argyrokastriti | clay | — | 0.5x |
| 8 | Aoi Ito | Total Games Won | 6.5 | 9.19 | +41.3% | MORE | LOW | Alina Korneeva | clay | — | 0.5x |
| 9 | Valentini Grammatikopoulou⏳ RTRN | Total Games Won | 6.5 | 8.91 | +37.1% | MORE | LOW | Alycia Parks | clay | — | 0.5x |
| 10 | Viktoria Morvayova⏳ RTRN | Total Games Won | 6.5 | 8.61 | +32.5% | MORE | LOW | Sara Bejlek | clay | — | 0.5x |
| 11 | Barbora Krejcikova⏳ RTRN | Total Games | 18.5 | 24.46 | +32.2% | MORE | LOW | Viktoriya Tomova | clay | — | 0.5x |
| 12 | Lanlana Tararudee🟨 WARM | Total Games | 18.5 | 24.33 | +31.5% | MORE | LOW | Kyoka Okamura | clay | — | 0.5x |
| 13 | Jeline Vandromme🟨 WARM | Total Games | 18.5 | 24.29 | +31.3% | MORE | LOW | Vivian Wolff | clay | — | 1.0x |
| 14 | Alina Korneeva🧊 COLD | Total Games | 18.5 | 24.25 | +31.1% | MORE | LOW | Aoi Ito | clay | — | 0.5x |
| 15 | Viktoria Hruncakova🟨 WARM | Total Games | 18.5 | 23.95 | +29.5% | MORE | LOW | Cagla Buyukakcay | clay | — | 1.0x |
| 16 | Qinwen Zheng | Break Points Won | 4.0 | 5.13 | +28.4% | MORE | LOW | Jessica Bouzas Maneiro | clay | — | 1.0x |
| 17 | Veronika Erjavec🟨 WARM | Total Games | 19.0 | 24.18 | +27.3% | MORE | LOW | Victoria Bosio | clay | — | 1.0x |
| 18 | Carole Monnet | Total Games Won | 7.5 | 9.47 | +26.2% | MORE | LOW | Rebeka Masarova | clay | — | 0.5x |
| 19 | Nuria Brancaccio🧊 COLD | Total Games | 19.5 | 24.53 | +25.8% | MORE | LOW | Jessica Pieri | clay | — | 1.0x |
| 20 | Simona Waltert🟨 WARM | Total Games | 19.5 | 24.52 | +25.7% | MORE | LOW | Katarzyna Kawa | clay | — | 0.5x |
| 21 | Anastasia Zakharova🧊 COLD | Total Games | 19.5 | 24.46 | +25.4% | MORE | LOW | Mariia Tkacheva | clay | — | 0.5x |
| 22 | Magda Linette | Total Games | 19.5 | 24.43 | +25.3% | MORE | LOW | Mai Hontama | clay | — | 0.5x |
| 23 | Rebeka Masarova | Total Games | 19.5 | 24.38 | +25.1% | MORE | LOW | Carole Monnet | clay | — | 0.5x |
| 24 | Sinja Kraus🟨 WARM | Total Games | 19.5 | 24.37 | +25.0% | MORE | LOW | Caijsa Wilda Hennemann | clay | — | 0.5x |
| 25 | Federico Cina🧊 COLD | Total Games Won | 12.5 | 9.50 | +24.0% | LESS | LOW | Quentin Halys | clay | — | 0.5x |
| 26 | Mina Hodzic🧊 COLD | Total Games Won | 7.5 | 9.26 | +23.5% | MORE | LOW | Harriet Dart | clay | — | 0.5x |
| 27 | Elena-Gabriela Ruse🟨 WARM | Total Games | 19.5 | 23.95 | +22.8% | MORE | LOW | Kaitlin Quevedo | clay | — | 0.5x |
| 28 | Zdenek Kolar | Total Games Won | 11.5 | 8.92 | +22.4% | LESS | LOW | Juan Manuel Cerundolo | clay | — | 1.0x |
| 29 | Elena Micic | Total Games | 20.0 | 24.46 | +22.3% | MORE | LOW | Martha Matoula | clay | — | 0.5x |
| 30 | Clara Tauson⏳ RTRN | Total Games | 20.0 | 24.44 | +22.2% | MORE | LOW | Nao Hibino | clay | — | 0.5x |
| 31 | Fabian Marozsan | Total Games | 20.5 | 24.98 | +21.8% | MORE | LOW | Juan Carlos Prado Angelo | clay | — | 0.5x |
| 32 | Marko ToPo🧊 COLD | Total Games Won | 10.5 | 8.27 | +21.2% | LESS | LOW | Camilo Ugo Carabelli | clay | — | 0.5x |
| 33 | Sofia Costoulas | Total Games Won | 7.5 | 9.07 | +21.0% | MORE | LOW | Tereza Valentova | clay | — | 0.5x |
| 34 | Laura Samson🟨 WARM | Total Games | 19.5 | 23.51 | +20.5% | MORE | LOW | Laura Pigossi | clay | — | 1.0x |
| 35 | Cagla Buyukakcay🧊 COLD | Total Games Won | 7.5 | 9.01 | +20.2% | MORE | LOW | Viktoria Hruncakova | clay | — | 1.0x |
| 36 | Nuno Borges🧊 COLD | Total Games | 20.5 | 24.60 | +20.0% | MORE | LOW | Moise Kouame | clay | — | 0.5x |
| 37 | Sara Bejlek⏳ RTRN | Total Games | 18.5 | 22.18 | +19.9% | MORE | LOW | Viktoria Morvayova | clay | — | 0.5x |
| 38 | Jan Choinski🧊 COLD | Total Games Won | 12.5 | 10.01 | +19.9% | LESS | LOW | Nikoloz Basilashvili | clay | — | 0.5x |
| 39 | Harriet Dart🟨 WARM | Total Games | 19.5 | 23.36 | +19.8% | MORE | LOW | Mina Hodzic | clay | — | 0.5x |
| 40 | Nicolai Budkov Kjaer | Total Games Won | 12.5 | 10.06 | +19.5% | LESS | LOW | Andrea Pellegrino | clay | — | 0.5x |
| 41 | Teodora Kostovic | Total Games | 20.5 | 24.42 | +19.1% | MORE | LOW | Jennifer Ruggeri | clay | — | 1.0x |
| 42 | Anastasia Gasanova | Total Games | 20.5 | 24.41 | +19.1% | MORE | LOW | Susan Bandecchi | clay | — | 1.0x |
| 43 | Noma Noha Akugue🟨 WARM | Total Games | 20.5 | 24.41 | +19.1% | MORE | LOW | Alice Rame | clay | — | 1.0x |
| 44 | Fiona Ferro🟨 WARM | Total Games | 20.5 | 24.33 | +18.7% | MORE | LOW | Aurora Zantedeschi | clay | — | 0.5x |
| 45 | Jaqueline Cristian | Total Games | 20.5 | 24.31 | +18.6% | MORE | LOW | Leolia Jeanjean | clay | — | 1.0x |
| 46 | Elena-Gabriela Ruse🟨 WARM | Break Points Won | 5.5 | 4.51 | +18.1% | LESS | LOW | Kaitlin Quevedo | clay | — | 1.0x |
| 47 | Katarzyna Kawa🔥 HOT | Total Games Won | 9.5 | 11.18 | +17.7% | MORE | LOW | Simona Waltert | clay | — | 0.5x |
| 48 | Petra Marcinko | Total Games | 19.5 | 22.86 | +17.2% | MORE | LOW | Nadia Podoroska | clay | — | 0.5x |
| 49 | Grigor Dimitrov🧊 COLD | Total Games Won | 12.5 | 10.35 | +17.2% | LESS | LOW | Dalibor Svrcina | clay | — | 0.5x |
| 50 | Federico Agustin Gomez🧊 COLD | Total Games Won | 12.5 | 10.35 | +17.2% | LESS | LOW | Niels McDonald | clay | — | 0.5x |
| 51 | Pablo Carreno Busta🟨 WARM | Total Games | 21.5 | 25.19 | +17.2% | MORE | LOW | Matej Dodig | clay | — | 0.5x |
| 52 | Mai Hontama | Total Games Won | 7.5 | 8.78 | +17.1% | MORE | LOW | Magda Linette | clay | — | 0.5x |
| 53 | Kyrian Jacquet⏳ RTRN | Total Games Won | 12.5 | 10.37 | +17.1% | LESS | LOW | Marco Trungelliti | clay | — | 0.5x |
| 54 | Anna-Lena Friedsam🧊 COLD | Total Games Won | 11.5 | 9.58 | +16.7% | LESS | LOW | Marina Bassols Ribera | clay | — | 1.0x |
| 55 | Quentin Halys🧊 COLD | Total Games Won | 12.5 | 10.45 | +16.4% | LESS | LOW | Federico Cina | clay | — | 0.5x |
| 56 | Luca Van Assche | Break Points Won | 4.0 | 3.35 | +16.2% | LESS | LOW | Dusan Lajovic | clay | — | 1.0x |
| 57 | Vilius Gaubas | Total Games Won | 11.5 | 9.65 | +16.1% | LESS | LOW | Jesper De Jong | clay | — | 0.5x |
| 58 | Lucia Bronzetti | Total Games | 20.5 | 23.79 | +16.1% | MORE | LOW | Alessandra Mazzola | clay | — | 1.0x |
| 59 | Marina Bassols Ribera🟨 WARM | Total Games | 20.5 | 23.79 | +16.0% | MORE | LOW | Anna-Lena Friedsam | clay | — | 1.0x |
| 60 | Dino Prizmic🔥 HOT | Total Games | 21.5 | 24.90 | +15.8% | MORE | LOW | Vit Kopriva | clay | — | 0.5x |
| 61 | Maria Sakkari🧊 COLD | Total Games | 20.5 | 23.71 | +15.7% | MORE | LOW | Polina Kudermetova | clay | — | 0.5x |
| 62 | Paula Badosa🧊 COLD | Break Points Won | 4.5 | 3.80 | +15.5% | LESS | LOW | Anhelina Kalinina | clay | — | 1.0x |
| 63 | Polona Hercog🟨 WARM | Total Games | 20.5 | 23.67 | +15.5% | MORE | LOW | Dalila Jakupovic | clay | — | 0.5x |
| 64 | Matej Dodig⏳ RTRN | Total Games Won | 10.5 | 8.89 | +15.4% | LESS | LOW | Pablo Carreno Busta | clay | — | 0.5x |
| 65 | Victoria Bosio🟨 WARM | Total Games Won | 7.5 | 8.65 | +15.3% | MORE | LOW | Veronika Erjavec | clay | — | 1.0x |
| 66 | Qinwen Zheng | Total Games | 21.0 | 24.17 | +15.1% | MORE | LOW | Jessica Bouzas Maneiro | clay | — | 0.5x |
| 67 | Marco Trungelliti | Total Games Won | 12.5 | 10.63 | +14.9% | LESS | LOW | Kyrian Jacquet | clay | — | 0.5x |
| 68 | Luca Van Assche | Total Games | 22.0 | 25.20 | +14.6% | MORE | LOW | Dusan Lajovic | clay | — | 0.5x |
| 69 | Jaume Munar🧊 COLD | Total Games | 22.0 | 25.16 | +14.3% | MORE | LOW | Dominic Stricker | clay | — | 0.5x |
| 70 | Jesper De Jong | Total Games | 22.0 | 25.13 | +14.2% | MORE | LOW | Vilius Gaubas | clay | — | 0.5x |
| 71 | Sapfo Sakellaridi | Total Games | 21.5 | 24.55 | +14.2% | MORE | LOW | Miriana Tona | clay | — | 0.5x |
| 72 | Stefanos Tsitsipas | Total Games Won | 12.5 | 10.73 | +14.1% | LESS | LOW | Ignacio Buse | clay | — | 0.5x |
| 73 | Luca Van Assche | Total Games Won | 12.5 | 10.74 | +14.1% | LESS | LOW | Dusan Lajovic | clay | — | 0.5x |
| 74 | Thiago Agustin Tirante🟨 WARM | Total Games Won | 12.5 | 10.76 | +13.9% | LESS | LOW | Sebastian Ofner | clay | — | 0.5x |
| 75 | Grigor Dimitrov🧊 COLD | Total Games | 22.0 | 25.02 | +13.7% | MORE | LOW | Dalibor Svrcina | clay | — | 0.5x |
| 76 | Vera Zvonareva⏳ RTRN | Total Games | 21.5 | 24.45 | +13.7% | MORE | LOW | Polina Iatcenko | clay | — | 1.0x |
| 77 | Camilo Ugo Carabelli | Total Games | 21.5 | 24.44 | +13.7% | MORE | LOW | Marko ToPo | clay | — | 0.5x |
| 78 | Sofya Lansere🟨 WARM | Total Games | 21.5 | 24.44 | +13.7% | MORE | LOW | Elena Malygina | clay | — | 0.5x |
| 79 | Kajsa Rinaldo Persson⏳ RTRN | Total Games | 21.5 | 24.42 | +13.6% | MORE | LOW | Darya Astakhova | clay | — | 1.0x |
| 80 | Tatiana Prozorova⏳ RTRN | Total Games | 20.5 | 23.28 | +13.6% | MORE | LOW | Zhuoxuan Bai | clay | — | 1.0x |
| 81 | Deborah Chiesa🟨 WARM | Total Games | 21.5 | 24.37 | +13.3% | MORE | LOW | Lina Gjorcheska | clay | — | 0.5x |
| 82 | Oksana Selekhmeteva🧊 COLD | Total Games | 21.5 | 24.31 | +13.1% | MORE | LOW | Elizara Yaneva | clay | — | 1.0x |
| 83 | Yue Yuan🟨 WARM | Total Games | 21.5 | 24.30 | +13.0% | MORE | LOW | Aliona Falei | clay | — | 1.0x |
| 84 | Aliaksandra Sasnovich | Total Games | 21.5 | 24.24 | +12.8% | MORE | LOW | Anna Blinkova | clay | — | 0.5x |
| 85 | Julia Riera🟨 WARM | Total Games | 21.5 | 24.20 | +12.6% | MORE | LOW | Darja Semenistaja | clay | — | 1.0x |
| 86 | Jaume Munar🧊 COLD | Break Points Won | 3.0 | 3.38 | +12.5% | MORE | LOW | Dominic Stricker | clay | — | 1.0x |
| 87 | Andrea Pellegrino | Total Games Won | 12.5 | 10.94 | +12.5% | LESS | LOW | Nicolai Budkov Kjaer | clay | — | 0.5x |
| 88 | Vendula Valdmannova🟨 WARM | Total Games | 21.5 | 24.15 | +12.3% | MORE | LOW | Ayla Aksu | clay | — | 1.0x |
| 89 | Dalibor Svrcina🟨 WARM | Total Games Won | 11.5 | 10.10 | +12.2% | LESS | LOW | Grigor Dimitrov | clay | — | 0.5x |
| 90 | Alexander Blockx🟨 WARM | Total Games | 22.5 | 25.23 | +12.1% | MORE | LOW | Titouan Droguet | clay | — | 0.5x |
| 91 | Tyra Caterina Grant🟨 WARM | Total Games | 20.5 | 22.98 | +12.1% | MORE | LOW | Martina Trevisan | clay | — | 1.0x |
| 92 | Juan Manuel Cerundolo🟨 WARM | Total Games | 22.0 | 24.66 | +12.1% | MORE | LOW | Zdenek Kolar | clay | — | 0.5x |
| 93 | Jerome Kym⏳ RTRN | Total Games | 22.5 | 25.19 | +11.9% | MORE | LOW | Dylan Dietrich | clay | — | 0.5x |
| 94 | Pedro Martinez | Total Games Won | 10.5 | 9.25 | +11.9% | LESS | LOW | Yannick Hanfmann | clay | — | 0.5x |
| 95 | Jan Choinski🧊 COLD | Total Games | 22.5 | 25.15 | +11.8% | MORE | LOW | Nikoloz Basilashvili | clay | — | 0.5x |
| 96 | Andrea Pellegrino | Total Games | 22.5 | 25.15 | +11.8% | MORE | LOW | Nicolai Budkov Kjaer | clay | — | 0.5x |
| 97 | Ann Li | Total Games | 21.5 | 24.03 | +11.8% | MORE | LOW | Maria Timofeeva | clay | — | 0.5x |
| 98 | Federico Agustin Gomez🧊 COLD | Total Games | 22.5 | 25.14 | +11.7% | MORE | LOW | Niels McDonald | clay | — | 0.5x |
| 99 | Alex Molcan⏳ RTRN | Total Games | 22.5 | 25.14 | +11.7% | MORE | LOW | Valentin Royer | clay | — | 0.5x |
| 100 | Nadia Podoroska🟨 WARM | Total Games Won | 8.5 | 9.48 | +11.6% | MORE | LOW | Petra Marcinko | clay | — | 0.5x |
| 101 | Jerome Kym⏳ RTRN | Total Games Won | 12.5 | 11.07 | +11.5% | LESS | LOW | Dylan Dietrich | clay | — | 0.5x |
| 102 | Juan Carlos Prado Angelo⏳ RTRN | Total Games Won | 8.5 | 9.45 | +11.2% | MORE | LOW | Fabian Marozsan | clay | — | 0.5x |
| 103 | Roman Andres Burruchaga🟨 WARM | Total Games | 22.5 | 25.01 | +11.2% | MORE | LOW | Marco Cecchinato | clay | — | 0.5x |
| 104 | Noemi Basiletti | Total Games | 21.5 | 23.88 | +11.1% | MORE | LOW | Danka Kovinic | clay | — | 0.5x |
| 105 | Dominic Stricker🟨 WARM | Total Games Won | 10.5 | 9.36 | +10.9% | LESS | LOW | Jaume Munar | clay | — | 0.5x |
| 106 | Thiago Agustin Tirante🟨 WARM | Total Games | 22.5 | 24.90 | +10.7% | MORE | LOW | Sebastian Ofner | clay | — | 0.5x |
| 107 | Xinyu Gao | Total Games | 21.5 | 23.78 | +10.6% | MORE | LOW | Linda Fruhvirtova | clay | — | 1.0x |
| 108 | Daniel Altmaier | Total Games | 22.5 | 24.85 | +10.4% | MORE | LOW | Hugo Gaston | clay | — | 0.5x |
| 109 | Paula Badosa🧊 COLD | Total Games | 20.5 | 22.56 | +10.1% | MORE | LOW | Anhelina Kalinina | clay | — | 0.5x |
| 110 | Paula Badosa🧊 COLD | Total Games | 20.5 | 22.56 | +10.1% | MORE | LOW | Anhelina Kalinina | clay | — | 0.5x |
| 111 | Yannick Hanfmann🟨 WARM | Total Games | 22.5 | 24.75 | +10.0% | MORE | LOW | Pedro Martinez | clay | — | 0.5x |
| 112 | Alex Molcan⏳ RTRN | Total Games Won | 12.5 | 11.28 | +9.8% | LESS | LOW | Valentin Royer | clay | — | 0.5x |
| 113 | Emiliana Arango | Break Points Won | 4.5 | 4.08 | +9.4% | LESS | LOW | Tamara Zidansek | clay | — | 1.0x |
| 114 | Kyrian Jacquet⏳ RTRN | Total Games | 22.5 | 24.60 | +9.3% | MORE | LOW | Marco Trungelliti | clay | — | 0.5x |
| 115 | Nuno Borges🧊 COLD | Total Games Won | 12.5 | 11.35 | +9.2% | LESS | LOW | Moise Kouame | clay | — | 1.0x |
| 116 | Jesper De Jong | Total Games Won | 12.5 | 11.35 | +9.2% | LESS | LOW | Vilius Gaubas | clay | — | 0.5x |
| 117 | Henrique Rocha🟨 WARM | Total Games | 22.5 | 24.56 | +9.2% | MORE | LOW | Damir Dzumhur | clay | — | 0.5x |
| 118 | Daniel Altmaier | Total Games Won | 12.5 | 11.36 | +9.1% | LESS | LOW | Hugo Gaston | clay | — | 0.5x |
| 119 | Roman Andres Burruchaga🟨 WARM | Total Games Won | 12.5 | 11.40 | +8.8% | LESS | LOW | Marco Cecchinato | clay | — | 0.5x |
| 120 | Laura Pigossi🟨 WARM | Total Games Won | 8.5 | 9.22 | +8.5% | MORE | LOW | Laura Samson | clay | — | 1.0x |
| 121 | Nao Hibino | Total Games Won | 8.5 | 9.19 | +8.1% | MORE | LOW | Clara Tauson | clay | — | 0.5x |
| 122 | Simona Waltert🟨 WARM | Break Points Won | 5.5 | 5.06 | +8.1% | LESS | LOW | Katarzyna Kawa | clay | — | 1.0x |
| 123 | Harmony Tan🧊 COLD | Total Games | 21.5 | 23.23 | +8.0% | MORE | LOW | Lucie Havlickova | clay | — | 0.5x |
| 124 | Dino Prizmic🔥 HOT | Break Points Won | 3.5 | 3.77 | +7.8% | MORE | LOW | Vit Kopriva | clay | — | 1.0x |
| 125 | Fabian Marozsan | Total Games Won | 12.5 | 11.55 | +7.6% | LESS | LOW | Juan Carlos Prado Angelo | clay | — | 1.0x |
| 126 | Dalila Jakupovic🧊 COLD | Total Games Won | 9.5 | 8.80 | +7.4% | LESS | LOW | Polona Hercog | clay | — | 1.0x |
| 127 | Quentin Halys🧊 COLD | Total Games | 23.5 | 25.15 | +7.0% | MORE | LOW | Federico Cina | clay | — | 0.5x |
| 128 | Ignacio Buse | Total Games | 23.5 | 25.10 | +6.8% | MORE | LOW | Stefanos Tsitsipas | clay | — | 0.5x |
| 129 | Maria Sakkari🧊 COLD | Break Points Won | 4.5 | 4.20 | +6.7% | LESS | LOW | Polina Kudermetova | clay | — | 1.0x |
| 130 | Alexander Blockx🟨 WARM | Total Games Won | 12.5 | 11.67 | +6.7% | LESS | LOW | Titouan Droguet | clay | — | 0.5x |
| 131 | Moise Kouame | Total Games Won | 8.5 | 9.06 | +6.5% | MORE | LOW | Nuno Borges | clay | — | 0.5x |
| 132 | Tamara Zidansek⏳ RTRN | Total Games | 21.5 | 22.84 | +6.2% | MORE | LOW | Emiliana Arango | clay | — | 0.5x |
| 133 | Dino Prizmic🔥 HOT | Total Games Won | 12.5 | 11.80 | +5.6% | LESS | LOW | Vit Kopriva | clay | — | 0.5x |
| 134 | Kyrian Jacquet⏳ RTRN | Break Points Won | 3.0 | 3.14 | +4.6% | MORE | LOW | Marco Trungelliti | clay | — | 1.0x |
| 135 | Polina Kudermetova🟨 WARM | Total Games Won | 10.5 | 10.04 | +4.4% | LESS | LOW | Maria Sakkari | clay | — | 0.5x |
| 136 | Jaime Faria🟨 WARM | Total Games | 23.0 | 23.83 | +3.6% | MORE | LOW | Stan Wawrinka | clay | — | 0.5x |
| 137 | Pablo Carreno Busta🟨 WARM | Total Games Won | 12.5 | 12.11 | +3.1% | LESS | LOW | Matej Dodig | clay | — | 1.0x |
| 138 | Henrique Rocha🟨 WARM | Break Points Won | 3.5 | 3.61 | +3.1% | MORE | LOW | Damir Dzumhur | clay | — | 1.0x |
| 139 | Vit Kopriva🟨 WARM | Total Games Won | 9.5 | 9.76 | +2.8% | MORE | LOW | Dino Prizmic | clay | — | 0.5x |
| 140 | Anhelina Kalinina🟨 WARM | Total Games Won | 11.5 | 11.23 | +2.4% | LESS | LOW | Paula Badosa | clay | — | 0.5x |
| 141 | Magda Linette | Break Points Won | 5.0 | 4.90 | +2.0% | LESS | LOW | Mai Hontama | clay | — | 1.0x |
| 142 | Jesper De Jong | Break Points Won | 3.5 | 3.56 | +1.8% | MORE | LOW | Vilius Gaubas | clay | — | 1.0x |
| 143 | Camilo Ugo Carabelli | Total Games Won | 12.5 | 12.29 | +1.7% | LESS | LOW | Marko ToPo | clay | — | 1.0x |
| 144 | Jessica Bouzas Maneiro | Total Games Won | 9.5 | 9.66 | +1.7% | MORE | LOW | Qinwen Zheng | clay | — | 0.5x |
| 145 | Kaitlin Quevedo🧊 COLD | Total Games Won | 9.5 | 9.64 | +1.5% | MORE | LOW | Elena-Gabriela Ruse | clay | — | 0.5x |
Kalshi tennis — 0 picks · $0.00 staked
Day 1 - paper only, grade EOD before scaling · locked 2026-07-13T13:11:55.039792+00:00
| # | Match | Pick | Our P | Ask | Edge | Tier | Surface | Stake | Status | P&L |
|---|
PrizePicks tennis — 0 picks · $0.00 staked
Day 1 - paper only, grade EOD before scaling · locked 2026-07-13T13:11:54.976866+00:00
| # | Player | Stat | Line | Our proj | Side | Edge | Tier | Surface | Stake | Status | P&L |
|---|
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-07-13T06:12:13 · flagged threshold = ±3.0pp · 5 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|.| Player | Sharp (Kalshi) | Public (Poly) | Δ | Poly per-slam |
|---|---|---|---|---|
| Novak Djokovic · exact | 10.5% | 5.8% | -4.7pp · SHARP HIGHER | US 6% |
| Taylor Fritz · exact | 6.5% | 2.4% | -4.1pp · SHARP HIGHER | US 2% |
| Lorenzo Musetti · exact | 4.5% | 0.8% | -3.7pp · SHARP HIGHER | US 1% |
| Jack Draper · exact | 4.5% | 1.0% | -3.5pp · SHARP HIGHER | US 1% |
| Daniil Medvedev · exact | 5.5% | 2.3% | -3.2pp · SHARP HIGHER | US 2% |
| Alexander Bublik · exact | 2.0% | 0.7% | -1.3pp · SHARP HIGHER | US 1% |
| Frances Tiafoe · exact | 1.5% | 0.7% | -0.8pp · SHARP HIGHER | US 1% |
| Ben Shelton · exact | 2.5% | 2.4% | -0.1pp · SHARP HIGHER | US 2% |
| Karen Khachanov · no-match | 1.0% | — | no Poly match | — |
| Felix Auger-Aliassime · no-match | 13.0% | — | no Poly match | — |
| Casper Ruud · no-match | 1.0% | — | no Poly match | — |
| Alex de Minaur · no-match | 9.0% | — | no Poly match | — |
Per-match overlaps
No active per-match overlaps right now (Polymarket tennis volume concentrates in Grand Slam futures).
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
PP 3.25
INSUFFICIENT_N
Total Games Won
n=13
Ours
PP
Us 5.11
PP 4.96
NULL
PP 4.96
NULL
Total Tie Breaks
n=1
Ours
PP
Us 0.25
PP 0.50
INSUFFICIENT_N
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
PP 3.75
NULL
MED
n=0
Ours
PP
Us —
PP —
INSUFFICIENT_N
PP —
INSUFFICIENT_N
STRONG
n=2
Ours
PP
Us 6.75
PP 9.00
INSUFFICIENT_N
PP 9.00
INSUFFICIENT_N
No AAR available yet.
Expected:
Expected:
~/.claude/projects/.../memory/aar_tennis_<date>.mdNo actionable PP line movement yet.
Expected:
Expected:
pp_line_movement_tennis_2026-07-13.csv. Needs at least 2 PP snapshots in pp_snapshots_tennis/.ATP top 50
| Rk | Player | Country | Pts | ELO overall | ELO clay | ELO grass | ELO hard |
|---|---|---|---|---|---|---|---|
| 1 | Jannik Sinner | ITA | 13500 | 2167 | 1879 | 1695 | 2062 |
| 2 | Carlos Alcaraz | ESP | 9960 | 2070 | 1867 | 1717 | 1956 |
| 3 | Alexander Zverev | GER | 7305 | 1994 | 1865 | 1594 | 1863 |
| 4 | Felix Auger Aliassime | CAN | 4440 | 1854 | 1642 | 1517 | 1803 |
| 5 | Ben Shelton | USA | 3920 | 1816 | 1665 | 1561 | 1765 |
| 6 | Alex De Minaur | AUS | 3905 | 1851 | 1677 | 1590 | 1806 |
| 7 | Novak Djokovic | SRB | 3760 | 1929 | 1729 | 1636 | 1846 |
| 8 | Daniil Medvedev | RUS | 3760 | 1884 | 1659 | 1585 | 1845 |
| 9 | Taylor Fritz | USA | 3720 | 1793 | 1551 | 1722 | 1749 |
| 10 | Flavio Cobolli | ITA | 3540 | 1833 | 1754 | 1557 | 1655 |
| 11 | Alexander Bublik | KAZ | 2930 | 1785 | 1681 | 1569 | 1703 |
| 12 | Jiri Lehecka | CZE | 2575 | 1814 | 1632 | 1574 | 1754 |
| 13 | Andrey Rublev | RUS | 2460 | 1804 | 1705 | 1516 | 1683 |
| 14 | Casper Ruud | NOR | 2425 | 1866 | 1805 | 1502 | 1685 |
| 15 | Karen Khachanov | RUS | 2320 | 1723 | 1622 | 1567 | 1639 |
| 16 | Lorenzo Musetti | ITA | 2315 | 1832 | 1764 | 1607 | 1723 |
| 17 | Jakub Mensik | CZE | 2300 | 1825 | 1661 | 1497 | 1747 |
| 18 | Luciano Darderi | ITA | 2300 | 1772 | 1790 | 1466 | 1466 |
| 19 | Learner Tien | USA | 2270 | 1847 | 1622 | 1506 | 1789 |
| 20 | Valentin Vacherot | MON | 2145 | 1800 | 1695 | 1467 | 1738 |
| 21 | Arthur Fils | FRA | 1940 | 1892 | 1746 | 1546 | 1771 |
| 22 | Alejandro Davidovich Fokina | ESP | 1860 | 1749 | 1593 | 1545 | 1703 |
| 23 | Rafael Jodar | ESP | 1849 | 1893 | 1755 | — | 1765 |
| 24 | Arthur Rinderknech | FRA | 1776 | 1713 | 1576 | 1530 | 1631 |
| 25 | Joao Fonseca | BRA | 1735 | 1837 | 1673 | 1495 | 1795 |
| 26 | Frances Tiafoe | USA | 1705 | 1775 | 1640 | 1488 | 1719 |
| 27 | Francisco Cerundolo | ARG | 1660 | 1790 | 1700 | 1426 | 1698 |
| 28 | Tommy Paul | USA | 1645 | 1851 | 1758 | 1587 | 1743 |
| 29 | Cameron Norrie | GBR | 1595 | 1738 | 1631 | 1529 | 1682 |
| 30 | Tomas Martin Etcheverry | ARG | 1510 | 1751 | 1656 | 1456 | 1636 |
| 31 | Alejandro Tabilo | CHI | 1428 | 1798 | 1705 | 1575 | 1637 |
| 32 | Brandon Nakashima | USA | 1385 | 1713 | 1582 | 1590 | 1660 |
| 33 | Ugo Humbert | FRA | 1370 | 1715 | 1498 | 1517 | 1697 |
| 34 | Matteo Arnaldi | ITA | 1336 | 1719 | 1676 | 1455 | 1558 |
| 35 | Ignacio Buse | PER | 1316 | 1773 | 1732 | 1482 | 1562 |
| 36 | Corentin Moutet | FRA | 1283 | 1673 | 1567 | 1574 | 1640 |
| 37 | Alexander Blockx | BEL | 1280 | 1820 | 1688 | 1508 | 1713 |
| 38 | Alex Michelsen | USA | 1205 | 1727 | 1522 | 1538 | 1702 |
| 39 | Mariano Navone | ARG | 1165 | 1767 | 1722 | 1460 | 1507 |
| 40 | Zizou Bergs | BEL | 1150 | 1681 | 1547 | 1521 | 1631 |
| 41 | Tallon Griekspoor | NED | 1150 | 1680 | 1576 | 1564 | 1645 |
| 42 | Denis Shapovalov | CAN | 1130 | 1668 | 1483 | 1472 | 1698 |
| 43 | Tomas Machac | CZE | 1120 | 1745 | 1602 | 1500 | 1682 |
| 44 | Jaume Munar | ESP | 1105 | 1695 | 1589 | 1508 | 1635 |
| 45 | Juan Manuel Cerundolo | ARG | 1055 | 1756 | 1753 | 1469 | 1532 |
| 46 | Adrian Mannarino | FRA | 1031 | 1565 | 1369 | 1584 | 1569 |
| 47 | Marin Cilic | CRO | 994 | 1684 | 1513 | 1611 | 1635 |
| 48 | Matteo Berrettini | ITA | 985 | 1749 | 1689 | 1524 | 1694 |
| 49 | Miomir Kecmanovic | SRB | 980 | 1688 | 1584 | 1500 | 1595 |
| 50 | Nuno Borges | POR | 970 | 1656 | 1596 | 1493 | 1596 |
WTA top 50
| Rk | Player | Country | Pts | ELO overall | ELO clay | ELO grass | ELO hard |
|---|---|---|---|---|---|---|---|
| 1 | Aryna Sabalenka | BLR | 9090 | 2089 | 1801 | 1588 | 2045 |
| 2 | Elena Rybakina | KAZ | 8143 | 2040 | 1766 | 1580 | 1972 |
| 3 | Iga Swiatek | POL | 6733 | 1957 | 1809 | 1658 | 1852 |
| 4 | Jessica Pegula | USA | 6056 | 1979 | 1701 | 1583 | 1901 |
| 5 | Amanda Anisimova | USA | 5848 | 1906 | 1580 | 1638 | 1822 |
| 6 | Mirra Andreeva | RUS | 5751 | 1995 | 1867 | 1513 | 1797 |
| 7 | Coco Gauff | USA | 4879 | 1980 | 1824 | 1519 | 1871 |
| 8 | Elina Svitolina | UKR | 4315 | 1996 | 1824 | 1550 | 1824 |
| 9 | Victoria Mboko | CAN | 3670 | 1937 | 1726 | 1515 | 1891 |
| 10 | Karolina Muchova | CZE | 3438 | 1927 | 1602 | 1494 | 1869 |
| 11 | Belinda Bencic | SUI | 3385 | 1904 | 1636 | 1561 | 1831 |
| 12 | Marta Kostyuk | UKR | 3157 | 1959 | 1801 | 1449 | 1755 |
| 13 | Linda Noskova | CZE | 3054 | 1869 | 1599 | 1583 | 1763 |
| 14 | Jasmine Paolini | ITA | 2617 | 1809 | 1701 | 1585 | 1741 |
| 15 | Naomi Osaka | JPN | 2571 | 1855 | 1688 | 1514 | 1734 |
| 16 | Diana Shnaider | RUS | 2506 | 1841 | 1701 | 1565 | 1686 |
| 17 | Ekaterina Alexandrova | RUS | 2449 | 1711 | 1556 | 1584 | 1662 |
| 18 | Sorana Cirstea | ROU | 2415 | 1919 | 1714 | 1429 | 1797 |
| 19 | Iva Jovic | USA | 2366 | 1833 | 1667 | 1601 | 1759 |
| 20 | Anna Kalinskaya | RUS | 2212 | 1834 | 1631 | 1546 | 1721 |
| 21 | Maja Chwalinska | POL | 1996 | 1860 | 1795 | 1483 | 1693 |
| 22 | Elise Mertens | BEL | 1918 | 1811 | 1619 | 1581 | 1714 |
| 23 | Leylah Fernandez | CAN | 1844 | 1760 | 1569 | 1546 | 1679 |
| 24 | Clara Tauson | DEN | 1800 | 1719 | 1527 | 1520 | 1679 |
| 25 | Emma Navarro | USA | 1779 | 1759 | 1653 | 1590 | 1613 |
| 26 | Madison Keys | USA | 1772 | 1864 | 1732 | 1558 | 1766 |
| 27 | Anastasia Potapova | RUS | 1640 | 1855 | 1743 | 1484 | 1640 |
| 28 | Marie Bouzkova | CZE | 1631 | 1787 | 1702 | 1476 | 1648 |
| 29 | Ann Li | USA | 1601 | 1759 | 1646 | 1478 | 1647 |
| 30 | Hailey Baptiste | USA | 1513 | 1790 | 1667 | 1488 | 1667 |
| 31 | Xin Yu Wang | CHN | 1431 | 1719 | 1537 | 1591 | 1616 |
| 32 | Katerina Siniakova | CZE | 1422 | 1771 | 1559 | 1578 | 1693 |
| 33 | Alexandra Eala | PHI | 1416 | 1837 | 1495 | 1665 | 1748 |
| 34 | Cristina Bucsa | ESP | 1406 | 1705 | 1443 | 1514 | 1684 |
| 35 | Liudmila Samsonova | RUS | 1405 | 1680 | 1593 | 1619 | 1566 |
| 36 | Jelena Ostapenko | LAT | 1404 | 1762 | 1660 | 1534 | 1621 |
| 37 | Maria Sakkari | GRE | 1328 | 1729 | 1589 | 1486 | 1658 |
| 38 | Jaqueline Cristian | ROU | 1294 | 1767 | 1631 | 1432 | 1698 |
| 39 | Mccartney Kessler | USA | 1289 | 1751 | 1547 | 1583 | 1688 |
| 40 | Janice Tjen | INA | 1267 | 1780 | 1634 | 1503 | 1785 |
| 41 | Elisabetta Cocciaretto | ITA | 1260 | 1800 | 1586 | 1577 | 1689 |
| 42 | Emma Raducanu | GBR | 1241 | 1727 | 1548 | 1577 | 1658 |
| 43 | Magdalena Frech | POL | 1238 | 1655 | 1530 | 1434 | 1613 |
| 44 | Laura Siegemund | GER | 1230 | 1691 | 1553 | 1541 | 1592 |
| 45 | Barbora Krejcikova | CZE | 1211 | 1743 | 1550 | 1606 | 1647 |
| 46 | Sara Bejlek | CZE | 1205 | 1783 | 1736 | 1486 | 1653 |
| 47 | Tereza Valentova | CZE | 1165 | 1829 | 1727 | 1517 | 1788 |
| 48 | Marketa Vondrousova | CZE | 1133 | 1728 | 1606 | 1578 | 1609 |
| 49 | Dayana Yastremska | UKR | 1126 | 1743 | 1640 | 1575 | 1594 |
| 50 | Petra Marcinko | CRO | 1123 | 1771 | 1743 | 1467 | 1633 |
Top Kalshi edges
#1 Marco Cecchinato ELITE_LOW_N
Marco Cecchinato vs Marcelo Tomas Barrios Vera on hard — model 45% vs market 15% (+30.0pp). ELITE_LOW_N, ask 15¢.
#2 Andres Andrade ELITE_LOW_N
Andres Andrade vs Colton Smith on hard — model 49% vs market 20% (+29.4pp). ELITE_LOW_N, ask 20¢. Form: Andres Andra=COLD | Colton Smith=WARM.
#3 Gonzalo Bueno STRONG_LOW_N
Gonzalo Bueno vs Jerome Kym on hard — model 45% vs market 16% (+29.0pp). STRONG_LOW_N, ask 16¢.
#4 Adam Walton ELITE_LOW_N
Adam Walton vs Nick Kyrgios on hard — model 64% vs market 93% (+-28.5pp). ELITE_LOW_N, ask 93¢.
#5 Florent Bax ELITE_LOW_N
Florent Bax vs Chris Rodesch on hard — model 45% vs market 17% (+28.0pp). ELITE_LOW_N, ask 17¢.
Top PrizePicks edges
#1 Martin Landaluce ELITE_LOW_N
Martin Landaluce LESS 0.5 Total Tie Breaks vs Jan-Lennard Struff — proj 0.2 (+50.0% edge). Surface: clay.
#2 Rei Sakamoto ELITE_LOW_N
Rei Sakamoto LESS 0.5 Total Tie Breaks vs Anton Matusevich — proj 0.2 (+49.9% edge). Surface: clay.
#3 Jack Draper STRONG_LOW_N
Jack Draper LESS 0.5 Total Tie Breaks vs Brandon Nakashima — proj 0.2 (+49.9% edge). Surface: clay.
Fade signals
- Clara Tauson (RETURNING): RETURNING form tag — fade or fade-against.
- Gabriel Diallo (COLD): COLD form tag — fade or fade-against.
- Raphael Collignon (RETURNING): RETURNING form tag — fade or fade-against.
- Maya Joint (RETURNING): RETURNING form tag — fade or fade-against.
- Antonia Ruzic (COLD): COLD form tag — fade or fade-against.
- Francisco Comesana (COLD): COLD form tag — fade or fade-against.
- Jan Lennard Struff (COLD): COLD form tag — fade or fade-against.
- Alexei Popyrin (COLD): COLD form tag — fade or fade-against.
Surface leans
| Surface | Matches | % strong fav | Lean |
|---|---|---|---|
| hard | 5 | 0.0% | pick'em slate |
| grass | 154 | 3.9% | pick'em slate |
ATP (current surface: grass, top 50 by composite)
| Rk | Player | Country | Composite | ELO overall | ELO grass | Form | Off. rank |
|---|---|---|---|---|---|---|---|
| 1 | Jannik Sinner | ITA | 2051.6 | 2167 | 1695 | WARM | 1 |
| 2 | Carlos Alcaraz | ESP | 1923.6 | 2070 | 1717 | RETURNING | 2 |
| 3 | Rafael Jodar | ESP | 1913.0 | 1893 | 1893 | WARM | 23 |
| 4 | Alexander Zverev | GER | 1898.3 | 1994 | 1594 | WARM | 3 |
| 5 | Daniil Medvedev | RUS | 1808.0 | 1884 | 1585 | WARM | 8 |
| 6 | Arthur Fils | FRA | 1791.0 | 1892 | 1546 | WARM | 21 |
| 7 | Novak Djokovic | SRB | 1788.6 | 1929 | 1636 | RETURNING | 7 |
| 8 | Tommy Paul | USA | 1778.5 | 1851 | 1587 | WARM | 28 |
| 9 | Felix Auger Aliassime | CAN | 1777.3 | 1854 | 1517 | WARM | 4 |
| 10 | Adolfo Daniel Vallejo | PAR | 1775.3 | 1755 | 1755 | WARM | 72 |
| 11 | Alex De Minaur | AUS | 1775.0 | 1851 | 1590 | NEUTRAL | 6 |
| 12 | Daniel Merida Aguilar | ESP | 1767.7 | 1748 | 1748 | WARM | 82 |
| 13 | Yibing Wu | CHN | 1766.8 | 1747 | 1747 | WARM | 101 |
| 14 | Ben Shelton | USA | 1764.8 | 1816 | 1561 | WARM | 5 |
| 15 | Flavio Cobolli | ITA | 1759.5 | 1833 | 1557 | WARM | 10 |
| 16 | Casper Ruud | NOR | 1758.5 | 1866 | 1502 | WARM | 14 |
| 17 | Lorenzo Musetti | ITA | 1753.5 | 1832 | 1607 | NEUTRAL | 16 |
| 18 | Dino Prizmic | CRO | 1753.2 | 1813 | 1499 | HOT | 70 |
| 19 | Jiri Lehecka | CZE | 1750.1 | 1814 | 1574 | WARM | 12 |
| 20 | Alejandro Tabilo | CHI | 1739.8 | 1798 | 1575 | WARM | 31 |
| 21 | Joao Fonseca | BRA | 1737.3 | 1837 | 1495 | WARM | 25 |
| 22 | Alexander Blockx | BEL | 1730.5 | 1820 | 1508 | WARM | 37 |
| 23 | Jakub Mensik | CZE | 1730.1 | 1825 | 1497 | WARM | 17 |
| 24 | Toby Samuel | GBR | 1728.8 | 1709 | 1709 | WARM | 150 |
| 25 | Learner Tien | USA | 1727.2 | 1847 | 1506 | NEUTRAL | 19 |
| 26 | Taylor Fritz | USA | 1724.0 | 1793 | 1722 | RETURNING | 9 |
| 27 | Stefanos Sakellaridis | GRE | 1711.7 | 1692 | 1692 | WARM | 155 |
| 28 | Alexander Bublik | KAZ | 1709.5 | 1785 | 1569 | NEUTRAL | 11 |
| 29 | Rei Sakamoto | JPN | 1706.3 | 1686 | 1686 | WARM | 149 |
| 30 | Valentin Vacherot | MON | 1703.4 | 1800 | 1467 | WARM | 20 |
| 31 | Andrey Rublev | RUS | 1703.1 | 1804 | 1516 | NEUTRAL | 13 |
| 32 | Zachary Svajda | USA | 1696.9 | 1722 | 1650 | NEUTRAL | 62 |
| 33 | Michael Mmoh | USA | 1695.3 | 1675 | 1675 | WARM | 195 |
| 34 | Alex Molcan | SVK | 1694.0 | 1744 | 1744 | RETURNING | 102 |
| 35 | Nikolas Sanchez Izquierdo | ESP | 1691.4 | 1641 | 1641 | HOT | 226 |
| 36 | Kilian Feldbausch | SUI | 1688.9 | 1669 | 1669 | WARM | 287 |
| 37 | Pablo Carreno Busta | ESP | 1684.3 | 1761 | 1484 | WARM | 71 |
| 38 | Buvaysar Gadamauri | BEL | 1684.1 | 1664 | 1664 | WARM | 261 |
| 39 | Francisco Cerundolo | ARG | 1682.9 | 1790 | 1426 | WARM | 27 |
| 40 | Jack Draper | GBR | 1682.2 | 1806 | 1594 | RETURNING | 112 |
| 41 | Mariano Navone | ARG | 1679.8 | 1767 | 1460 | WARM | 39 |
| 42 | Franco Roncadelli | URU | 1679.0 | 1659 | 1659 | WARM | 227 |
| 43 | Alejandro Davidovich Fokina | ESP | 1677.3 | 1749 | 1545 | NEUTRAL | 22 |
| 44 | Roman Andres Burruchaga | ARG | 1676.8 | 1733 | 1514 | WARM | 63 |
| 45 | Juan Manuel Cerundolo | ARG | 1675.7 | 1756 | 1469 | WARM | 45 |
| 46 | Hubert Hurkacz | POL | 1675.6 | 1714 | 1547 | WARM | 96 |
| 47 | Ignacio Buse | PER | 1671.0 | 1773 | 1482 | NEUTRAL | 35 |
| 48 | Matteo Berrettini | ITA | 1670.6 | 1749 | 1524 | NEUTRAL | 48 |
| 49 | Brandon Nakashima | USA | 1670.4 | 1713 | 1590 | NEUTRAL | 32 |
| 50 | Bu Yunchaokete | CHN | 1668.7 | 1709 | 1536 | WARM | 131 |
WTA (current surface: grass, top 50 by composite)
| Rk | Player | Country | Composite | ELO overall | ELO grass | Form | Off. rank |
|---|---|---|---|---|---|---|---|
| 1 | Aryna Sabalenka | BLR | 1963.9 | 2089 | 1588 | WARM | 1 |
| 2 | Elena Rybakina | KAZ | 1925.9 | 2040 | 1580 | WARM | 2 |
| 3 | Alexandra Shubladze | RUS | 1898.6 | 1879 | 1879 | WARM | 184 |
| 4 | Jeline Vandromme | BEL | 1883.0 | 1863 | 1863 | WARM | 176 |
| 5 | Jessica Pegula | USA | 1881.7 | 1979 | 1583 | WARM | 4 |
| 6 | Iga Swiatek | POL | 1876.4 | 1957 | 1658 | NEUTRAL | 3 |
| 7 | Elina Svitolina | UKR | 1869.3 | 1996 | 1550 | WARM | 8 |
| 8 | Lisa Pigato | ITA | 1866.5 | 1846 | 1846 | WARM | 132 |
| 9 | Mirra Andreeva | RUS | 1861.0 | 1995 | 1513 | WARM | 6 |
| 10 | Coco Gauff | USA | 1850.8 | 1980 | 1519 | WARM | 7 |
| 11 | Akasha Urhobo | USA | 1843.4 | 1823 | 1823 | WARM | 180 |
| 12 | Tyra Caterina Grant | USA | 1840.5 | 1820 | 1820 | WARM | 157 |
| 13 | Dayeon Back | KOR | 1825.7 | 1806 | 1806 | WARM | 279 |
| 14 | Kaitlin Quevedo | USA | 1824.7 | 1825 | 1825 | NEUTRAL | 107 |
| 15 | Victoria Mboko | CAN | 1815.1 | 1937 | 1515 | WARM | 9 |
| 16 | Laura Samson | CZE | 1810.3 | 1810 | 1810 | NEUTRAL | 137 |
| 17 | Alice Tubello | FRA | 1810.1 | 1790 | 1790 | WARM | 222 |
| 18 | Belinda Bencic | SUI | 1804.3 | 1904 | 1561 | WARM | 11 |
| 19 | Carol Young Suh Lee | POC | 1801.3 | 1781 | 1781 | WARM | 192 |
| 20 | Jennifer Ruggeri | ITA | 1801.1 | 1781 | 1781 | WARM | 213 |
| 21 | Marta Kostyuk | UKR | 1800.2 | 1959 | 1449 | WARM | 12 |
| 22 | Anastasia Zolotareva | RUS | 1798.0 | 1778 | 1778 | WARM | 233 |
| 23 | Kristina Liutova | RUS | 1796.5 | 1777 | 1777 | WARM | 229 |
| 24 | Luisina Giovannini | ARG | 1793.4 | 1843 | 1843 | RETURNING | 173 |
| 25 | Angela Fita Boluda | ESP | 1793.2 | 1773 | 1773 | WARM | 195 |
| 26 | Eva Guerrero Alvarez | ESP | 1791.5 | 1772 | 1772 | WARM | 274 |
| 27 | Linda Noskova | CZE | 1788.9 | 1869 | 1583 | WARM | 13 |
| 28 | Hayu Kinoshita | JPN | 1787.3 | 1767 | 1767 | WARM | 217 |
| 29 | Martyna Kubka | POL | 1784.6 | 1765 | 1765 | WARM | 243 |
| 30 | Darya Astakhova | RUS | 1782.7 | 1763 | 1763 | WARM | 236 |
| 31 | Amanda Anisimova | USA | 1780.3 | 1906 | 1638 | RETURNING | 5 |
| 32 | Samira De Stefano | ITA | 1779.4 | 1759 | 1759 | WARM | 263 |
| 33 | Alexandra Eala | PHI | 1776.5 | 1837 | 1665 | NEUTRAL | 33 |
| 34 | Caijsa Wilda Hennemann | SWE | 1773.6 | 1774 | 1774 | NEUTRAL | 276 |
| 35 | Lilli Tagger | AUT | 1770.9 | 1771 | 1771 | NEUTRAL | 86 |
| 36 | Claire Liu | USA | 1770.0 | 1750 | 1750 | WARM | 148 |
| 37 | Sorana Cirstea | ROU | 1767.4 | 1919 | 1429 | WARM | 18 |
| 38 | Lanlana Tararudee | THA | 1766.5 | 1860 | 1536 | WARM | 94 |
| 39 | Daria Snigur | UKR | 1765.8 | 1863 | 1528 | WARM | 84 |
| 40 | Veronika Podrez | UKR | 1764.2 | 1814 | 1814 | RETURNING | 145 |
| 41 | Lucie Havlickova | CZE | 1758.1 | 1738 | 1738 | WARM | 212 |
| 42 | Sohyun Park | KOR | 1756.7 | 1737 | 1737 | WARM | 270 |
| 43 | Julie Struplova | CZE | 1755.7 | 1786 | 1786 | COLD | 272 |
| 44 | Tatiana Prozorova | RUS | 1755.6 | 1806 | 1806 | RETURNING | 172 |
| 45 | Elizara Yaneva | BUL | 1752.5 | 1752 | 1752 | NEUTRAL | 225 |
| 46 | Iva Jovic | USA | 1751.9 | 1833 | 1601 | NEUTRAL | 19 |
| 47 | Oleksandra Oliynykova | CRO | 1748.0 | 1859 | 1485 | WARM | 51 |
| 48 | Hanyu Guo | CHN | 1747.7 | 1728 | 1728 | WARM | 156 |
| 49 | Anhelina Kalinina | UKR | 1746.9 | 1842 | 1513 | WARM | 69 |
| 50 | Rebeka Masarova | ESP | 1746.2 | 1813 | 1623 | NEUTRAL | 140 |
ATP on CLAY (top 15 by surface tilt)
| Player | Δ ELO | ELO clay | ELO overall | Form | Off. rank |
|---|---|---|---|---|---|
| Zdenek Kolar | +27.9 | 1617 | 1589 | NEUTRAL | 162 |
| Gustavo Heide | +25.1 | 1725 | 1700 | RETURNING | 182 |
| Jan Choinski | +19.6 | 1688 | 1668 | COLD | 105 |
| Juan Carlos Prado Angelo | +19.3 | 1648 | 1628 | RETURNING | 161 |
| Gonzalo Bueno | +17.6 | 1637 | 1619 | RETURNING | 180 |
| Luciano Darderi | +17.2 | 1790 | 1772 | WARM | 18 |
| Valentin Royer | +16.5 | 1654 | 1638 | WARM | 74 |
| Alex Barrena | +13.9 | 1571 | 1557 | NEUTRAL | 197 |
| Jesper De Jong | +12.7 | 1672 | 1659 | NEUTRAL | 83 |
| Hugo Dellien | +11.2 | 1688 | 1677 | RETURNING | 165 |
| Timofey Skatov | +11.0 | 1631 | 1620 | NEUTRAL | 175 |
| Tomas Barrios Vera | +9.1 | 1686 | 1677 | COLD | 138 |
| Lukas Neumayer | +8.9 | 1693 | 1684 | WARM | 168 |
| Marco Trungelliti | +8.6 | 1684 | 1675 | NEUTRAL | 80 |
| Facundo Diaz Acosta | +4.7 | 1703 | 1698 | RETURNING | 128 |
WTA on CLAY (top 15 by surface tilt)
| Player | Δ ELO | ELO clay | ELO overall | Form | Off. rank |
|---|---|---|---|---|---|
| Katarzyna Kawa | +26.3 | 1730 | 1704 | HOT | 143 |
| Despina Papamichail | +7.5 | 1686 | 1679 | NEUTRAL | 168 |
| Teodora Kostovic | +4.7 | 1735 | 1730 | NEUTRAL | 182 |
| Anna Bondar | +4.5 | 1779 | 1775 | WARM | 75 |
| Simona Waltert | -2.9 | 1764 | 1767 | WARM | 90 |
| Carole Monnet | -3.1 | 1662 | 1665 | NEUTRAL | 191 |
| Julia Grabher | -4.8 | 1715 | 1720 | NEUTRAL | 116 |
| Andrea Lazaro Garcia | -7.6 | 1791 | 1799 | WARM | 153 |
| Luisina Giovannini | -10.7 | 1833 | 1843 | RETURNING | 173 |
| Veronika Erjavec | -12.4 | 1739 | 1752 | WARM | 89 |
| Darja Semenistaja | -13.5 | 1778 | 1792 | WARM | 102 |
| Mayar Sherif | -13.8 | 1707 | 1720 | RETURNING | 118 |
| Whitney Osuigwe | -13.8 | 1668 | 1682 | WARM | 183 |
| Nuria Brancaccio | -14.1 | 1658 | 1672 | COLD | 177 |
| Tamara Zidansek | -15.2 | 1761 | 1777 | RETURNING | 134 |
ATP on GRASS (top 15 by surface tilt)
| Player | Δ ELO | ELO grass | ELO overall | Form | Off. rank |
|---|---|---|---|---|---|
| Shintaro Mochizuki | +54.6 | 1565 | 1511 | RETURNING | 129 |
| Nicolas Jarry | +29.4 | 1564 | 1535 | RETURNING | 189 |
| Billy Harris | +25.6 | 1541 | 1515 | COLD | 144 |
| Adrian Mannarino | +19.4 | 1584 | 1565 | COLD | 46 |
| Roberto Bautista Agut | -25.0 | 1551 | 1576 | COLD | 116 |
| Aleksandar Vukic | -31.8 | 1537 | 1569 | COLD | 100 |
| Otto Virtanen | -49.0 | 1631 | 1680 | NEUTRAL | 158 |
| Tristan Schoolkate | -50.4 | 1550 | 1600 | WARM | 123 |
| Alex Bolt | -56.1 | 1592 | 1648 | WARM | 157 |
| August Holmgren | -56.7 | 1548 | 1605 | WARM | 148 |
| Gabriel Diallo | -63.2 | 1576 | 1639 | COLD | 54 |
| Marcos Giron | -71.3 | 1570 | 1641 | WARM | 88 |
| Zachary Svajda | -72.3 | 1650 | 1722 | NEUTRAL | 62 |
| Marin Cilic | -73.2 | 1611 | 1684 | NEUTRAL | 47 |
| Ugo Blanchet | -74.7 | 1459 | 1534 | COLD | 173 |
WTA on GRASS (top 15 by surface tilt)
| Player | Δ ELO | ELO grass | ELO overall | Form | Off. rank |
|---|---|---|---|---|---|
| Tatjana Maria | -18.0 | 1598 | 1616 | NEUTRAL | 52 |
| Beatriz Haddad Maia | -64.5 | 1514 | 1578 | COLD | 108 |
| Viktoriya Tomova | -107.0 | 1500 | 1607 | NEUTRAL | 167 |
| Ajla Tomljanovic | -111.2 | 1536 | 1647 | NEUTRAL | 109 |
| Xin Yu Wang | -127.1 | 1591 | 1719 | NEUTRAL | 31 |
| Kamilla Rakhimova | -128.2 | 1576 | 1705 | NEUTRAL | 78 |
| Linda Fruhvirtova | -133.9 | 1543 | 1677 | NEUTRAL | 164 |
| Suzan Lamens | -135.0 | 1489 | 1624 | COLD | 125 |
| Lulu Sun | -136.6 | 1519 | 1655 | NEUTRAL | 110 |
| Victoria Jimenez Kasintseva | -136.9 | 1499 | 1636 | NEUTRAL | 124 |
| Rebecca Sramkova | -137.3 | 1509 | 1646 | NEUTRAL | 120 |
| Dalma Galfi | -138.3 | 1576 | 1714 | NEUTRAL | 117 |
| Ashlyn Krueger | -149.2 | 1563 | 1712 | NEUTRAL | 113 |
| Elena Gabriela Ruse | -159.4 | 1570 | 1730 | NEUTRAL | 88 |
| Bianca Andreescu | -161.6 | 1539 | 1700 | NEUTRAL | 158 |
ATP on HARD (top 15 by surface tilt)
| Player | Δ ELO | ELO hard | ELO overall | Form | Off. rank |
|---|---|---|---|---|---|
| Hugo Gaston | +45.5 | 1666 | 1620 | WARM | 119 |
| Luca Van Assche | +35.7 | 1704 | 1668 | WARM | 98 |
| Toby Samuel | +29.5 | 1738 | 1709 | WARM | 150 |
| Gauthier Onclin | +6.0 | 1613 | 1607 | HOT | 186 |
| Clement Chidekh | +5.5 | 1629 | 1624 | NEUTRAL | 200 |
| Rinky Hijikata | +3.2 | 1683 | 1680 | WARM | 106 |
| Alexis Galarneau | +2.9 | 1613 | 1610 | WARM | 187 |
| Coleman Wong | -1.9 | 1641 | 1643 | WARM | 108 |
| Benjamin Bonzi | -3.0 | 1678 | 1680 | WARM | 99 |
| Michael Mmoh | -10.9 | 1664 | 1675 | WARM | 195 |
| Borna Gojo | -11.2 | 1698 | 1709 | WARM | 178 |
| Ethan Quinn | -13.2 | 1683 | 1696 | WARM | 67 |
| Marcos Giron | -13.6 | 1628 | 1641 | WARM | 88 |
| Sho Shimabukuro | -14.6 | 1643 | 1657 | NEUTRAL | 104 |
| Terence Atmane | -14.7 | 1627 | 1641 | NEUTRAL | 53 |
WTA on HARD (top 15 by surface tilt)
| Player | Δ ELO | ELO hard | ELO overall | Form | Off. rank |
|---|---|---|---|---|---|
| Talia Gibson | +53.5 | 1832 | 1779 | HOT | 63 |
| Hanne Vandewinkel | +51.2 | 1848 | 1796 | HOT | 97 |
| Xiaodi You | +1.4 | 1730 | 1729 | WARM | 170 |
| Kimberly Birrell | -6.3 | 1751 | 1757 | WARM | 74 |
| Victoria Jimenez Kasintseva | -6.9 | 1629 | 1636 | WARM | 124 |
| Ye Xin Ma | -9.4 | 1684 | 1693 | WARM | 189 |
| Sofia Costoulas | -11.2 | 1729 | 1740 | WARM | 150 |
| Taylah Preston | -15.5 | 1796 | 1811 | WARM | 126 |
| Polina Iatcenko | -17.5 | 1721 | 1738 | NEUTRAL | 163 |
| Himeno Sakatsume | -18.4 | 1742 | 1761 | NEUTRAL | 127 |
| Vendula Valdmannova | -18.6 | 1785 | 1804 | WARM | 199 |
| Priscilla Hon | -19.1 | 1646 | 1665 | NEUTRAL | 146 |
| Harriet Dart | -23.5 | 1740 | 1763 | WARM | 160 |
| Francisca Jorge | -27.2 | 1699 | 1727 | RETURNING | 196 |
| Hanyu Guo | -27.7 | 1700 | 1728 | WARM | 156 |
WTA on INDOOR (top 15 by surface tilt)
| Player | Δ ELO | ELO indoor | ELO overall | Form | Off. rank |
|---|---|---|---|---|---|
| Linda Klimovicova | -124.1 | 1616 | 1740 | NEUTRAL | 165 |
| Kimberly Birrell | -177.1 | 1580 | 1757 | NEUTRAL | 74 |
| Ye Xin Ma | -177.9 | 1515 | 1693 | WARM | 189 |
| Carole Monnet | -194.2 | 1471 | 1665 | NEUTRAL | 191 |
| Elvina Kalieva | -209.7 | 1521 | 1731 | WARM | 135 |
| Himeno Sakatsume | -218.0 | 1543 | 1761 | NEUTRAL | 127 |
| Emerson Jones | -222.0 | 1584 | 1806 | WARM | 133 |
| Dalma Galfi | -228.3 | 1486 | 1714 | NEUTRAL | 117 |
| Marina Bassols Ribera | -229.2 | 1503 | 1732 | WARM | 144 |
| Tamara Korpatsch | -240.1 | 1534 | 1774 | WARM | 79 |
| Mona Barthel | -254.2 | 1500 | 1754 | WARM | 193 |
| Polina Iatcenko | -254.5 | 1484 | 1738 | NEUTRAL | 163 |
| Sofia Costoulas | -256.1 | 1484 | 1740 | WARM | 150 |
| Vendula Valdmannova | -269.7 | 1534 | 1804 | WARM | 199 |
| Daria Snigur | -273.9 | 1589 | 1863 | WARM | 84 |
⚠ Caveat: Model CLV anti-correlated with skill (Phase A finding); treat parlays as paper.
Kalshi cross-match (independent fav parlays)
No combos surfaced.
Kalshi same-match (correlated)
No combos surfaced.
PrizePicks slips
| Label | Variance | Legs | Joint P | Payout | EV/$ |
|---|---|---|---|---|---|
| 2-pick MED-variance | MED | Barbora Krejcikova MORE 18.5 Total Games, Jeline Vandromme MORE 18.5 Total Games | 0.434 | 5.00x | 1.170 |
| 2-pick HIGH-variance | HIGH | Clement Tabur LESS 0.5 Total Tie Breaks, Anna Bondar MORE 4.5 Break Points Won | 0.360 | 10.00x | 2.605 |
| 3-pick MED-variance | MED | Barbora Krejcikova MORE 18.5 Total Games, Jeline Vandromme MORE 18.5 Total Games, Alycia Parks MORE 18.5 Total Games | 0.283 | 10.00x | 1.832 |
| 3-pick HIGH-variance | HIGH | Clement Tabur LESS 0.5 Total Tie Breaks, Anna Bondar MORE 4.5 Break Points Won, Jaume Munar MORE 3.0 Break Points Won | 0.203 | 25.00x | 4.069 |
| 4-pick MED-variance | MED | Barbora Krejcikova MORE 18.5 Total Games, Jeline Vandromme MORE 18.5 Total Games, Alycia Parks MORE 18.5 Total Games, Viktoria Hruncakova MORE 18.5 Total Games | 0.183 | 18.00x | 2.301 |
| 4-pick HIGH-variance | HIGH | Clement Tabur LESS 0.5 Total Tie Breaks, Anna Bondar MORE 4.5 Break Points Won, Jaume Munar MORE 3.0 Break Points Won, Yulia Putintseva LESS 5.5 Break Points Won | 0.107 | 50.00x | 4.376 |
⚠ Inverted CLV signal: win rate at POSITIVE CLV (0.429) < win rate at NEGATIVE CLV (0.6562). When we beat the close, we LOSE; when we lose the close, we WIN. Model is anti-correlated with skill. Real money gated.
CLV vs Pinnacle close (overall)
| n picks total | 1802 |
| matched Pinnacle | 370 (20.5%) |
| mean CLV (pp) | 16.16 |
| median CLV (pp) | 15.824 |
| win rate at +CLV | 0.429 |
| win rate at -CLV | 0.6562 |
CLV by market price bucket (FLB signal)
| Bucket | n | Mean CLV (pp) |
|---|---|---|
| <10% | 30 | 32.535 |
| 10-30% | 146 | 21.473 |
| 30-50% | 129 | 11.786 |
| 50-70% | 49 | 6.21 |
| 70-90% | 8 | 3.478 |
| >90% | 8 | 1.915 |
Calibration buckets
| n_total | 1321 |
| ECE (pp) | 4.355 |
| Brier Score | 0.2417 |
| Log Loss | 0.6762 |
Predicted vs actual (10pp buckets)
| Bucket | n | Predicted | Actual | Gap (pp) |
|---|---|---|---|---|
| 0.2-0.30 | 20 | 0.2832 | 0.35 | +6.68 |
| 0.3-0.40 | 154 | 0.3585 | 0.2792 | -7.93 |
| 0.4-0.50 | 521 | 0.4513 | 0.4319 | -1.95 |
| 0.5-0.60 | 487 | 0.5448 | 0.4949 | -4.99 |
| 0.6-0.70 | 124 | 0.6405 | 0.5806 | -5.98 |
| 0.7-0.80 | 14 | 0.7179 | 0.8571 | +13.93 |
| 0.8-0.90 | 1 | 0.8232 | 1.0 | +17.68 |
| Source | DB / file | Last pulled | Age | Rows | Status |
|---|---|---|---|---|---|
| Kalshi KXATPMATCH | tennis_kalshi.sqlite | 2026-07-13T13:09:12.268001+00:00 | 3m | 1910 | fresh |
| Kalshi KXWTAMATCH | tennis_kalshi.sqlite | 2026-07-13T13:09:12.268001+00:00 | 3m | 1902 | fresh |
| Kalshi KXFRENCHOPEN | tennis_kalshi.sqlite | 2026-07-13T13:09:12.268001+00:00 | 3m | 0 | fresh |
| Kalshi KXFOPENMENSINGLE | tennis_kalshi.sqlite | 2026-07-13T13:09:12.268001+00:00 | 3m | 0 | fresh |
| Kalshi KXATPGRANDSLAM | tennis_kalshi.sqlite | 2026-07-13T13:09:12.268001+00:00 | 3m | 14 | fresh |
| Kalshi KXUSOPEN | tennis_kalshi.sqlite | 2026-07-13T13:09:12.268001+00:00 | 3m | 0 | fresh |
| Kalshi KXATPSETWINNER | tennis_kalshi.sqlite | 2026-07-13T13:09:12.268001+00:00 | 3m | 4418 | fresh |
| Kalshi KXATPTOTALSETS | tennis_kalshi.sqlite | 2026-07-13T13:09:12.268001+00:00 | 3m | 0 | fresh |
| Kalshi KXATPSETSWEEP | tennis_kalshi.sqlite | 2026-07-13T13:09:12.268001+00:00 | 3m | 2 | fresh |
| Kalshi KXATPGAMESPREAD | tennis_kalshi.sqlite | 2026-07-13T13:09:12.268001+00:00 | 3m | 0 | fresh |
| Kalshi KXATPEXACTMATCH | tennis_kalshi.sqlite | 2026-07-13T13:09:12.268001+00:00 | 3m | 4366 | fresh |
| Kalshi KXWTADOUBLES | tennis_kalshi.sqlite | 2026-07-13T13:09:12.268001+00:00 | 3m | 266 | fresh |
| Kalshi KXATP1RANK | tennis_kalshi.sqlite | 2026-07-13T13:09:12.268001+00:00 | 3m | 16 | fresh |
| elo last computed | tennis.sqlite | 2026-06-21T17:36:52+00:00 | 523.59h | 20430 | stale |
| rankings last pulled | tennis.sqlite | 2026-06-15T17:40:18+00:00 | 667.53h | 11348 | stale |
| rankings atp latest date | tennis.sqlite | 2026-06-08 | 853.21h | — | stale |
| rankings wta latest date | tennis.sqlite | 2026-06-08 | 853.21h | — | stale |
| mirror atp schedule | tennis.sqlite | 2026-07-13T13:11:07.588343+00:00 | 1m | 146 | fresh |
| h2h last computed | tennis.sqlite | 2026-05-17T10:11:57.514615+00:00 | 1371.01h | — | stale |
| h2h n pairs | tennis.sqlite | 190184 | missing | — | missing |
| last player db run | tennis.sqlite | 1783948288 | missing | — | missing |
| results last_run | tennis_results.sqlite | [2026-07-13T13:11:10.172251+00:00] 2026-07-13T13:11:07.912458+00:00; dates=['20260712']; rows=1178; resolved=1157 | missing | — | missing |
| pp_edges CSV | pp_edges_tennis_2026-07-13.csv | 2026-07-13T13:11:43.511669+00:00 | 0m | — | fresh |
| kalshi edges JSON | tennis_kalshi_edges_2026-07-13.json | 2026-07-13T13:11:36.397105+00:00 | 0m | — | fresh |
| paper trades PP | paper_trades_pp_tennis_2026-07-13.json | 2026-07-13T13:11:55.570210+00:00 | 0m | — | fresh |
| paper trades Kalshi | paper_trades_kalshi_tennis_2026-07-13.json | 2026-07-13T13:11:56.042500+00:00 | 0m | — | fresh |
| daily payload | daily_tennis_2026-07-13.json | 2026-07-13T13:11:59.319407+00:00 | 0m | — | fresh |
| PP movement | pp_line_movement_tennis_2026-07-13.csv | 2026-07-13T13:11:58.795652+00:00 | 0m | — | fresh |
| PP calibration | pp_calibration_tennis.json | 2026-07-13T13:11:58.716655+00:00 | 0m | — | fresh |