Kalshi KXATPMATCH 1m · 1792rKalshi KXWTAMATCH 1m · 1676rKalshi KXFRENCHOPEN 1mKalshi KXFOPENMENSINGLE 1mKalshi KXATPGRANDSLAM 1m · 14rKalshi KXUSOPEN 1mKalshi KXATPSETWINNER 1m · 3722rKalshi KXATPTOTALSETS 1mKalshi KXATPSETSWEEP 1m · 1rKalshi KXATPGAMESPREAD 1mKalshi KXATPEXACTMATCH 1m · 1816rKalshi KXWTADOUBLES 1m · 124rKalshi KXATP1RANK 1m · 16relo last computed 2m · 20280rrankings last pulled 1m · 7538rrankings atp latest date 6drankings wta latest date 6dmirror atp schedule 0m · 61rh2h last computed 14dh2h 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
4
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
0
filtered out today
Last refresh
17:42
2026-05-31 UTC
🏆 Best Bet (main-draw)
No main-draw Kalshi pick survived qualifying filter today.
🎯 Safest (P ≥ 65%)
Madison Keys
69%
Heavy main-draw favorite · PAPER
Edge +10.2pp
Ask 59¢
Ask 59¢
💎 Biggest Payout (ELITE)
No ELITE main-draw longshot today.
| # | Match | Tournament | Round | Surface | Start | ELO A | ELO B | ELO diff | Kalshi event |
|---|---|---|---|---|---|---|---|---|---|
| 1 | Jakub Mensik vs Andrey Rublev | Roland Garros | Round 4 | clay | May 31 17:25 | 1576 | 1685 | -109 | KXATPSETWINNER-26MAY31MENRUB-1 |
| 2 | Jakub Mensik vs Andrey Rublev | Roland Garros | Round 4 | clay | May 31 17:25 | 1576 | 1685 | -109 | KXATPSETWINNER-26MAY31MENRUB-1 |
| 3 | Casper Ruud vs Joao Fonseca | Roland Garros | Round 4 | clay | May 31 18:15 | 1793 | 1628 | +166 | KXATPSETWINNER-26MAY31RUUFON-2 |
| 4 | Casper Ruud vs Joao Fonseca | Roland Garros | Round 4 | clay | May 31 18:15 | 1793 | 1628 | +166 | KXATPSETWINNER-26MAY31RUUFON-2 |
| # | Match | Our pick | Our P | Mkt P | Ask | Edge | Tier | Decision | Vol 24h | Surface | Round | EV/$ |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1 | Mirra Andreeva vs Sorana Cirstea | Mirra Andreeva | 60.2% | 93.0% | 93¢ | -32.8pp | LOW | PAPER | 0 | clay | Quarterfinal | -0.328 |
| 2 | Casper Ruud vs Joao Fonseca | Joao Fonseca | 58.3% | 38.0% | 38¢ | +20.3pp | LOW | PAPER | 374158 | hard | Round Of 16 | +0.203 |
| 3 | Naomi Osaka vs Aryna Sabalenka | Naomi Osaka | 39.5% | 20.0% | 20¢ | +19.5pp | LOW | PAPER | 37372 | clay | Round 4 | +0.195 |
| 4 | Zachary Svajda vs Flavio Cobolli | Zachary Svajda | 30.9% | 15.0% | 15¢ | +15.9pp | LOW | PAPER | 72913 | clay | Round 4 | +0.159 |
| 5 | Juan Manuel Cerundolo vs Matteo Berrettini | Juan Manuel Cerundolo | 55.1% | 42.0% | 42¢ | +13.2pp | LOW | PAPER | 19752 | clay | Round 4 | +0.132 |
| 6 | Alexander Zverev vs Rafael Jodar | Rafael Jodar | 40.3% | 28.0% | 28¢ | +12.3pp | LOW | PAPER | 463 | hard | Quarterfinal | +0.123 |
| 7 | Madison Keys vs Diana Shnaider | Madison Keys | 69.2% | 59.0% | 59¢ | +10.2pp | LOW | PAPER | 14351 | clay | Round 4 | +0.102 |
| 8 | Frances Tiafoe vs Matteo Arnaldi | Frances Tiafoe | 61.6% | 53.0% | 53¢ | +8.6pp | LOW | PAPER | 29977 | hard | Round Of 16 | +0.086 |
| 9 | Elina Svitolina vs Marta Kostyuk | Elina Svitolina | 53.7% | 47.0% | 47¢ | +6.7pp | LOW | PAPER | 2463 | clay | Quarterfinal | +0.067 |
| 10 | Diane Parry vs Maja Chwalinska | Maja Chwalinska | 66.8% | 63.0% | 63¢ | +3.9pp | LOW | SKIP | 5137 | clay | Round 4 | +0.038 |
| 11 | Anna Kalinskaya vs Anastasia Potapova | Anna Kalinskaya | 38.0% | 36.0% | 36¢ | +2.0pp | LOW | SKIP | 5501 | clay | Round 4 | +0.020 |
| 12 | Jakub Mensik vs Andrey Rublev | Andrey Rublev | 45.4% | 44.0% | 44¢ | +1.4pp | LOW | SKIP | 1367850 | hard | Round Of 16 | +0.014 |
| 13 | Felix Auger-Aliassime vs Alejandro Tabilo | Alejandro Tabilo | 38.0% | 37.0% | 37¢ | +1.0pp | LOW | SKIP | 24018 | hard | Round Of 16 | +0.010 |
| # | Player | Stat | PP line | Our proj | Edge % | Side | Tier | Opp | Surface | Demon | Payout |
|---|---|---|---|---|---|---|---|---|---|---|---|
| 1 | Felix Auger-Aliassime🟨 WARM | Total Games Won | 20.5 | 9.85 | +52.0% | LESS | LOW | Alejandro Tabilo | clay | — | 0.5x |
| 2 | Matteo Berrettini | Total Games Won | 20.5 | 10.01 | +51.2% | LESS | LOW | Juan Manuel Cerundolo | clay | — | 0.5x |
| 3 | Alexander Zverev🟨 WARM | Total Tie Breaks | 0.5 | 0.25 | +50.1% | LESS | LOW | Rafael Jodar | clay | — | 1.0x |
| 4 | Frances Tiafoe⏳ RTRN | Total Games Won | 19.5 | 10.41 | +46.6% | LESS | LOW | Matteo Arnaldi | clay | — | 0.5x |
| 5 | Matteo Arnaldi🟨 WARM | Total Games Won | 19.5 | 10.52 | +46.1% | LESS | LOW | Frances Tiafoe | clay | — | 0.5x |
| 6 | Casper Ruud🟨 WARM | Total Games Won | 20.5 | 11.60 | +43.4% | LESS | LOW | Joao Fonseca | clay | — | 0.5x |
| 7 | Juan Manuel Cerundolo🟨 WARM | Total Games Won | 19.5 | 11.07 | +43.2% | LESS | LOW | Matteo Berrettini | clay | — | 0.5x |
| 8 | Alejandro Tabilo🟨 WARM | Total Games Won | 19.5 | 11.13 | +42.9% | LESS | LOW | Felix Auger-Aliassime | clay | — | 0.5x |
| 9 | Priscilla Hon | Total Games Won | 7.5 | 10.46 | +39.5% | MORE | LOW | Alexandra Eala | clay | — | 1.0x |
| 10 | Felix Auger-Aliassime🟨 WARM | Total Games | 39.5 | 25.01 | +36.7% | LESS | LOW | Alejandro Tabilo | clay | — | 0.5x |
| 11 | Zachary Svajda🧊 COLD | Total Games Won | 13.5 | 8.55 | +36.6% | LESS | LOW | Flavio Cobolli | clay | — | 0.5x |
| 12 | Casper Ruud🟨 WARM | Total Games | 38.5 | 24.49 | +36.4% | LESS | LOW | Joao Fonseca | clay | — | 0.5x |
| 13 | Frances Tiafoe⏳ RTRN | Total Games | 39.5 | 25.17 | +36.3% | LESS | LOW | Matteo Arnaldi | clay | — | 0.5x |
| 14 | Matteo Berrettini | Total Games | 38.5 | 25.05 | +34.9% | LESS | LOW | Juan Manuel Cerundolo | clay | — | 0.5x |
| 15 | Elvina Kalieva🟨 WARM | Total Games Won | 8.5 | 11.42 | +34.4% | MORE | LOW | Talia Gibson | clay | — | 1.0x |
| 16 | Alexander Zverev🟨 WARM | Total Games | 37.5 | 25.08 | +33.1% | LESS | LOW | Rafael Jodar | clay | — | 0.5x |
| 17 | Ajla Tomljanovic🧊 COLD | Total Games Won | 12.5 | 8.51 | +31.9% | LESS | LOW | Katie Swan | clay | — | 1.0x |
| 18 | Taylah Preston🟨 WARM | Total Games Won | 12.5 | 8.52 | +31.8% | LESS | LOW | Alicia Dudeney | clay | — | 1.0x |
| 19 | Flavio Cobolli🟨 WARM | Total Sets | 3.5 | 2.43 | +30.7% | LESS | LOW | Zachary Svajda | clay | — | 1.0x |
| 20 | Flavio Cobolli🟨 WARM | Total Games | 32.5 | 23.43 | +27.9% | LESS | LOW | Zachary Svajda | clay | — | 0.5x |
| 21 | Alexandra Eala | Total Games | 19.5 | 24.24 | +24.3% | MORE | LOW | Priscilla Hon | clay | — | 1.0x |
| 22 | Diane Parry🧊 COLD | Total Games Won | 11.5 | 8.75 | +23.9% | LESS | LOW | Maja Chwalinska | clay | — | 0.5x |
| 23 | Talia Gibson | Total Games | 19.5 | 23.75 | +21.8% | MORE | LOW | Elvina Kalieva | clay | — | 1.0x |
| 24 | Katie Swan🧊 COLD | Total Games Won | 9.5 | 11.43 | +20.3% | MORE | LOW | Ajla Tomljanovic | clay | — | 1.0x |
| 25 | Mary Stoiana🟨 WARM | Total Games Won | 9.5 | 11.30 | +19.0% | MORE | LOW | Lulu Sun | clay | — | 1.0x |
| 26 | Anna Kalinskaya | Total Games Won | 11.5 | 9.33 | +18.9% | LESS | LOW | Anastasia Potapova | clay | — | 0.5x |
| 27 | Felix Auger-Aliassime🟨 WARM | Break Points Won | 4.0 | 3.26 | +18.4% | LESS | LOW | Alejandro Tabilo | clay | — | 1.0x |
| 28 | Naomi Osaka🟨 WARM | Aces | 3.5 | 2.86 | +18.3% | LESS | LOW | Aryna Sabalenka | clay | — | 0.5x |
| 29 | Lulu Sun🧊 COLD | Total Games | 20.5 | 24.07 | +17.4% | MORE | LOW | Mary Stoiana | clay | — | 1.0x |
| 30 | Emerson Jones🟨 WARM | Total Games | 20.5 | 23.62 | +15.2% | MORE | LOW | Mika Stojsavljevic | clay | — | 1.0x |
| 31 | Aryna Sabalenka🟨 WARM | Total Games | 20.5 | 23.60 | +15.1% | MORE | LOW | Naomi Osaka | clay | — | 0.5x |
| 32 | Tatjana Maria | Total Games Won | 12.5 | 10.65 | +14.8% | LESS | LOW | Linda Fruhvirtova | clay | — | 1.0x |
| 33 | Mika Stojsavljevic🧊 COLD | Total Games Won | 10.5 | 8.96 | +14.6% | LESS | LOW | Emerson Jones | clay | — | 1.0x |
| 34 | Juan Manuel Cerundolo🟨 WARM | Aces | 7.5 | 6.41 | +14.5% | LESS | LOW | Matteo Berrettini | clay | — | 0.5x |
| 35 | Hanne Vandewinkel🧊 COLD | Total Games | 21.5 | 24.49 | +13.9% | MORE | LOW | Kayla Day | clay | — | 1.0x |
| 36 | Marta Kostyuk🟨 WARM | Total Games | 21.5 | 24.40 | +13.5% | MORE | LOW | Elina Svitolina | clay | — | 0.5x |
| 37 | Tatjana Maria | Total Games | 21.5 | 24.36 | +13.3% | MORE | LOW | Linda Fruhvirtova | clay | — | 1.0x |
| 38 | Madison Keys⏳ RTRN | Total Games | 21.5 | 24.13 | +12.2% | MORE | LOW | Diana Shnaider | clay | — | 0.5x |
| 39 | Elina Svitolina | Break Points Won | 4.5 | 5.05 | +12.2% | MORE | LOW | Marta Kostyuk | clay | — | 1.0x |
| 40 | Naomi Osaka🟨 WARM | Total Games Won | 8.5 | 9.50 | +11.8% | MORE | LOW | Aryna Sabalenka | clay | — | 0.5x |
| 41 | Alicia Dudeney🟨 WARM | Total Games Won | 11.5 | 12.48 | +8.5% | MORE | LOW | Taylah Preston | clay | — | 1.0x |
| 42 | Anastasia Potapova🟨 WARM | Total Games | 21.5 | 23.33 | +8.5% | MORE | LOW | Anna Kalinskaya | clay | — | 0.5x |
| 43 | Maja Chwalinska⏳ RTRN | Total Games | 21.5 | 23.32 | +8.4% | MORE | LOW | Diane Parry | clay | — | 0.5x |
| 44 | Aryna Sabalenka🟨 WARM | Total Games Won | 12.5 | 11.49 | +8.0% | LESS | LOW | Naomi Osaka | clay | — | 1.0x |
| 45 | Anastasia Potapova🟨 WARM | Total Games Won | 12.5 | 11.64 | +6.9% | LESS | LOW | Anna Kalinskaya | clay | — | 0.5x |
| 46 | Harriet Dart🟨 WARM | Total Games | 20.5 | 21.64 | +5.5% | MORE | LOW | Nikola Bartunkova | clay | — | 1.0x |
| 47 | Taylah Preston🟨 WARM | Total Games | 21.5 | 20.41 | +5.1% | LESS | LOW | Alicia Dudeney | clay | — | 1.0x |
| 48 | Ajla Tomljanovic🧊 COLD | Total Games | 21.5 | 22.38 | +4.1% | MORE | LOW | Katie Swan | clay | — | 1.0x |
| 49 | Marta Kostyuk🟨 WARM | Break Points Won | 5.0 | 4.80 | +3.9% | LESS | LOW | Elina Svitolina | clay | — | 1.0x |
| 50 | Frances Tiafoe⏳ RTRN | Break Points Won | 3.5 | 3.40 | +2.8% | LESS | LOW | Matteo Arnaldi | clay | — | 1.0x |
| 51 | Matteo Arnaldi🟨 WARM | Break Points Won | 3.5 | 3.45 | +1.4% | LESS | LOW | Frances Tiafoe | clay | — | 1.0x |
Kalshi tennis — 0 picks · $0.00 staked
Day 1 - paper only, grade EOD before scaling · locked 2026-05-31T13:15:40.024588+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-05-31T13:15:39.965562+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-05-31T10:42:37 · flagged threshold = ±3.0pp · 7 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 |
|---|---|---|---|---|
| Karen Khachanov · exact | 44.0% | 0.5% | -43.5pp · SHARP HIGHER | Wim 1% |
| Lorenzo Musetti · exact | 45.5% | 2.1% | -43.4pp · SHARP HIGHER | Wim 1%, US 1% |
| Alex de Minaur · exact | 44.0% | 0.8% | -43.2pp · SHARP HIGHER | Wim 1% |
| Felix Auger-Aliassime · exact | 42.5% | 1.0% | -41.5pp · SHARP HIGHER | Wim 1% |
| Casper Ruud · exact | 33.0% | 13.4% | -19.6pp · SHARP HIGHER | Fre 13%, Wim 1% |
| Novak Djokovic · exact | 10.5% | 18.7% | +8.2pp · PUBLIC HIGHER | Wim 14%, US 6% |
| Jannik Sinner · exact | 80.5% | 74.6% | -5.9pp · SHARP HIGHER | Wim 52%, US 46% |
| Alexander Bublik · exact | 4.0% | 1.3% | -2.7pp · SHARP HIGHER | Wim 1%, US 1% |
| Daniil Medvedev · exact | 8.5% | 6.4% | -2.1pp · SHARP HIGHER | Wim 3%, US 3% |
| Alexander Zverev · exact | 45.0% | 46.5% | +1.5pp · PUBLIC HIGHER | Fre 40%, Wim 6%, US 4% |
| Jack Draper · exact | 4.0% | 4.6% | +0.6pp · PUBLIC HIGHER | Wim 3%, US 2% |
| Taylor Fritz · exact | 5.0% | 4.6% | -0.4pp · SHARP HIGHER | Wim 3%, US 2% |
| Ben Shelton · exact | 4.0% | 4.4% | +0.4pp · PUBLIC HIGHER | Wim 2%, US 2% |
| Frances Tiafoe · exact | 4.5% | 4.6% | +0.1pp · PUBLIC HIGHER | Fre 3%, Wim 1%, US 1% |
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>.md| # | Player | Stat | Opp | Open | Latest | Diff | Abs | Direction |
|---|---|---|---|---|---|---|---|---|
| 1 | Mary Stoiana | Total Games Won | Lulu Sun | 11.5 | 9.5 | -2.00 | 2.00 | DOWN |
| 2 | Frances Tiafoe | Total Games | Matteo Arnaldi | 38.5 | 39.5 | +1.00 | 1.00 | UP |
| 3 | Priscilla Hon | Total Games Won | Alexandra Eala | 8.5 | 7.5 | -1.00 | 1.00 | DOWN |
| 4 | Alicia Dudeney | Total Games Won | Taylah Preston | 10.5 | 11.5 | +1.00 | 1.00 | UP |
| 5 | Mika Stojsavljevic | Total Games Won | Emerson Jones | 11.5 | 10.5 | -1.00 | 1.00 | DOWN |
ATP top 50
| Rk | Player | Country | Pts | ELO overall | ELO clay | ELO grass | ELO hard |
|---|---|---|---|---|---|---|---|
| 1 | Jannik Sinner | ITA | 14750 | 2188 | 1893 | 1695 | 2062 |
| 2 | Carlos Alcaraz | ESP | 11960 | 2070 | 1867 | 1717 | 1956 |
| 3 | Alexander Zverev | GER | 5705 | 1953 | 1817 | 1594 | 1863 |
| 4 | Novak Djokovic | SRB | 4460 | 1938 | 1727 | 1636 | 1846 |
| 5 | Ben Shelton | USA | 4070 | 1819 | 1663 | 1561 | 1765 |
| 6 | Felix Auger Aliassime | CAN | 4050 | 1835 | 1595 | 1517 | 1803 |
| 7 | Alex De Minaur | AUS | 3855 | 1847 | 1675 | 1590 | 1806 |
| 8 | Daniil Medvedev | RUS | 3760 | 1903 | 1684 | 1585 | 1845 |
| 9 | Taylor Fritz | USA | 3720 | 1808 | 1566 | 1722 | 1749 |
| 10 | Alexander Bublik | KAZ | 3320 | 1804 | 1699 | 1569 | 1703 |
| 11 | Lorenzo Musetti | ITA | 3115 | 1832 | 1764 | 1607 | 1723 |
| 12 | Jiri Lehecka | CZE | 2665 | 1830 | 1648 | 1574 | 1754 |
| 13 | Andrey Rublev | RUS | 2460 | 1788 | 1685 | 1516 | 1683 |
| 14 | Flavio Cobolli | ITA | 2340 | 1775 | 1704 | 1557 | 1655 |
| 15 | Karen Khachanov | RUS | 2320 | 1717 | 1607 | 1567 | 1639 |
| 16 | Casper Ruud | NOR | 2275 | 1851 | 1793 | 1502 | 1685 |
| 17 | Luciano Darderi | ITA | 2260 | 1781 | 1802 | 1466 | 1466 |
| 18 | Learner Tien | USA | 2180 | 1847 | 1593 | 1506 | 1789 |
| 19 | Valentin Vacherot | MON | 2103 | 1810 | 1702 | 1467 | 1738 |
| 20 | Arthur Fils | FRA | 2040 | 1892 | 1746 | 1546 | 1771 |
| 21 | Tommy Paul | USA | 1945 | 1851 | 1761 | 1587 | 1743 |
| 22 | Frances Tiafoe | USA | 1905 | 1757 | 1610 | 1488 | 1719 |
| 23 | Alejandro Davidovich Fokina | ESP | 1860 | 1755 | 1585 | 1545 | 1703 |
| 24 | Cameron Norrie | GBR | 1785 | 1749 | 1639 | 1529 | 1682 |
| 25 | Arthur Rinderknech | FRA | 1736 | 1716 | 1574 | 1530 | 1631 |
| 26 | Francisco Cerundolo | ARG | 1570 | 1791 | 1711 | 1426 | 1698 |
| 27 | Jakub Mensik | CZE | 1550 | 1770 | 1576 | 1497 | 1747 |
| 28 | Tomas Martin Etcheverry | ARG | 1510 | 1768 | 1671 | 1456 | 1636 |
| 29 | Rafael Jodar | ESP | 1461 | 1878 | 1730 | — | 1765 |
| 30 | Joao Fonseca | BRA | 1435 | 1803 | 1628 | 1495 | 1795 |
| 31 | Ignacio Buse | PER | 1412 | 1785 | 1746 | 1482 | 1562 |
| 32 | Ugo Humbert | FRA | 1370 | 1722 | 1501 | 1517 | 1697 |
| 33 | Tallon Griekspoor | NED | 1340 | 1693 | 1587 | 1564 | 1645 |
| 34 | Corentin Moutet | FRA | 1323 | 1685 | 1576 | 1574 | 1640 |
| 35 | Brandon Nakashima | USA | 1295 | 1702 | 1571 | 1590 | 1660 |
| 36 | Alejandro Tabilo | CHI | 1278 | 1781 | 1691 | 1575 | 1637 |
| 37 | Alexander Blockx | BEL | 1238 | 1824 | 1695 | 1508 | 1713 |
| 38 | Mariano Navone | ARG | 1215 | 1773 | 1737 | 1460 | 1507 |
| 39 | Denis Shapovalov | CAN | 1170 | 1679 | 1491 | 1472 | 1698 |
| 40 | Zizou Bergs | BEL | 1150 | 1691 | 1558 | 1521 | 1631 |
| 41 | Jaume Munar | ESP | 1145 | 1707 | 1598 | 1508 | 1635 |
| 42 | Alex Michelsen | USA | 1115 | 1712 | 1493 | 1538 | 1702 |
| 43 | Tomas Machac | CZE | 1080 | 1740 | 1596 | 1500 | 1682 |
| 44 | Holger Rune | DEN | 1060 | 1744 | 1663 | 1515 | 1710 |
| 45 | Adrian Mannarino | FRA | 1037 | 1572 | 1380 | 1584 | 1569 |
| 46 | Marin Cilic | CRO | 1010 | 1708 | 1534 | 1611 | 1635 |
| 47 | Sebastian Korda | USA | 1000 | 1806 | 1537 | 1556 | 1757 |
| 48 | Miomir Kecmanovic | SRB | 980 | 1691 | 1585 | 1500 | 1595 |
| 49 | Gabriel Diallo | CAN | 975 | 1651 | 1554 | 1576 | 1615 |
| 50 | Ethan Quinn | USA | 974 | 1711 | 1580 | 1509 | 1683 |
WTA top 50
| Rk | Player | Country | Pts | ELO overall | ELO clay | ELO grass | ELO hard |
|---|---|---|---|---|---|---|---|
| 1 | Aryna Sabalenka | BLR | 9960 | 2098 | 1789 | 1588 | 2045 |
| 2 | Elena Rybakina | KAZ | 8313 | 2057 | 1771 | 1580 | 1972 |
| 3 | Iga Swiatek | POL | 7273 | 1951 | 1802 | 1658 | 1852 |
| 4 | Coco Gauff | USA | 6749 | 1987 | 1826 | 1519 | 1871 |
| 5 | Jessica Pegula | USA | 6286 | 1999 | 1728 | 1583 | 1901 |
| 6 | Amanda Anisimova | USA | 5958 | 1916 | 1561 | 1638 | 1822 |
| 7 | Elina Svitolina | UKR | 4315 | 1983 | 1797 | 1550 | 1824 |
| 8 | Mirra Andreeva | RUS | 4181 | 1941 | 1808 | 1513 | 1797 |
| 9 | Victoria Mboko | CAN | 3710 | 1938 | 1720 | 1515 | 1891 |
| 10 | Karolina Muchova | CZE | 3318 | 1935 | 1587 | 1494 | 1869 |
| 11 | Belinda Bencic | SUI | 3145 | 1888 | 1582 | 1561 | 1831 |
| 12 | Linda Noskova | CZE | 3054 | 1887 | 1613 | 1583 | 1763 |
| 13 | Jasmine Paolini | ITA | 2787 | 1813 | 1699 | 1585 | 1741 |
| 14 | Ekaterina Alexandrova | RUS | 2679 | 1722 | 1566 | 1584 | 1662 |
| 15 | Marta Kostyuk | UKR | 2387 | 1924 | 1757 | 1449 | 1755 |
| 16 | Naomi Osaka | JPN | 2341 | 1831 | 1650 | 1514 | 1734 |
| 17 | Iva Jovic | USA | 2306 | 1825 | 1662 | 1601 | 1759 |
| 18 | Sorana Cirstea | ROU | 1985 | 1901 | 1670 | 1429 | 1797 |
| 19 | Madison Keys | USA | 1962 | 1844 | 1719 | 1558 | 1766 |
| 20 | Clara Tauson | DEN | 1920 | 1726 | 1542 | 1520 | 1679 |
| 21 | Elise Mertens | BEL | 1858 | 1818 | 1616 | 1581 | 1714 |
| 22 | Leylah Fernandez | CAN | 1844 | 1773 | 1582 | 1546 | 1679 |
| 23 | Diana Shnaider | RUS | 1796 | 1785 | 1640 | 1565 | 1686 |
| 24 | Anna Kalinskaya | RUS | 1792 | 1798 | 1562 | 1546 | 1721 |
| 25 | Emma Navarro | USA | 1719 | 1755 | 1649 | 1590 | 1613 |
| 26 | Hailey Baptiste | USA | 1683 | 1790 | 1668 | 1488 | 1667 |
| 27 | Liudmila Samsonova | RUS | 1635 | 1692 | 1603 | 1619 | 1566 |
| 28 | Marie Bouzkova | CZE | 1631 | 1777 | 1689 | 1476 | 1648 |
| 29 | Ann Li | USA | 1601 | 1762 | 1652 | 1478 | 1647 |
| 30 | Anastasia Potapova | RUS | 1470 | 1835 | 1732 | 1484 | 1640 |
| 31 | Jelena Ostapenko | LAT | 1464 | 1766 | 1666 | 1534 | 1621 |
| 32 | Jaqueline Cristian | ROU | 1414 | 1782 | 1647 | 1432 | 1698 |
| 33 | Cristina Bucsa | ESP | 1406 | 1716 | 1454 | 1514 | 1684 |
| 34 | Xin Yu Wang | CHN | 1371 | 1715 | 1522 | 1591 | 1616 |
| 35 | Sara Bejlek | CZE | 1369 | 1785 | 1739 | 1486 | 1653 |
| 36 | Katerina Siniakova | CZE | 1362 | 1765 | 1546 | 1578 | 1693 |
| 37 | Alexandra Eala | PHI | 1340 | 1790 | 1504 | 1600 | 1748 |
| 38 | Elisabetta Cocciaretto | ITA | 1320 | 1812 | 1607 | 1577 | 1689 |
| 39 | Emma Raducanu | GBR | 1301 | 1739 | 1554 | 1577 | 1658 |
| 40 | Janice Tjen | INA | 1292 | 1799 | 1650 | — | 1785 |
| 41 | Barbora Krejcikova | CZE | 1271 | 1754 | 1561 | 1606 | 1647 |
| 42 | Tereza Valentova | CZE | 1265 | 1846 | 1745 | 1517 | 1788 |
| 43 | Lois Boisson | FRA | 1264 | 1768 | 1759 | 1483 | 1554 |
| 44 | Marketa Vondrousova | CZE | 1263 | 1728 | 1606 | 1578 | 1609 |
| 45 | Dayana Yastremska | UKR | 1246 | 1753 | 1650 | 1575 | 1594 |
| 46 | Magdalena Frech | POL | 1238 | 1651 | 1521 | 1434 | 1613 |
| 47 | Laura Siegemund | GER | 1230 | 1698 | 1565 | 1541 | 1592 |
| 48 | Mccartney Kessler | USA | 1229 | 1750 | 1541 | 1583 | 1688 |
| 49 | Maria Sakkari | GRE | 1208 | 1707 | 1568 | 1486 | 1658 |
| 50 | Jessica Bouzas Maneiro | ESP | 1200 | 1697 | 1663 | 1524 | 1578 |
| Source | DB / file | Last pulled | Age | Rows | Status |
|---|---|---|---|---|---|
| Kalshi KXATPMATCH | tennis_kalshi.sqlite | 2026-05-31T17:40:34.127724+00:00 | 1m | 1792 | fresh |
| Kalshi KXWTAMATCH | tennis_kalshi.sqlite | 2026-05-31T17:40:34.127724+00:00 | 1m | 1676 | fresh |
| Kalshi KXFRENCHOPEN | tennis_kalshi.sqlite | 2026-05-31T17:40:34.127724+00:00 | 1m | 0 | fresh |
| Kalshi KXFOPENMENSINGLE | tennis_kalshi.sqlite | 2026-05-31T17:40:34.127724+00:00 | 1m | 0 | fresh |
| Kalshi KXATPGRANDSLAM | tennis_kalshi.sqlite | 2026-05-31T17:40:34.127724+00:00 | 1m | 14 | fresh |
| Kalshi KXUSOPEN | tennis_kalshi.sqlite | 2026-05-31T17:40:34.127724+00:00 | 1m | 0 | fresh |
| Kalshi KXATPSETWINNER | tennis_kalshi.sqlite | 2026-05-31T17:40:34.127724+00:00 | 1m | 3722 | fresh |
| Kalshi KXATPTOTALSETS | tennis_kalshi.sqlite | 2026-05-31T17:40:34.127724+00:00 | 1m | 0 | fresh |
| Kalshi KXATPSETSWEEP | tennis_kalshi.sqlite | 2026-05-31T17:40:34.127724+00:00 | 1m | 1 | fresh |
| Kalshi KXATPGAMESPREAD | tennis_kalshi.sqlite | 2026-05-31T17:40:34.127724+00:00 | 1m | 0 | fresh |
| Kalshi KXATPEXACTMATCH | tennis_kalshi.sqlite | 2026-05-31T17:40:34.127724+00:00 | 1m | 1816 | fresh |
| Kalshi KXWTADOUBLES | tennis_kalshi.sqlite | 2026-05-31T17:40:34.127724+00:00 | 1m | 124 | fresh |
| Kalshi KXATP1RANK | tennis_kalshi.sqlite | 2026-05-31T17:40:34.127724+00:00 | 1m | 16 | fresh |
| elo last computed | tennis.sqlite | 2026-05-31T17:40:30+00:00 | 2m | 20280 | fresh |
| rankings last pulled | tennis.sqlite | 2026-05-31T17:40:33+00:00 | 1m | 7538 | fresh |
| rankings atp latest date | tennis.sqlite | 2026-05-25 | 161.71h | — | stale |
| rankings wta latest date | tennis.sqlite | 2026-05-25 | 161.71h | — | stale |
| mirror atp schedule | tennis.sqlite | 2026-05-31T17:42:04.680763+00:00 | 0m | 61 | fresh |
| h2h last computed | tennis.sqlite | 2026-05-17T10:11:57.514615+00:00 | 343.51h | — | stale |
| h2h n pairs | tennis.sqlite | 190184 | missing | — | missing |
| last player db run | tennis.sqlite | 1780249341 | missing | — | missing |
| results last_run | tennis_results.sqlite | [2026-05-31T17:42:07.116667+00:00] 2026-05-31T17:42:05.017202+00:00; dates=['20260530']; rows=896; resolved=862 | missing | — | missing |
| pp_edges CSV | pp_edges_tennis_2026-05-31.csv | 2026-05-31T17:42:25.571081+00:00 | 0m | — | fresh |
| kalshi edges JSON | tennis_kalshi_edges_2026-05-31.json | 2026-05-31T17:42:23.601014+00:00 | 0m | — | fresh |
| paper trades PP | paper_trades_pp_tennis_2026-05-31.json | 2026-05-31T17:42:28.169554+00:00 | 0m | — | fresh |
| paper trades Kalshi | paper_trades_kalshi_tennis_2026-05-31.json | 2026-05-31T17:42:28.614569+00:00 | 0m | — | fresh |
| daily payload | daily_tennis_2026-05-31.json | 2026-05-31T17:42:29.278800+00:00 | 0m | — | fresh |
| PP movement | pp_line_movement_tennis_2026-05-31.csv | 2026-05-31T17:42:28.817538+00:00 | 0m | — | fresh |
| PP calibration | pp_calibration_tennis.json | 2026-05-31T17:42:28.741795+00:00 | 0m | — | fresh |