Tennis Betting Reports

Fernandez L. vs Tjen J.

Match & Event

Field Value
Tournament / Tier Australian Open / Grand Slam
Round / Court / Time TBD / TBD / 2026-01-20 00:00 UTC
Format Best of 3, Standard TB rules
Surface / Pace All-surface data / Unknown
Conditions Unknown

Executive Summary

Totals

Metric Value
Model Fair Line N/A (Insufficient Data)
Market Line O/U 20.5
Lean PASS
Edge N/A
Confidence PASS
Stake 0.0 units

Game Spread

Metric Value
Model Fair Line N/A (Insufficient Data)
Market Line L. Fernandez -4.5
Lean PASS
Edge N/A
Confidence PASS
Stake 0.0 units

Key Risks: CRITICAL DATA LIMITATION - Player 1 (Fernandez L.) statistics are MISSING/INVALID. Data scraper matched to retired player “Mary Joe Fernandez” with 0 matches played. Cannot perform hold/break analysis without valid Player 1 data.


CRITICAL DATA QUALITY ISSUE

DATA COLLECTION ERROR DETECTED:

The briefing data for Player 1 (Fernandez L.) is completely invalid:

Root Cause: The data scraper likely matched “Fernandez L.” to the wrong player in the database. Mary Joe Fernandez is a retired American player (career: 1985-2000), not the current active player “Fernandez L.” (likely Leylah Fernandez).

Impact on Analysis:

Recommendation:

  1. PASS on all markets for this match
  2. Fix data scraper to correctly identify active “Fernandez L.” player
  3. Re-collect briefing data before attempting analysis
  4. Verify player name matching logic in stats_scraper.py

Fernandez L. - Complete Profile

INVALID DATA WARNING

All statistics below are INVALID (matched to retired player Mary Joe Fernandez):

Rankings & Form

Metric Value Percentile
WTA Rank Unknown -
Career High Unknown -
Form Rating N/A - 0 matches -
Recent Form No data (0 matches) -
Win % (Last 12m) 0% (0-0) -
Win % (Career) 0% (0-0) -

Surface Performance (All Surfaces)

Metric Value Percentile
Win % on Surface 0% (0-0) -
Avg Total Games 0.0 games/match -
Breaks Per Match 0.0 breaks -

Hold/Break Analysis

Category Stat Value Percentile
Hold % Service Games Held 0% -
Break % Return Games Won 0% -
Tiebreak TB Frequency 0% -
  TB Win Rate 0% (n=0) -

Game Distribution Metrics

Metric Value Context
Avg Total Games 0.0 NO DATA AVAILABLE
Avg Games Won 0.0 NO DATA AVAILABLE
Straight Sets Win % N/A NO DATA AVAILABLE
P(Over 22.5 games) N/A NO DATA AVAILABLE

Serve Statistics

Metric Value Percentile
Aces/Match N/A -
Double Faults/Match N/A -
1st Serve In % N/A -
1st Serve Won % N/A -
2nd Serve Won % N/A -

Return Statistics

Metric Value Percentile
vs 1st Serve % N/A -
vs 2nd Serve % N/A -
BPs Created/Return Game N/A -

Physical & Context

Factor Value
Age / Height / Weight Unknown
Handedness Unknown
Rest Days Unknown
Sets Last 7d Unknown

Tjen J. - Complete Profile

Rankings & Form

Metric Value Percentile
WTA Rank Unknown -
Career High Unknown -
Form Rating N/A -
Recent Form 7-2 (Last 9 matches) -
Win % (Last 12m) 71.4% (10-4) -
Win % (Career) 71.4% (10-4 from L52W) -

Surface Performance (All Surfaces)

Metric Value Percentile
Win % on Surface 71.4% (10-4) -
Avg Total Games 22.2 games/match -
Breaks Per Match 30.1% break rate -

Hold/Break Analysis

Category Stat Value Percentile
Hold % Service Games Held 78.5% -
Break % Return Games Won 30.1% -
Tiebreak TB Frequency 42.9% (6 TBs in 14 matches) -
  TB Win Rate 83.3% (n=6) -

Game Distribution Metrics

Metric Value Context
Avg Total Games 22.2 Last 52 weeks
Avg Games Won 12.1 (169 / 14 matches) -
Avg Games Lost 10.1 (142 / 14 matches) -
Straight Sets Win % ~44% (based on 3-set% = 55.6%) -
P(Over 22.5 games) N/A -

