Home
Glossary
Data Notes
Added postseason-clinching notes to the team rank tables.
Currently focused on basketball (NBA/KBL) development.
Latest Stats Coverage by League (KST)
NPB
9/15 games fully aggregated (7h ago)
Next game (9/16) page reflects the latest records
Recently completed: 9/15, 9/14, 9/13, 9/12, 9/11
KBO
9/15 games fully aggregated (6h ago)
Next game (9/16) page reflects the latest records
Recently completed: 9/15, 9/13, 9/12, 9/11, 9/10
MLB
9/15 games fully aggregated (15h ago)
Next game (9/16) page reflects the latest records
Recently completed: 9/15, 9/14, 9/13, 9/12, 9/11
NBA, KBL, V-League, NHL, and other sports coming soon!
Feel free to leave us a message about anything - upcoming development, improvement ideas, bug reports, or anything else.

This is where we explain new or changed features on the site in plain language. We'll add a new entry here each time something changes.
2026-07-31

Starter matchup cards now show splits vs left/right-handed batters

The "vs Opp SP" card right above each lineup on the game analysis screen now shows whether today's opposing starter is stronger against lefties or righties. It shows wOBA (weighted on-base average - lower is better for the pitcher), how many innings' worth of sample that's based on, and how many batters of that handedness are in today's lineup. If the majority-handedness in today's lineup happens to be the pitcher's weak spot, that line turns red; if it's his strength, it turns green - so you can spot a favorable matchup at a glance, no math required.

vs상대투수 Howard (RHP)
LHB(IP:4.2) wOBA : .446 (LHB:3명)
RHB(IP:4.2) wOBA : .215 (RHB:6명)  ◀ 오늘 다수인 우타자 상대로 이 투수가 강함
4-Seam FB 48%, Slider 30%, Sinker 22%

Read AI-written game analysis in the "AI Analysis" tab

On each game's detail page, the "AI Analysis" tab will show an AI-written writeup for that game once it's ready. Not every game has one yet - we're filling these in over time.

"Copy AI Text" - paste straight into ChatGPT, Grok, and more

Tap the "Copy AI Text" button near the top of the game analysis screen, and the entire game's data gets copied to your clipboard in a format that's easy for an AI to read. Paste it straight into ChatGPT, Grok, or any AI chat, and it'll analyze the data for you - predicting a win probability and explaining its reasoning. This feature started from an idea by X(@TheBetDesk) - thank you!

[AI 텍스트 복사] 버튼 클릭
  ↓
"...이 데이터를 종합적으로 분석해서 이번 경기 두 팀의 승리 확률을
예측해 주시고, 근거도 설명해 주세요."
  ↓ ChatGPT/Grok 등에 붙여넣기
"원정팀 승리 확률 45%, 홈팀 55%로 예측됩니다. 근거는..."

⚾ Baseball
🏀 Basketball

Batter Stats

wOBACombines AVG/OBP/SLG into one number, weighting each outcome (walk, single, double, home run, etc.) by how much it actually contributes to scoring. Roughly .320 is league average, .350+ is good, .370+ is elite, below .290 is below average.
wRC+Park- and league-adjusted measure of a hitter's run-producing value versus league average (100). 120 means 20% more run production than average.
ISOISO (Isolated Power) = SLG - AVG. Strips out whether a hit happened at all (AVG) and isolates pure extra-base power. Roughly .140 is average, .180+ is good power, .220+ is elite, below .100 is weak power.

Pitcher Stats

BABIPProbability that a ball in play becomes a hit. Values far from the average tend to regress toward the mean. Roughly .290-.300 is average.
FIPAn ERA-like metric based only on what a pitcher directly controls (strikeouts, walks, home runs), independent of defense or luck. With enough sample size, it predicts the next game better than ERA. On the same scale as ERA: 3.50 or below is excellent, around 4.00 is average, above 4.50 is below average.
xFIPFIP with home runs replaced by the league-average HR/fly-ball rate, removing home-run luck (park/season variance) as well. With a large enough sample it predicts future results even better than FIP. Same scale as FIP: 3.50 or below is excellent, above 4.50 is below average.
K-BB%Strikeout rate minus walk rate - a key measure of how favorably a pitcher works the count. Roughly 10% is average, 15%+ is good, 20%+ is elite.
LOB%Share of baserunners a pitcher strands without allowing them to score. Extreme values tend to regress toward the mean, so it's used to gauge how much luck was involved. Roughly 72-73% is average.
WHIPWalks plus hits allowed per inning pitched. Lower means fewer baserunners allowed. Roughly 1.30 is average, 1.20 or below is good, below 1.00 is elite, above 1.40 is below average.
SwStr%Swinging strikes divided by total pitches thrown. A pure measure of stuff/deception, unaffected by balls in play, so it stays reliable even in small samples. Roughly 10% is average, 12%+ is good, 14%+ is elite.
CSW%(Called strikes + swinging strikes) divided by total pitches thrown - shows how much a pitcher overwhelms hitters regardless of zone location. Roughly 27% is average, 30%+ is good, 32%+ is elite.

Team & Stadium Stats

Pythagorean Win%Win percentage estimated from runs scored/allowed. A large gap from the actual win rate suggests the team's record is over/underrated by luck.
Park FactorPark Factor = (Avg. runs at home / Avg. runs on road) x 100

