✈️
Aviation League Scoring
NE Not Eligible — played, but not in a scoring slot | DNP Did Not Play

Starting Pitcher Scoring

IP rounded down · Rows = ER · Cols = IP

Relief Pitcher Scoring

Must pitch 7th inning or later · IP rounded down

Scoring Rules

1B=1pt · 2B=2pts · 3B=3pts · HR=4pts · SB=1pt
OF: top 3 who played OF that day · 1B/2B/3B/SS/C: top 1 who played that position
DH: 1 slot, taken by the first player in the 4-player DH list (in listed order) who played that day and isn't already counting in a field slot — going 0-fer still qualifies
Pitchers: 1 SP + 1 RP max. RP must pitch 7th inning or later.
Final = floor(max(0, hitter pts + pitcher pts) ÷ 4) = runs (0-3 pts = 0, 4-7 = 1, 8-11 = 2 …)

Tie-Breakers (games never end tied)

If runs are level after nine, the game goes to extra innings:
10th — home runs by players who did not factor into the score (played, but not one of the nine scoring starters). Most wins.
11th — pitching staff decisions across the whole roster staff: wins + saves − losses. Highest wins.
12th — most offensive points (the scoring lineup's batting total). Highest wins.
13th — if everything above is still dead even (astronomically rare), the home team walks it off batting last. A game can never end in a tie.

Hot Players

Refreshes automatically once a day. Hitters are ranked by total bases plus stolen bases over their last 7 games; starting pitchers by runs taken away on our pitching chart over their last 3 starts. Only players rostered in our league are shown, with their fantasy team beside them.

Weekly Matchups
Pick which teams face each other this week. Saving will clear all current stats.
✓ Saved
Roster Manager
Update rosters from a spreadsheet. Download the template (it comes pre-filled with the current rosters), have each owner edit their team's rows, then upload it here. Existing players keep their settings — only the changes (new players, dropped players, position / team / DH changes) are applied, and teams you don't include are left untouched.
How the spreadsheet works — one row per player, with these columns: Fantasy Team Player MLB Team Slot DH Order
Slot is OF · 1B · 2B · 3B · SS · C for hitters, DH for a designated-hitter-only player (no field position), or SP · RP for pitchers.
DH Order is 1–4 for the designated-hitter list, in priority order — fill it in for DH-only players and for any fielder you also want eligible at DH (leave blank for everyone else).
• The order players appear in the sheet sets their lineup priority within each position.
• Leave MLB Team blank for a player already in the app to keep his current team — only fill it in for new players or real team changes.
• When you update a team, include all of its players — anyone left off that team's rows is treated as dropped. You'll see a summary to confirm before anything changes, and can Undo afterward.
Advanced: JSON backup & reset

How to Use Aviation League Scoring

Welcome! This tool scores your 12-team matchups automatically using real MLB stats. Here's everything you need in under two minutes.

Quick Start — 3 Steps
  1. Pick the game day. Use the date box (top right). It defaults to today — change it to the day you're scoring.
  2. Click ⚡ Auto-Fill. The app pulls every player's real stats from that day's MLB games and fills the scoresheet for all 6 matchups.
  3. Review & tweak. Numbers are editable — click any box to correct a stat by hand if needed.
Reading the Scoresheet
  • OF A position badge means the player is counting toward the score in that slot.
  • NE Not Eligible — the player played that day, but isn't in a scoring slot (e.g. you already have 3 outfielders ahead of him).
  • DNP Did Not Play — no stats found for that player on the selected date.
  • The big number at the top of each matchup is the final run total for that team.
How Scoring Works
  • Hitters: 1B = 1pt · 2B = 2pts · 3B = 3pts · HR = 4pts · SB = 1pt.
  • Who counts: top 3 outfielders + the top 1 at each of 1B, 2B, 3B, SS, C, plus 1 DH. The DH is the first player in the 4-player DH list (in listed order) who played that day and isn't already counting in a field slot — so a DH who goes 0-for still takes the slot, but if he's counting in (say) the outfield that day, it falls to the next DH on the list.
  • Pitchers: 1 starter + 1 reliever max. The reliever must have pitched the 7th inning or later. See the Pitch Tables tab for exact point values.
  • Final runs = total points ÷ 4, rounded down. So 0–3 pts = 0 runs, 4–7 = 1 run, 8–11 = 2 runs, and so on.
  • Ties go to extra innings — games never end level. 10th: most home runs from bench bats (players who played but weren't one of the nine scoring starters). 11th: highest wins + saves − losses across the whole pitching staff. 12th: most offensive points. 13th: if still dead even (astronomically rare), the home team walks it off batting last. The breakdown notes which inning settled it (e.g. F/10).
FAQ
Why is a player showing DNP when I know he played?
Auto-Fill only counts games marked Final. If games are still in progress, wait until they finish, then click Auto-Fill again. A player on the injured list or in the minors won't appear either.
I changed the date and my numbers disappeared.
That's intentional — switching dates clears the sheet so one day's stats never mix into another. Just click Auto-Fill for the new date.
A stat looks wrong. Can I fix it?
Yes. Every number box is editable — click it and type the correct value. Your edit updates the score instantly.
How do I change who plays who this week?
Go to the Settings tab → Weekly Matchups, set the pairings, and click Save. (Saving clears current stats, so set matchups before auto-filling.)
A player was traded or has the wrong team. How do I fix it?
Go to Settings → Roster Manager, download the roster file, update the player's name or team, and upload it back. Use full names and the correct MLB team abbreviation for the most accurate auto-fill.
How do I share results?
On the Scoring tab, click 📝 Game Breakdown for an email-ready summary you can copy and paste.
💡 Tip: The app remembers your rosters and matchups in your browser, so you can pick up right where you left off next time.
Fetching...