Serve Statistics

Metric Value Percentile
Aces/Match N/A -
Double Faults/Match N/A -
1st Serve In % 61.1% -
1st Serve Won % 70.1% -
2nd Serve Won % 51.4% -

Return Statistics

Metric Value Percentile
vs 1st Serve % N/A -
vs 2nd Serve % N/A -
BPs Created/Return Game N/A -

Physical & Context

Factor Value
Age / Height / Weight Unknown
Handedness Unknown
Rest Days Unknown
Sets Last 7d Unknown

Recent Form Analysis

Metric Value
Last N Record 7-2
Avg Games/Match 25.0 (recent form)
Three-Set % 55.6%
Form Trend Improving

Clutch Statistics

Metric Value Context
BP Conversion 45.5% Above tour avg (~40%)
BP Saved 60.0% At tour avg (~60%)

Playing Style

Metric Value Classification
Winner/UFE Ratio 0.91 Error-Prone
Style Error-Prone More errors than winners

Matchup Quality Assessment

ANALYSIS NOT POSSIBLE

Cannot assess matchup quality without valid Player 1 data.

Available Player 2 Context:

Missing Player 1 Context:


Game Distribution Analysis

MODELING NOT POSSIBLE

Set Score Probabilities: Cannot calculate without Player 1 hold/break data

Match Structure: Cannot calculate without Player 1 statistics

Total Games Distribution: Cannot model without both players’ data


Totals Analysis

Metric Value
Expected Total Games N/A
95% Confidence Interval N/A
Fair Line N/A
Market Line O/U 20.5
P(Over) Cannot calculate
P(Under) Cannot calculate

Market Analysis

Market Implied Probabilities (No-Vig):

Market Lean: Slight Over lean (market line 20.5 with Over juice)

Model Cannot Validate: Without Player 1 hold/break data, cannot determine if this line is accurate or if edge exists.

Factors Driving Total (If Data Were Available)

Player 2 Context (Tjen J.):

Expected Pattern (Speculative): If Player 1 has similar hold/break rates (~75-80% hold), expect:

But this is pure speculation without Player 1 data.


Handicap Analysis

Metric Value
Expected Game Margin N/A
95% Confidence Interval N/A
Fair Spread N/A

Spread Coverage Probabilities

Line P(Fernandez Covers) P(Tjen Covers) Edge
Fernandez -4.5 Cannot calculate Cannot calculate N/A

Market Analysis

Market Line: L. Fernandez -4.5 (implied favorite)

Market Implication: Nearly even spread market (close to pick’em on -4.5 spread)

Model Cannot Validate: Without Player 1 data, cannot determine expected game margin or spread edge.


Head-to-Head (Game Context)

Metric Value
Total H2H Matches Unknown
Avg Total Games in H2H Unknown
Avg Game Margin Unknown
TBs in H2H Unknown
3-Setters in H2H Unknown

No H2H data available in briefing.


Market Comparison

Totals

Source Line Over Under Vig Edge
Model N/A N/A N/A 0% N/A
Sportsbet.io O/U 20.5 1.80 (52.6%) 1.96 (48.3%) 0.9% N/A
No-Vig O/U 20.5 52.1% 47.9% - N/A

Game Spread

Source Line Fav Dog Vig Edge
Model N/A N/A N/A 0% N/A
Sportsbet.io Fernandez -4.5 1.86 (51.0%) 1.84 (51.6%) 2.6% N/A
No-Vig Fernandez -4.5 49.7% 50.3% - N/A

Market Vig Analysis:

Cannot calculate edges without model probabilities.


Recommendations

Totals Recommendation

Field Value
Market Total Games
Selection PASS
Target Price N/A
Edge N/A
Confidence PASS
Stake 0.0 units

Rationale: Cannot analyze totals market without valid hold/break statistics for Player 1 (Fernandez L.). Data scraper matched to retired player “Mary Joe Fernandez” with 0 matches played. PASS recommendation is mandatory when critical data is missing.

Game Spread Recommendation

Field Value
Market Game Handicap
Selection PASS
Target Price N/A
Edge N/A
Confidence PASS
Stake 0.0 units

Rationale: Cannot model expected game margin without Player 1 hold/break statistics. The -4.5 spread market implies a close match, but we cannot validate this without calculating hold/break differentials. PASS is the only responsible recommendation.

Pass Conditions