AI (Anthropic Claude) is involved in this site's data validation and analysis work - the error rates listed below are figures Claude verified directly against our database.
⚾ Baseball
🏀 Basketball

Where does the data come from?

BeaverStats doesn't pull in numbers someone else already calculated - we calculate everything ourselves, starting from the smallest unit of data (every single pitch and plate appearance).

MLB: we mainly use MLB's official API (statsapi.mlb.com), and also provide projected starting lineups before first pitch. The API itself provides detailed rulings - inherited-runner responsibility, earned/unearned status, runs, etc. - which lets us calculate things far more precisely than we can for NPB/KBO.
KBO: we collect this from Naver Sports and KBO's official site.
NPB: we collect this from Yahoo Japan Sports Navi and NPB's official site. Since it's the same page fans see, official-scorer rulings like inherited-runner responsibility or earned/unearned status simply aren't on that page to begin with.

NPB & KBO data quirks

1. We haven't found a source that gives us exit velocity or launch angle for NPB/KBO, so we can't calculate HardHit% or Barrel% for those leagues.

2. We haven't found a source that publishes projected lineups ahead of time for NPB/KBO. Until a lineup is officially confirmed, what we show is always the previous game's lineup. We tried heuristics like "this batter tends to start against a right-handed starter," but testing showed simply reusing the previous game's lineup matched reality better, so that's what we use now (a more refined approach could change this down the line)(→ we've since found a better calculation, see #4 below). So it can be worth double-checking the data again once the lineup is actually confirmed.

3. For NPB/KBO it can be hard to tell which side of the plate a switch-hitter batted from. This can leave a pitcher's vs-LHB/vs-RHB batting-average-against with a smaller sample (fewer innings) than it should have. Since switch-hitters are relatively rare in both leagues, we chose not to guess/map this arbitrarily for now - we plan to dig into it further.

4. We ran an experiment to replace the "reuse the previous game's lineup" approach mentioned in #2 above with a better calculation. Compared against each game's actual starting lineup, our current "reuse the previous game" approach gets an average of 6.4 of 9 starters right for NPB (71.0%) and 7.3 of 9 for KBO (81.1%). A new model we built (combining recent 5/10-game start frequency, season-long start rate, and recent-game performance) pushes that up to 6.9 of 9 for NPB (76.3%) and 7.6 of 9 for KBO (84.1%). It's not perfect yet, but it clearly beats reusing the previous game's lineup, so once we've validated it further we plan to replace the current lineup display with this calculation.

Weather data

We currently pull weather data for free via the Open-Meteo API. Forecasts for each stadium's location/time are refreshed every 10 minutes, and starting 1 hour before first pitch we switch to real observed data, still refreshed every 10 minutes. Once the game starts, we stop updating the weather.

We show wind direction for each stadium as an arrow.
NPB: official-scorer reference data
MLB & KBO: bearing calculated from satellite imagery

Data aggregation

Once all of a day's games have finished, stats are usually aggregated and reflected within 30 minutes to an hour. The record-ranking screens update at the same time.

Display Conventions

Good values are shown in green, bad values in red.

The away team is shown on the left, the home team on the right, by default.

In tables that compare away and home side by side, the better value is shown in bold green and the worse one in bold red.

The starters/lineup total row also shades its background to show how far recent form has strayed from the season average - a deeper green means a bigger improvement over the season, a deeper red means a bigger decline.

In lineup tables, entries based on fewer than 20 plate appearances are shown in a lighter font since the sample is too small to be reliable.

Park Factor

Park Factor = (Avg. runs at home / Avg. runs on road) x 100

We're a new site and currently only have complete data for the 2026 season, so our park factor numbers may differ from other sites. We also apply a regression that pulls extreme values back toward 100, and since there's no single standardized formula for that regression, results can vary slightly between sites (typically by a fraction of a point). Right now, park factor feeds into exactly one stat on this site: wRC+.

wOBA weight formula

NPB & KBO: we use Tom Tango's universal fixed weights as-is (there's no NPB/KBO-specific published constant). wOBA = (0.69×BB + 0.722×HBP + 0.888×1B + 1.271×2B + 1.616×3B + 2.101×HR) / denominator

MLB: we use the weights FanGraphs' Guts! page publishes each season (2026 season shown here). wOBA = (0.698×BB + 0.729×HBP + 0.889×1B + 1.258×2B + 1.591×3B + 2.040×HR) / denominator

Data We're Looking For

If you happen to know a free source for any of the data below, please let us know!

1. A place to watch full NPB game video ourselves (2026 regular season onward)

2. A source for projected/expected lineups for NPB and KBO

3. A source for per-batted-ball exit velocity and launch angle for NPB and KBO

You can reach us through the contact info at the bottom of the site - we'd really appreciate it!

Choose which notifications you'd like, by category. This is a preview screen for now - turning any one on currently enables all notifications (lineup alerts, etc.); per-category delivery is still being built.
MLB
KBO
NPB
Updates & News
Data source: Based on publicly available data, including Yahoo Japan.
NPB Analysis Posts  ·  KBO Analysis Posts  ·  MLB Analysis Posts