X
Lost password?

Don't have an account?
Gain Access Now

X

Receive free daily analysis

NFL
NBA
NHL
NASCAR
CFB
MLB
MMA
PGA
ESPORTS
BETTING

Already have an account? Log In

X

Forgot Password


POPULAR FANTASY TOOLS

Expert Advice
Articles & Tools
Import Your Leagues
Daily Stats & Leaders
All Pitcher Matchups
Compare Any Players
Compare Any Players
Rookies & Call-Ups
24x7 News and Alerts

Introducing xPA to Project Plate Appearances

Nicklaus Gaut introduces the metric of xPA (expected plate appearances) as a tool for fantasy baseball draft prep. He uses historical data for team runs scored and lineup spot to project expected plate appearances for 2020 to find undervalued and overvalued players based on ADP and projections.

I like big rates and I cannot lie. You other readers can't deny. When a rate walks in with an itty PA and an integer in my face, I get sprung...Whoa! Wait just one second, Sir-Mix-A-Nick. Before I go full-Rhymenoceros on everyone, maybe we oughta back the track up a little bit.

What I like are rates according to plate-appearances because they're the simplest way to make adjustments to projections. The final numbers may change from the start of the offseason to the end but it's usually the playing-time components being adjusted, rather than the ones underpinned by assessment of the player's skills.

Imagine that Juan Soto is currently being projected to hit 35 HR at a rate of 0.053 HR/PA but was only projected to hit 32 HR in the previous projections. It's more likely that this is because they now believe Soto will have more opportunities to hit home runs rather than thinking he'll hit them more often. Little in the middle but it's got much back... Let's talk about xPA.

Featured Promo: Get any Props Premium Pass for 30% off using code NEW. Win more with our two new Props Optimizer tools -- one for PrizePicks Props, and one for Sportsbook Betting Props. Find optimal prop bets and get our recommended picks daily! Go Premium, Win More!

 

Basic Methodology

Projecting a player's skill is one thing; figuring out how many times they'll come to the plate is another. Where a player bats is obviously a big driver, on average losing between 0.10 - 0.11 PA/G for every spot dropped in the lineup. That translates to around 16 PA over the course of a 162-game season, or about a 128-PA difference between the leadoff spot and the nine-hole. This is all known. What's not talked about as much is how team runs-scored will affect plate-appearances, in addition to lineup spot. It makes sense to think that the Yankees' leadoff hitter will end with more plate-appearances than his counterpart on the Tigers, no? In order to accurately project plate appearances, both lineup spot and team offense must be considered.

What I've done is use the research previously conducted by Tanner Bell, operator of SmartFantasyBaseball.com and co-author of "The Process", along with the team-offense data from multiple projection systems, to come up with a player's expected plate-appearances, or xPA. This is how many plate-appearances a player will be expected to have, given their expected lineup spot and how many runs their team is projected to score.

Baseball-referance.com has team stats available by lineup spot and what Bell did was take 10 years' worth of data to find the average plate-appearances per lineup spot according to how many runs their team scored. To accomplish this, he grouped the data by team runs scored in 50-run increments, starting with 500-550 runs scored. What he found was that in addition to a player gaining 0.10 PA/G for each spot they move up in the lineup, they also gain around 0.04 PA/G for every additional 50 runs their team scores, or about 5-7 PA over the course of a season.

All in all, Bell ended with a matrix providing average plate-appearances for every lineup spot, according to how many runs a team scored. Batting third on a team that scored 770 runs? It may not always be exact but I'd still bet they averaged around 4.51 PA/G. That comes out to 3.99 PA/G for a player batting seventh on a team that scored 620 runs. And on and on.

With expected PA/G now in hand, we now have one part of the equation but are still lacking the others. To get to xPA, we still need to know where in the lineup the player will bat, how many games he's likely to play, and how many runs his team will score. Let's round them up.

 

Projected Lineup Spot