Action Required:

  1. Fix data scraper player matching logic
  2. Re-collect briefing for correct “Fernandez L.” player (likely Leylah Fernandez)
  3. Re-run analysis with valid data
  4. Only then can totals/spread edges be calculated

Confidence Calculation

Base Confidence (from edge size)

Edge Range Base Level
N/A PASS

Base Confidence: PASS (no edge calculable due to missing data)

Adjustments Applied

Factor Assessment Adjustment Applied
Form Trend Cannot assess (P1 data missing) N/A No
Elo Gap Cannot assess (P1 data missing) N/A No
Clutch Advantage Cannot assess (P1 data missing) N/A No
Data Quality LOW (Player 1 invalid) -100% Yes
Style Volatility Cannot assess (P1 data missing) N/A No
Empirical Alignment Cannot assess (no model) N/A No

Data Quality Impact:

Final Confidence

Metric Value
Base Level PASS
Net Adjustment -100% (invalid data)
Final Confidence PASS
Confidence Justification Data collection error invalidates all analysis. Player 1 matched to retired player with 0 matches. Cannot calculate hold/break rates, game distributions, or edges.

Key Supporting Factors:

  1. None (data invalid)

Key Risk Factors:

  1. CRITICAL: Player 1 statistics completely invalid (matched to retired player)
  2. Cannot model expected game distributions without both players’ hold/break data
  3. Missing data = cannot calculate edge = mandatory PASS per methodology (2.5% minimum edge)

Risk & Unknowns

Variance Drivers

Data Limitations

CRITICAL LIMITATIONS:

Player 2 Data Quality:

Technical Issues to Resolve

Data Scraper Issues:

  1. Player name matching logic needs improvement
  2. “Fernandez L.” matched to “Mary Joe Fernandez” (retired 2000)
  3. Should match to active “Leylah Fernandez” (or other active L. Fernandez)
  4. Add validation: Flag if matches_played = 0
  5. Add validation: Flag if player last match > 5 years ago

Recommended Fixes:

# In stats_scraper.py - add validation
if player_stats['matches_played'] == 0:
    logger.warning(f"Player {player_name} has 0 matches - likely wrong player match")

# Add recency check
if player_stats['last_match_date'] < (today - 365 days):
    logger.warning(f"Player {player_name} last match was >1 year ago - verify active status")

Correlation Notes


Sources

  1. TennisAbstract.com - Player statistics attempted (Last 52 Weeks Tour-Level Splits)
    • Player 1 ERROR: Matched to Mary Joe Fernandez (retired) instead of active player
    • Player 2 VALID: Janice Tjen statistics appear accurate (14 matches)
  2. Sportsbet.io - Match odds (totals: O/U 20.5, spread: Fernandez -4.5)
  3. Briefing File: fernandez_l_vs_tjen_j_briefing.json (collected 2026-01-19T08:22:28Z)

Verification Checklist

Core Statistics

Enhanced Analysis (New)

Data Quality Issues

Overall Verification Status: INCOMPLETE - Data collection error prevents analysis. PASS recommendation is appropriate and well-justified.


Appendix: Technical Notes for Development Team

Data Scraper Improvements Needed

Issue: stats_scraper.py matched “Fernandez L.” to retired player “Mary Joe Fernandez”

Likely Cause:

Recommended Solutions:

  1. Add Active Player Filter:
    # Filter to players with matches in last 52 weeks
    if player_stats['matches_played'] == 0:
        logger.warning("Player has 0 matches - trying alternative search")
        # Try more specific search or request manual confirmation
    
  2. Add Disambiguation Logic:
    # If multiple "Fernandez L." results:
    # - Prioritize players with recent matches (last 12 months)
    # - Check tour (ATP vs WTA) against match metadata
    # - Verify ranking/Elo is reasonable (not 0)
    
  3. Add Data Validation:
    def validate_player_stats(stats, player_name):
        if stats['matches_played'] == 0:
            raise ValueError(f"{player_name}: 0 matches played - likely wrong player")
        if stats['hold_pct'] == 0 and stats['break_pct'] == 0:
            raise ValueError(f"{player_name}: All stats are 0 - data collection failed")
        return True
    
  4. Use Full Name When Available:
    • If briefing metadata can provide full first name, use it
    • “Leylah Fernandez” vs “L. Fernandez” improves matching accuracy
  5. Manual Verification Mode:
    • For ambiguous players, output options and request selection
    • Cache correct player mappings for future matches

Testing: