Search

Janet Ha

Portland, OR
3.5C year-end 2025
161 matches · 105W–56L · seasons 20192026
Bump probability
3.03.54.0lowhigh

Where this rating stands today. Taller means more likely. The dashed lines are the band edges, and the three shaded areas are the three percentages below.

3.28
estimated dynamic rating
Where the rating sits now, on 27 matches this season · USTA never publishes this number
0%
down to 3.0
100%
stay 3.5
0%
up to 4.0

A 3.5 runs from 3.01 to 3.50. This rating sits in the middle of the band, and every match moves it.

Our estimate, not a USTA figure — scale measured at this point of 2023 on 2160 players. Graded publicly in December when USTA publishes year-end ratings. It moves when you play, and occasionally when we improve the model.

Where you rank
Portland · 3.5
168 of 399
OR · 3.5
339 of 735

Janet is ranked among players at the same level in the same place, by our estimated dynamic rating — not the published level, which is the same for everyone in the band. Groups smaller than five are not ranked, because a placing out of two is noise dressed as standing.

Teams36 teams · 2019–2027
Over timerating by season, and how you rank
Rating by season

Janet has played at 2.5, 3.0, 3.5 across 7 seasons — 2 moves up and 0 down.

2.02.53.03.52019202020222023202420252026

The line is our estimate; the horizontal lines are level boundaries, so crossing one is a bump. Hollow points are years we inferred from the level played the following season, because USTA publishes a current rating but no history. The smaller, faded points — 2020 — rest on fewer than 5 matches, where the estimate is mostly the level the player was entered at rather than anything they did on court. Read the shape, not the value.

How you rank at your level
At 3.5, Janet has gone from the 40th to the 36th percentile of players at that level, 2024 to 2026.

Percentile compares the same level in the same season, by share of games won. Mixed is shown for context — USTA rules exclude it from your adult rating unless mixed is all you play.

By level5 levels played
2.5
1W–0L
not enough matches yet
3.0
59.6%
31W–21L · 53.3% of games
3.5
44.8%
13W–16L · 51.1% of games
6.0mixed
85.7%
30W–5L · 62.3% of games
7.0mixed
73.7%
14W–5L · 54.3% of games

Games won matters more than matches won — NTRP adjusts on margins.

Match history161 matches
L
2026-07-20 · Ha · #1 Doubles · 3.5 · with Parul Saxena
0.020below expectation — took 48% of games against 56% expected
5-7, 6-4, 1-0
L
2026-07-19 · Ha · #1 Doubles · 3.5 · with Parul Saxena
0.001about as expected — took 43% of games against 44% expected
6-3, 6-7, 1-0
L
2026-07-01 · Ha · #1 Doubles · 3.5 · with Parul Saxena
0.008below expectation — took 38% of games against 43% expected
6-3, 7-5
W
2026-06-28 · WHRC-Ha · #1 Doubles · 7.0 · with Daniel M Kim
+0.000better than expected — took 71% of games against 56% expected
6-2, 6-3
W
2026-06-26 · WHRC-Ha · #1 Doubles · 7.0 · with Doyoung Moon
+0.000better than expected — took 65% of games against 58% expected
7-6, 6-1
L
2026-06-25 · Ha · #1 Doubles · 3.5 · with Vivian Nguyen
+0.002about as expected — took 37% of games against 39% expected
6-3, 6-4
W
2026-06-06 · WHRC-Webb · #1 Doubles · 3.5 · with JaReda Webb
+0.048better than expected — took 65% of games against 43% expected
7-6, 6-1
L
2026-05-30 · WHRC-Webb · #1 Doubles · 3.5 · with Parul Saxena
0.024below expectation — took 14% of games against 34% expected
6-0, 6-2
W
2026-05-17 · WHRC-Webb · #1 Doubles · 3.5 · with Woohyung Kim
0.011below expectation — took 53% of games against 58% expected
6-2, 2-6, 1-0
L
2026-04-24 · WHRC-Webb · #2 Doubles · 3.5 · with Mihye Ko
0.002about as expected — took 37% of games against 40% expected
6-4, 6-3
L
2026-04-17 · WHRC-Webb · #2 Doubles · 3.5 · with Mihye Ko
0.006about as expected — took 53% of games against 53% expected
2-6, 6-4, 1-0
L
2026-04-12 · WHRC-Webb · #2 Doubles · 3.5 · with Parul Saxena
0.014about as expected — took 55% of games against 58% expected
1-6, 7-5, 1-0
What an account addsprivate to you

Signing in lets you point an account at your own record and keep things alongside it: notes on individual matches, your racquet and string setup, restring reminders, friendly matches that never reach TennisLink, and a diary of what you changed and what happened after.

None of it is visible to anyone else. Not to other players, not on your public page, not in search. Every private table is scoped to your account at the database level, so it is enforced rather than promised. The public page you are looking at is built from USTA match results and nothing else.

Not affiliated with or endorsed by the USTA. Rating shown is the published USTA year-end figure; match data is from USTA TennisLink.