Let's start with the most known of the unknowns. In theory, every spot in every lineup of every team can be tenuous. But practically speaking, there are some spots more certain than others and RosterResource on Fangraphs is the go-to source for looking at the current most-likely lineups for each team. As such, their projections will be the ones used in xPA, with adjustments made, as necessary.

This has flaws, as bench players are not given a projected lineup spot and some lineups are more fluid than others. But keep in mind that besides individual player projections, we're also looking to put a proper valuation on each lineup spot, regardless of the person in it.

I copied and sorted this data, making adjustments by hand to players considered fantasy relevant but not currently projected to start. This was as light of touch as I could muster, assigning those bench players a likely primary lineup spot based on known information about how different lineups should look, as well as where players have batted most recently. Imperfect but many of the imperfections will substantially improve in-season as lineup tendencies start sorting themselves out.

 

Projected Team Runs

I started by looking at six different projections: Steamer, PECOTA, ATC, The BAT, Depth Charts (a combination of Steamer and ZIPs, with playing time adjusted by Fangraphs staff), and Razzball, which is also an adjusted version of Steamer. I then took the average of projected team runs (adjusted to not overweight Steamer-centered systems) and assigned each team a run "bin," with the bins set up in 50-run increments:

BIN Team Runs
A 500 - 549
B 550 - 599
C 600 - 649
D 650 - 699
E 700 - 749
F 750 - 799
G 800 - 849
H 850 - 899
I 900 - 949
J 950 - 999

Combined with their projected lineup spot, I could now assign every player a code of A2, B1, F5, etc. This tells me where a batter is projected to bat and how many runs their team is projected to score, allowing me to pull their proper average PA/G from Bell's historical matrix.

Projected Games Played

With an expected-PA/G for every player, all I needed was projected games in order to get to xPA. This one was easy, as I just used the average between the same projections systems from above. Take average games played multiplied by xPA/G and you wind up with...

 

2020 Expected PA

When looking at the overall results, two main trends are clear. In general, xPA projects more plate appearances for top-third batters, particularly on the highest-scoring teams. The projection systems also tend to over-project lower-third batters, especially on lower-scoring teams. Looking at batters with at least a 350 ADP on NFBC, here are the top-15 players that were projected for fewer plate-appearances than what xPA predicts:

PLAYER TEAM Runs Rank BO ADP xPA AVG PA xPA - AVG PA
Mallex Smith SEA 27 9 162 504 545 -41
Amed Rosario NYM 21 8 119 584 621 -37
Evan White SEA 27 8 333 488 517 -29
Gavin Lux LAD 4 8 181 523 550 -27
Andrelton Simmons LAA 8 8 339 535 560 -25
Luis Robert CHW 9 8 71 550 574 -24
Dansby Swanson ATL 11 7 216 571 592 -21
Carter Kieboom WSN 14 8 317 451 472 -21
David Fletcher LAA 8 7 319 537 558 -21
Dee Gordon SEA 27 9 347 316 336 -20
Luis Urias MIL 17 8 350 503 522 -19
Miguel Sano MIN 2 8 108 521 539 -18
Michael Conforto NYM 21 6 126 566 582 -16
Giovanny Urshela NYY 3 9 235 498 514 -16
Kevin Kiermaier TBR 15 8 332 459 473 -14

Conversely, here are the top-25 players that xPA likes to have more appearances than the average projection system:

PLAYER TEAM Runs Rank BO ADP xPA AVG PA xPA - AVG PA
Kolten Wong STL 24 1 195 632 563 69
Tommy La Stella LAA 9 1 299 470 407 63
Max Kepler MIN 3 1 155 682 625 57
Brandon Lowe TBR 15 1 199 632 576 56
Tim Anderson CHW 10 1 82 703 647 56
Marcus Semien OAK 8 1 87 727 674 53
Ramon Laureano OAK 8 2 70 631 578 53
Austin Hays BAL 27 1 271 542 490 52
Kevin Newman PIT 27 1 183 620 568 52
DJ LeMahieu NYY 3 1 69 715 663 52
Brandon Nimmo NYM 20 1 322 552 501 51
Andrew Benintendi BOS 5 1 119 703 652 51
Shogo Akiyama CIN 17 1 265 519 472 47
Shin-Soo Choo TEX 16 1 229 656 609 47
David Dahl COL 13 1 150 595 548 47
Max Muncy LAD 4 2 75 650 603 47
Bo Bichette TOR 14 1 47 680 633 47
Jean Segura PHI 17 2 177 613 568 45
Jorge Polanco MIN 3 2 156 704 659 45
Yasmani Grandal CHW 10 4 115 590 545 45
Jon Berti MIA 29 7 249 295 251 44
George Springer HOU 1 1 50 691 647 44
Starling Marte ARI 20 1 22 660 617 43
Francisco Lindor CLE 7 1 9 722 680 42
Niko Goodrum DET 23 2 263 622 581 41

 

Wrapping Up

Using xPA isn't about saying that these are these projections that should be used. While I believe strongly in the historical PA/G averages, xPA is still dependant on projecting the correct amount of team runs and where a batter will spend all of their at-bats. Team projections are often wrong and players don't always bat at the same spot. What xPA is about is giving more context to just how much a lineup spot is worth and what a change can do to a player's value. That added context is helpful for player valuations but is also useful in confronting cognitive biases.

Using myself as an example, I've touted Brandon Nimmo all offseason, believing in the skills but also believing that he'd end up with more plate appearances than what was being projected. My rationale was simple; the Mets announced he'd be their leadoff hitter and I thought he'd be the primary center fielder. Consequentially, I believed he'd be closer to 600 PA, rather than around the 500 PA that other systems called for.

It was nice to see him make the list above but I wasn't happy to see only 552 xPA. He did get a bump for his top-of-the-order slot but xPA gave him far less credit due to the Mets below-average offense. That just goes to show you; never underestimate how much the Mets being the Mets can drag down your projections.

That wraps it up for today, but coming up I'll dive deeper into xPA to root out some more context. Up next, we'll look at players like Victor Robles, Mallex Smith, and others who would benefit from a move up the lineup. Will they improve as much as the fantasy community seems to think? Or will sluggish offenses keep them from earning the high prices they're garnering in drafts?

More 2020 Fantasy Baseball Advice




POPULAR FANTASY TOOLS

Expert Advice
Articles & Tools
Import Your Leagues
Daily Stats & Leaders
All Pitcher Matchups
Compare Any Players
Compare Any Players
Rookies & Call-Ups
24x7 News and Alerts

REAL-TIME FANTASY NEWS

Jake Cronenworth3 hours ago

Targeting Earlier Return
Liam Hendriks4 hours ago

Set To Return On Saturday
Jackson Merrill4 hours ago

Not Expected To Return Next Week
Martín Pérez4 hours ago

Martin Perez Will Undergo MRI On Saturday
Casey Schmitt4 hours ago

Expected To Hit Injured List
Brock Stewart4 hours ago

Expected To Return On Sunday
Luke Keaschall5 hours ago

Busy In MLB Debut
Jose Fleury5 hours ago

Continues Strong Start On Friday
AJ Smith-Shawver5 hours ago

Strikes Out Eight In Defeat
Marcelo Mayer5 hours ago

Tallies Seven RBI On Friday
Zyhir Hope5 hours ago

Hits Two Home Runs On Friday
Andrew Painter5 hours ago

Sharp In Second Rehab Outing
Tyler Anderson11 hours ago

Keeps Hot Streak Rolling Friday
Logan Webb11 hours ago

Fans 12 In Tough-Luck Loss
Carlos Rodón11 hours ago

Carlos Rodon Goes Six Scoreless To Snap Personal Losing Streak
Andrew Abbott11 hours ago

Dominates Orioles On Friday
Yoshinobu Yamamoto11 hours ago

Tosses Another Gem
Cam Smith11 hours ago

Hits Two Taters On Friday
Trevor Story11 hours ago

Mashes Pair Of Three-Run Homers
Zack Wheeler14 hours ago

Records 13 Strikeouts
LaMonte Wade Jr.15 hours ago

Out On Friday
Ja Morant15 hours ago

Cleared To Play Friday
Brandon Williams15 hours ago

Available Against Grizzlies
Anthony Davis15 hours ago

Will Play Friday Night
Gary Trent Jr.15 hours ago

Available For Game 1 Against Pacers
Taurean Prince16 hours ago

Returns To Bucks Lineup Saturday
NFL16 hours ago

Justin Hardee Sr. Waived With Non-Football Injury
Isaiah Stewart16 hours ago

To Return For Game 1
Ausar Thompson16 hours ago

Available For Game 1
Rui Hachimura16 hours ago

On Track To Play Saturday
Austin Reaves16 hours ago

Ready To Go For Game 1
NFL16 hours ago

Bills Release Armani Rogers, Branson Deen
Luka Dončić16 hours ago

Luka Doncic Removed From Injury Report
LeBron James16 hours ago

Listed As Probable For Game 1
Ben Sheppard16 hours ago

Probable For Saturday's Game 1
NFL16 hours ago

Kolton Miller Absent From Raiders' Voluntary Offseason Program
Kevin Durant16 hours ago

To Houston Already Losing Steam
Lauri Markkanen17 hours ago

Wants To Stay With The Jazz
NFL17 hours ago

Ross Blacklock Let Go By New York
Bennedict Mathurin17 hours ago

Expected To Play In Game 1 Saturday
Pascal Siakam17 hours ago

Available For Playoff Opener
Tyrese Haliburton17 hours ago

Returning From Two-Game Absence Saturday
Cade Cunningham17 hours ago

Available For Game 1 Against Knicks
Josh Hart17 hours ago

Back In Knicks Lineup Saturday
OG Anunoby17 hours ago

Good To Go For Game 1
Jalen Brunson18 hours ago

Available For Saturday's Game 1
NFL18 hours ago

Raiders Considering Drafting A Quarterback
Irv Smith18 hours ago

Sticking With Texans
Ryan Lindgren18 hours ago

Set To Return Saturday
NFL19 hours ago

Texans Expected To Draft Wide Receivers
Greg Dortch19 hours ago

Returning To Cardinals
Josh Manson19 hours ago

Available For Game 1
Mark Andrews19 hours ago

Could Be Traded Soon
Ondrej Palat19 hours ago

To Return For Start Of Playoffs
David Savard19 hours ago

Will Retire After Playoffs
NFL19 hours ago

Raiders, Falcons Could Have Interest In Jalen Ramsey
Robert Thomas19 hours ago

Good To Go Saturday
Matthew Tkachuk19 hours ago

Expected To Return For Game 1
19 hours ago

Raiders Are High On Ashton Jeanty
Jason Robertson19 hours ago

Considered Week-To-Week
Rome Odunze19 hours ago

To Hopefully Get More Involved
NFL20 hours ago

Dolphins Could Draft A Quarterback
James Cook20 hours ago

Could Stay Away From Voluntary Workouts
Leon Draisaitl1 day ago

Wins First Rocket Richard Trophy
Nikita Kucherov1 day ago

Bags Third Art Ross Trophy
Bryan Rust1 day ago

Scores Twice In Season-Ending Win
Igor Shesterkin1 day ago

Shuts Out Lightning With 27 Saves
Dylan Cozens1 day ago

Picks Up Three Points In Regular-Season Finale
Matvei Michkov1 day ago

Caps Off Rookie Campaign With Three-Point Effort
Brady Tkachuk1 day ago

Makes Early Exit For Precautionary Reasons
Jake Tonges1 day ago

Signs Exclusive-Rights Tender
Denver Broncos2 days ago

Broncos To Focus On RB Position In Next Week's Draft
Drew Lock2 days ago

Sam Howell, Drew Lock Expected To Compete For Backup Job
New York Giants2 days ago

Giants Leaning Toward Taking Best Player Available At No. 3
New Orleans Saints2 days ago

Ryan Ramczyk Announces His Retirement
Buffalo Bills2 days ago

Tre'Davious White Reunites With Buffalo
Aaron Rodgers2 days ago

Willing To Play For $10 Million A Year
Jakob Chychrun2 days ago

Returns Against Penguins
Rasmus Andersson2 days ago

Out Against Kings
Jonathan Huberdeau2 days ago

Sits Out Regular-Season Finale
Ryan Pulock2 days ago

Out On Thursday
Jake Sanderson2 days ago

Back In Action Thursday
Thomas Chabot2 days ago

To Be Rested Against Hurricanes
Claude Giroux2 days ago

Active On Thursday
Lucas Glover3 days ago

Looks To Rebound After Poor Performance
Daniel Berger3 days ago

Looking To Continue Solid Play At RBC
Sepp Straka3 days ago

Looking To Bounce Back At RBC
Justin Thomas3 days ago

Looking To Shake Off Poor Masters At RBC Heritage
Xander Schauffele3 days ago

Still Looking For Year's First Win At RBC Heritage
Maverick McNealy3 days ago

Is An Intriguing Play At RBC Heritage
Shane Lowry3 days ago

Looks To Shake Off Poor Masters Sunday At RBC Heritage
Will Zalatoris3 days ago

Eyes A Bounce-Back At RBC Heritage
Gary Woodland3 days ago

Could Add Some Surprise At Hilton Head
Sam Burns3 days ago

Hoping For Better Times At RBC Heritage
Sahith Theegala3 days ago

Still Trying To Put It All Together
Aaron Rai3 days ago

Might Be That Guy For Hilton Head
Robert MacIntyre3 days ago

All Or Nothing At RBC Heritage
Tom Hoge3 days ago

Still Playing Solid Heading To Hilton Head
Nick Dunlap3 days ago

Continues To Have Rough Stretch
Keegan Bradley3 days ago

Looks To Move On From Masters Performance
Matt Fitzpatrick3 days ago

A Boom-Or-Bust Option At RBC Heritage
Patrick Cantlay3 days ago

A Strong Play At RBC Heritage
Jordan Spieth3 days ago

Targets Another Strong RBC Heritage Showing
Collin Morikawa3 days ago

Eyeing Victory At RBC Heritage
Max Homa3 days ago

Breaks Through At The Masters
Alexander Volkanovski4 days ago

Reclaims Featherweight Title
Diego Lopes4 days ago

Drops Decision At UFC 314
Paddy Pimblett4 days ago

Remains Undefeated In The UFC
Michael Chandler4 days ago

Suffers TKO Loss
MMA4 days ago

Patricio Freire Gets Dominated In His UFC Debut
Yair Rodriguez4 days ago

Gets Back In The Win Column
Bryce Mitchell4 days ago

Gets Submitted At UFC 314
Jean Silva4 days ago

Gets Submission Win At UFC 314
Dominick Reyes4 days ago

Wins Third Fight In A Row
5 days ago

Austin Dillon Nabs His First Top-10 Finish Of The 2025 Season At Bristol
5 days ago

Ryan Blaney's Bold Strategies Fall Flat, Still Musters A Top-Five Finish At Bristol
5 days ago

Christopher Bell Finishes In The Top 10 After Falling Back Midway At Bristol
5 days ago

Ty Gibbs Earns His First Top-Five Finish Of The 2025 Season At Bristol
5 days ago

Chase Briscoe Quietly Scores First Career Top-Five Finish At Bristol
5 days ago

Denny Hamlin Cuts Into William Byron's Points Lead
5 days ago

William Byron Makes Best Of His Mediocre Qualifying Run With Sixth-Place Finish
5 days ago

Despite Engine Failure, Alex Bowman's Improved Speed Looks Promising
NASCAR5 days ago

A.J. Allmendinger Enters Playoff Picture With Surprise Bristol Top-10 Finish
RANKINGS
C
1B
2B
3B
SS
OF
SP
RP

RANKINGS

QB
RB
WR
TE
K
DEF