Skip to content
View seongji-park's full-sized avatar

Block or report seongji-park

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
seongji-park/README.md

⚾ Seongji Park — Baseball Analytics

Statistics @ York University | Statcast Research | Toronto Blue Jays

I build daily Statcast-based game reports tracking every pitch thrown by Blue Jays pitchers — arsenal breakdowns, pitch tunneling scores, run values, and bullpen performance trends. All analysis is updated after every game throughout the 2026 season.


🔄 Daily Workflow

Every game produces a full analytical report covering pitch arsenal grades, movement profiles, tunneling analysis, run value breakdowns, spray charts, WPA moments, and bullpen detailed analysis.


📊 Projects

Daily Operations

Repository Description Status
bluejays-daily-reports Daily Statcast game reports with pitch-level analysis 🟢 Updated every game
statcast-database SQLite pipeline — 15,000+ pitches across 60+ games 🟢 Updated every series

Machine Learning

Repository Description Key Result
mlb-pitch-prediction Per-pitcher RandomForest classifiers predicting next pitch type Gausman 54.7% accuracy (baseline 52.5%)
mlb-bullpen-forecaster GradientBoosting classifier for bullpen outing quality 73.0% accuracy, AUC 0.713

Research

Repository Description
korean-players-mlb-analysis Four-tier analytical framework for Korean MLB players with "Two Pathways" framing
bluejays-2026-pitching-analysis Statcast-driven rotation and bullpen depth assessment
mlb-pitch-design-revolution League-wide pitch design trends: sweeper explosion, arsenal diversification

🛠️ Tech Stack

Data: Python · pandas · numpy · pybaseball · SQLite · SQL

ML: scikit-learn · RandomForest · GradientBoosting · LogisticRegression

Visualization: matplotlib · seaborn

Tools: Jupyter Notebook · Git · GitHub


📈 What the Reports Track

Each game report analyzes every pitch with these metrics:

  • Pitch Arsenal Grades — Whiff%, CSW%, chase rate → A/B/C/D grading per pitch type
  • Pitch Tunneling — Release similarity, plate separation, tunnel scores for every pitch pair
  • Run Value — Per-pitch run value to measure actual run prevention, not just swing-and-miss
  • Bullpen Breakdown — Individual reliever grades, workload tracking, development arcs
  • Spray Charts & Batted Ball — Exit velocity, launch angle, hard-hit rate, directional tendencies
  • Win Probability Analysis — Key WPA moments that swung the game

Built with Statcast data via pybaseball. All pitch metrics sourced from Baseball Savant.

Pinned Loading

  1. bluejays-daily-reports bluejays-daily-reports Public

    Daily Statcast-driven game reports for the 2026 Toronto Blue Jays. Pitch movement, plate discipline, and performance analysis updated after every game.

    Jupyter Notebook

  2. korean-players-mlb-analysis korean-players-mlb-analysis Public

    An analytical study of Korean players' pathways to Major League Baseball, with implications for future development of current prospects.

    Jupyter Notebook

  3. mlb-bullpen-forecaster mlb-bullpen-forecaster Public

    GradientBoosting classifier predicting bullpen outing quality from recent performance trends — 73.0% accuracy, AUC 0.713

    Jupyter Notebook

  4. mlb-pitch-design-revolution mlb-pitch-design-revolution Public

    Analyzing the evolution of pitch design in MLB: the sweeper explosion, arsenal diversification, and what it means for modern pitching strategy.

    Jupyter Notebook

  5. mlb-pitch-prediction mlb-pitch-prediction Public

    Per-pitcher RandomForest classifiers predicting next pitch type from game-state features — Gausman 54.7%, Cease 38.4% (most unpredictable)

    Jupyter Notebook

  6. statcast-database statcast-database Public

    SQLite pipeline for Statcast pitch-level data — 15,000+ pitches across 60+ Blue Jays games with season trend analysis queries

    Jupyter Notebook