Thursday, February 21, 2019

CBS: Predicting Pitcher Performance -- A Fool's Errand?

This post was an initial pass at digging into predicting pitching performance. The full enhanced version is on CBS:


Recently, there's been a lot of chatter on Twitter about the value of projections. They're certainly far from perfect -- the creators would admit as much -- but they're among the best we've got.

Many anti-projection arguments tend to put more weight into past stats than we should. Go dig up Kyle Freeland argument threads on Twitter if you don't believe me.

So what should we be using? Just projections? A combination of both?

To find out, let's starting with appreciating how wildly stats can fluctuate year-to-year, particularly those that many fantasy gamers play for in traditional 5x5 leagues.

To quantify this, here are the r-squared figures between the metric in one season ("season Y") and itself in the following season ("season Y+1"). This is using 1,114 player seasons from 2007 to 2018 for the traditional four starting pitching categories (excluded saves) (min. 150 innings pitched in each season):

Metric R^2
K 0.526
WHIP 0.208
IP 0.155
ERA 0.108
W 0.045

Basically, outside of strikeouts and maybe WHIP, previous season stats are terrible at predicting future performance in those areas. I also included innings given it's a key driver of performance, for strikeouts and wins, in particular. On the whole, the relationship between these stats year-to-year is weak

Now, let's see if projections fared any better -- taking an average of Steamer, Depth Charts, THE BAT and ZiPS for 2018 starting pitchers only (those who were projected for at least 75 innings by all systems):

Metric R^2         Diff
K 0.282 -46%
WHIP 0.238 14%
ERA 0.223 107%
W 0.188 316%
IP 0.113 -27%

That's a surprising mixed bag, BUT projections did fare significantly better in measuring talent -- that is, ERA and WHIP. They were much worse at estimating projected innings, a big factor in their worse projection of strikeouts. The giant surprise was projections outperforming previous year's stats in wins by a multiple of 3x, despite being nearly 30% worse at projecting innings. That goes to show how volatile -- and, dare I say, useless -- wins can be at measuring a pitcher's talent. The damn things fluctuate wildly each season!

For those volume stats -- strikeouts and wins -- what if we stripped away the innings projection and assessed the differing abilities to project future performance on a rate basis instead? Let's take a look at how the previous season and projections fared at predicting future strikeout and win rates:

Metric Season Y         Proj.
K/9 0.615 0.470
W/IP 0.017 0.134
W/GS 0.042 0.169

Hey, not bad! Our ability to project strikeouts per inning (or K/9 in this case) is anywhere from roughly 17-66% better than our ability to project raw strikeouts. Wins didn't fare the same -- somehow wins per inning and wins per game started are less sticky than raw wins. Oddly, when excluding ZiPS, projections actually predict W/GS roughly 5% better than raw wins. I'm not sure what's going on with ZiPS, but I'd rather not waste too much time with wins.

Okay, so far we've seen a mixed bag, but I'd argue this is a big win for projections. They are much better at predicting future ERA and WHIP than their previous, often-cited stats. They're also significantly better at predicting wins. If you must use previous season's stats, it appears the best place to do so would be with strikeouts (K/9 or K%) and potentially innings.

Let's wrap this up by assessing what are the best metrics to use when predicting the four primary "roto" starting pitching categories. 


Metric R^2
Proj. 0.223
SIERA 0.193
xFIP 0.183
K-BB% 0.176
FIP 0.174
K% 0.167
ACES 0.164


Metric R^2
K-BB% 0.294
SIERA 0.251
Proj. 0.238
K% 0.218
xFIP 0.213
WHIP 0.208
ACES 0.205
FIP 0.200


Metric R^2
K% 0.615
K-BB% 0.514
Proj. 0.470
SwStr% 0.464
Contact% 0.456
SIERA 0.360
Z-Contact% 0.343
ACES 0.337


Metric R^2
Proj. 0.188
FIP 0.104
SIERA 0.100
xFIP 0.094
K 0.093
K-BB% 0.088
K% 0.074


Metric R^2
IP 0.155
TBF 0.121
Proj. 0.113
Pitches 0.103


This piece wouldn't be complete without mentioning this -- projection testing is based on one season. I'd love to test multiple years -- similar to the actual stats -- but that will be for a different day. Additionally, we didn't even mention the new Statcast data -- "expected" stats, exit velocities, etc. That will also be for a different day. We could find a near infinite amount of metrics to test, but this should get us most of the way there.

With those caveats out of the way, how should we apply this information? 
  • Projections absolutely need to be used versus the actual stat itself from previous seasons, particularly for ERA, WHIP and wins
  • When evaluating pitchers, bet on strikeouts -- among traditional 5x5 categories, that's the category that we're far-and-away best equipped to predict
  • Use an array of metrics when evaluating and projecting pitchers: projections, ERA estimators (SIERA, DRA - not tested here, xFIP, FIP), K-BB%, K% and ACES.
  • Here's what I'll be looking at to assess and predict a pitcher's performance across the various categories:
    • ERA: Nearly all of the above -- projected ERA, ERA estimators, K-BB%, K% and ACES 
    • WHIP: K-BB%, projected WHIP, SIERA
    • Strikeouts: K%, K-BB%, projected K% or K/9
    • Wins: Projected wins
    • Innings: Previous season's IP/TBF and projected IP
There you have it -- the best tools we have to project pitchers. When the hitting portion of this series is complete, we'll come to see that hitters are more projectable than pitchers. Hopefully this analysis gives you the edge so you know what to look at -- and what not to look at -- while your competitors are poking around in the wrong places.


Read enough fantasy analysis and you're sure to come across someone citing second half splits. Maybe there's good reason for it -- injury, change in talent, etc. But more often than not, it's a case of recency bias.

I tested this using data from FanGraphs for starting pitchers who threw at least 30 second-half innings and then 150 innings the next season. I looked at the r-squared between their second half numbers in season one to the same stats in the full season two.

In essentially every case, you're significantly better off using the full season numbers over the cherry-picked second half numbers when the pitcher "figured it out." Outside of relatively obvious cases like injuries, I'd rather bet on the averages (i.e., full season numbers) while others try and find the outliers.

R-Squared of Full Season vs. 2nd Half Numbers

Metric Full 2nd Half Diff
IP 0.155 0.129 20%
TBF 0.129 0.121 6%
HR/9 0.163 0.086 90%
K% 0.615 0.553 11%
BB% 0.455 0.346 31%
K-BB% 0.553 0.469 18%
WHIP 0.208 0.135 54%
BABIP 0.039 0.031 27%
LOB% 0.025 0.018 38%
FIP 0.312 0.213 46%
xFIP 0.444 0.389 14%
LD% 0.027 0.021 27%
GB% 0.627 0.585 7%
FB% 0.617 0.581 6%
Soft% 0.006 0.010 -42%
Med% 0.065 0.023 183%
Hard% 0.067 0.034 97%
ERA 0.108 0.063 70%

Year-to-Year Stickiness

For reference, I've also included the year-to-year stickiness of all metrics I tested. This is measuring the year-to-year relationship with the metric in one season with itself in the next season.

Metric R^2
ACES 0.764
GB% 0.627
SwStr% 0.622
FB% 0.617
K% 0.615
K/9 0.615
Contact% 0.608
O-Contact% 0.556
Z-Contact% 0.554
K-BB% 0.553
Ks 0.526
O-Swing% 0.501
BB% 0.455
SIERA 0.455
xFIP 0.444
Z-Swing% 0.433
FIP 0.312
WHIP 0.208
HR/9 0.163
IP 0.155
Pitches 0.148
TBF 0.129
HR/FB 0.111
ERA 0.108
Hard% 0.067
Med% 0.065
W 0.045
BABIP 0.039
LD% 0.027
LOB% 0.025
GS 0.018
Soft% 0.006
G 0.003

CBS/SportsLine: Using ACES to Find Pitching Sleeper in Reserves Drafts

I leveraged my new ACES metric to identify 32 pitchers that could be "sleepers" this upcoming season based on the following criteria:

1. Available after pick 200 by NFBC ADP
2. Top third percentile by ACES
3. Wide depth of arsenal (i.e., three pitches thrown 10%+ of the time)
4. Projected ERA by both Steamer and THE BAT below 4.75 to significantly reduce "sucking risk"

I wrote up five (plus bonuses!) for CBS:

The full list of 32 is on SportsLine:

CBS/SportsLine: Introducing ACES, A New Measure for Identifying Pitching Sleepers

I started contributing to CBS and SportsLine for this 2019 fantasy baseball season.

My inaugural post was about the new ACES metric I devised -- leveraging previous arsenal score work -- to identify the best pitchers looking only at their "stuff" (velocity, movement and command).

Despite it being only a two-season sample, the results were very promising -- ACES is among the stickiest metric I've seen and competitively predicts future ERA in line with projections and ERA estimators, and better than ERA itself.

Check out the full post on CBS for the free, public overview:

The full post on SportsLine is behind a paywall and includes the full ACES leaderboard for 2017 and 2018:

Saturday, February 16, 2019

Roto Pope Podcast: Smorgasbord Du Jour: McBae No More, Lakers Tricking and More!

Sean Burch (@seanb44) and Aaron Sauceda (@RotoPope) discuss the finale of the NFL season, NBA trade deadline and a "taste" of baseball in the latest episode of the Roto Pope Podcast:
  • Baseball season is approaching, what do we have in the works?
  • Do Rams' Super Bowl woes make Sean McVay a fraud? (Of course it doesn't, but he was out-coached and missed key adjustments)
  • Mike Francesa isn't completely on bath salts regarding Tom Brady and Joe Montana?
  • Did the Lakers completely botch the trade deadline? 
  • Who won the NBA trade deadline? Are the Bucks the favorites in the East?
  • Our top 10 "Curb Your Enthusiasm" episodes countdown! We discuss #6 in this episode

Saturday, January 5, 2019

Roto Pope Podcast: Closing the Book on 2018, Looking Ahead in 2019

Sean Burch (@seanb44) and Aaron Sauceda (@RotoPope) discuss the NFL season for the latest episode of the Roto Pope Podcast:

  • Recent holiday musings and New Years Eve assessment 
  • Shoe purchase debates 
  • Aaron's 2018 fantasy football recap, including a championship 
  • 2018 fantasy football MVPs and LVPs 
  • Projected top 5 picks for 2019 
  • Aaron's 3-pronged approach for 2019 
  • NFL Playoffs - Sean's wild card weekend gambling picks 
  • Revisiting Super Bowl picks Super Bowl gambling values (Pour one out for the 'Hawks) 
  • Top 10 Curb Your Enthusiasm countdown! Our #7 episodes

Sunday, October 28, 2018

Roto Pope Podcast: Have Mercy on Clayton Kershaw and Those Facing Todd Gurley

Sean Burch (@seanb44) and Aaron Sauceda (@RotoPope) briefly touch on baseball and then dive deeper into the halfway point of the NFL season for the latest episode of the Roto Pope Podcast:

• BS Segment: Don't get Sean started on college basketball

• Clayton Kershaw's divisive playoff resume:

• Don't get overly cute with playoff schedules

• Amari Cooper one last gasp, not this year though

• Hold Corey Davis

• Mitch Trubisky isn't sexy, but rushing QBs are

• Don't go HAM on Jets, but don't forget about Trenton Cannon (or Elijah McGuire)

• Load up on Josh Gordon wherever you can

• Other rapid fire takes on Zach Ertz, Tyreek Hill, Jarvis Landry, Tarik Cohen, Stefon Diggs and Keenan Allen

• Todd Gurley isn't fair

• Eli is trash but Sean is still buying Odell Beckham everywhere

• Top 10 Curb Your Enthusiasm countdown! Our #8 episodes

Wednesday, October 24, 2018

GUEST POST: Clayton Kershaw Chokes ... Again

A familiar October sight (via @LOLKNBR on Twitter) 

There probably isn’t a God. At least, not the one with a fluffy beard that holds odd grudges and wipes out entire tribes in The Bible. There really isn’t much evidence for it.

 But let me present you with Exhibit A in my case against God’s existence: Clayton Kershaw.

The longtime Dodgers ace had another ugly playoff performance in Game 1 of the World Series last night. Four innings pitched, 5 earned runs. It was the latest postseason faceplant in a career unfortunately full of them for Kersh.

Never mind that Kershaw’s defense did him no favors in the first inning. (David Freese looked like he was failing a field sobriety test as he tried to track down Mookie Betts’ foul ball.) Or that the bullpen later allowed two runs to score on his dime. Or that the offense let several opportunities slip by. Or that Alex Wood essentially sealed the Dodgers’ fate, allowing a late 3-run blast. The Dodgers needed Kershaw to come through. They needed him to pitch like the best pitcher of his generation. And he didn’t. Again.

The latest implosion marked the sixth time in 23 postseason starts he’s been charged with 5 earned runs or more. That’s one out of every four games he gets absolutely rocked. And that’s not even counting several other flops — like the 4 runs he allowed in three innings a few weeks ago against the Brewers in Game 1 of the NLCS.

For comparison purposes, he’s had 18 games total out of 316 career starts with 5 earned runs or more in the regular season. In short, he’s four-times more likely to self-combust in the playoffs.

Of course, some of this is understandable. He’s playing against better competition, for one. And a few of his early career meltdowns can be chocked up to Don Mattingly leaving him in the game too damn long. Many Dodgers fans love to point to the bullpen routinely giving up inherited runs on Kershaw’s behalf — pumping his postseason ERA even higher. His 3.58 postseason FIP suggests he hasn’t been as bad as his 4.28 ERA would lead you to believe. And how can he be a choker? He’s thrown plenty of playoff gems, including two this year alone.

I get it. But this is who he is in the playoffs — an enigma. Years of mounting injuries certainly aren’t helping. And crying “small sample” offers no refuge. He's pitched 145 postseason innings at this point — the ninth most in MLB history. By postseason standards — where everything is a small sample — this is anything but a small sample. He walks more guys, allows more hits, and allows twice as many home runs in the playoffs as he does in the regular season.

Even factoring in bad luck, he isn't the same generational talent once the playoffs start. Blowing a four run lead and a three run lead in Game 5 of last year's World Series should've crystallized that once and for all. Any Dodgers fan telling you they feel confident about Kershaw heading into a big game is either lying or delusional.

Which brings me all the way back to my initial claim. Sports are pretty dumb. Jerry Seinfeld famously joked we’re just cheering for laundry. But Kersh is one of those guys that transcends the laundry. You enjoy cheering for him. He seems like a nice dude, even though we really don’t know these guys at all, obviously. His family is adorable. He’s good at ping-pong. He’s got that cool Texas drawl. He’s on the God Squad. He’s dedicated to his craft.

Seriously, how can this guy be the face of postseason failure? I say it with tongue firmly in cheek — because why would god care about sports? — but it seems cruel for a loving deity to routinely punish someone like Kershaw.

Every time a Fox camera catches him sighing in disgust in the dugout — an annual sign Halloween is right around the corner for Dodgers fans — my heart hurts, like I'm watching a family member fail on the biggest stage. If this sounds a little too emotional — approaching Bill Simmons on Roger Clemens territory — well, it probably is. But quotes like this don't help:

"Maybe one of these days I won't fail, we won't fail, and we'll win one of these things," Kershaw told USA Today, after the Dodgers lost Game 7 to the Astros last year. "It's hard. You go through this much effort to win that many games against this many good teams and it's, I mean, I hope to get to this point again."

Well, he's at this point again, but after his first night in Boston, it doesn't look like it's going to go any better.

So God, how about this: instead of striking me down with a bolt of lightening to prove a point, help Kersh get to the mountain top. Just once in his career. And I’ll take that as a sign I need to head back to church. Sadly, I'm doubting that'll ever be the case, though.

Sunday, October 7, 2018

GUEST POST: NFL Week 5 Picks: Crashing and Burning

Ohhh the humanity. After three weeks of gambling bliss -- reaching 31-16-1 against the spread on the season, after a sparking 12-4 showing during Week 3 --  it all came crashing back to reality. It had to, really. I couldn't possibly go through life with a permanent Cheat Carroll-chewing-gum-and-shamelessly-strutting-like-a-smug-prick look on my face. (Yes, I just wanted to share that gif for the 10,000th time.)

And yet, that's how it felt until last week's ungodly 3-10-2 performance ATS. But that's what I get for thinking Ryan Tannehill was poised to go into Foxboro and potentially strike a death blow to the Patriots dynasty -- and run to 4-0 in the process. Or trusting the Chargers and their cardboard cutout of a coach to cover a double digit spread. Or not realizing Mitch Trubisky was on the verge of greatness and set to throw 6 touchdowns against the high school-level Tampa Bay defense.

Look, I'm not going to sit here and dissect it with ya. It was ugly. I've spent the last few days researching, soul-searching, and training, a la Rocky running on the beach with Apollo to get his groove back in Rocky III.

That's the good stuff. I'm feeling reborn. Let's see if we can return to the halcyon gambling days this week.

The Picks: 

Indianapolis Colts (+10) at New England Patriots

Not off to a great start

Baltimore Ravens at Cleveland Browns (+3) 

Jacksonville Jaguars (+3) at KC Chiefs

Tennessee Titans at Buffalo Bills (+6)

New York Giants (+6.5) at Carolina Panthers

Denver Broncos at NY Jets (+1)

Atlanta Falcons at Pittsburgh Steelers (-3.5)

Green Bay Packers at Detroit Lions (-1.5) 

Miami Dolphins (+6) at Cincinnati Bengals

Oakland Raiders (+5.5) at LA Chargers

Arizona Cardinals (+3.5) at SF 49ers

Minnesota Vikings at Philadelphia Eagles (-3.5) 

LA Rams (-7.5) at Seattle Seahawks

Dallas Cowboys (+3.5) at Houston Texans

Washington Redskins at New Orleans Saints (-6) 

Wednesday, October 3, 2018

Roto Pope Podcast, Quarter-Season Takeaways: Hide Your Rams

Aaron Sauceda (@RotoPope) is joined by special guest Nick Firestone (@Nick_Firestone) as they deep dive into the NFL season:
  • Early season takeaways: Passing production is at an all-time high and good luck if you don't own any Rams
  • Drop Chris Hogan for Keke Coutee and Taywan Taylor
  • TE is a death trap, but Ricky Seals-Jones, CJ Uzomah and Cameron Brate could be frisky (and stash OJ Howard if you can)
  • Buying the Titans: Marcus Mariota is back, buy low window on Corey Davis is slammed shut
  • Jared Goff is a stud, hide your Rams
  • Early-season reflections -- biggest tilts: Not getting enough exposure to explosive offenses, namely Rams and Falcons
  • Alvin Kamara is not human, but Mark Ingram remains a strong hold
  • Rookie RBs: Sell league-winner Sony Michel and Royce Freeman? Buy Kerryon Johnson and Ronald Jones?
  • Buy boring WRs Devin Funchess, Jarvis Landry and Quincy Enunwa; Buy or hold Tyler Boyd
  • Fade Antonio Brown at your own risk

Sunday, September 23, 2018

GUEST POST: NFL Week 3 Picks: Dog Day Afternoon...Again

Hold on. After another strong week -- 10-6 against the spread, after 9-6-1 to open the season -- don't mind me if I'm still walking around town in full Cheat Carroll mode. Let's just get it over with. Here's the gif:

Alright, now that that's out of the way, let's move onto Week 3, shall we?

Sorry to say, but I'm running short on sleep and even shorter on analysis at the time I'm posting this. (I guess that's what happens when you have a few Rainiers in your system.) But it's going to be another dog day afternoon. And some of these obviously don't feel great. The Titans -- with the Roto Pope listed as their third string quarterback -- covering the 10 point spread in Jacksonville? The freaking Bills not getting absolutely smoked in Minnesota? Yea, I'm rolling with it.

The dogs have treated us well in the first two weeks -- not counting the Roto Pope's inexplicable moneyline bet on the dreadful Arizona Cardinals in LA, of course -- so I'm sticking with them once again.

And the Roto Pope has once against blessed us with his picks from on high. He's feeling the under on the New England/Detroit, New Orleans/Atlanta and San Francisco/Kansas City matchups. He also likes the moneyline and spread on the Chargers (+265) in LA, the Titans (+370) at Jags and Bills (+850) at Minnesota.

Let's see if we can keep the good times rolling this week, shall we? And be sure to check back for the next Roto Pope podcast dropping later this week to recap the success -- or destruction -- from Week 3.

Sean B's Picks:

NY Jets (+3) at Cleveland Browns

Indianapolis Colts (+7) at Philadelphia Eagles

Cincinnati Bengals at Carolina Panthers (-3) 

Tennessee Titans (+10) at Jacksonville Jaguars

New Orleans Saints (+3) at Atlanta Falcons

*Down to +1.5 for New Orleans at several spots. But we grabbed it earlier in the week. Saints need it.*

Denver Broncos (+5.5) at Baltimore Ravens

New York Giants (+6) at Houston Texans

Oakland Raiders at Miami Dolphins (-3) 

Green Bay Packers (-3) at Washington Redskins

Buffalo Bills (+16.5) at Minnesota Vikings

San Francisco 49ers (+6) at Kansas City Chiefs

Los Angeles Chargers at Los Angeles Rams (-7) 

Chicago Bears at Arizona Cardinals (+6) 

Dallas Cowboys at Seattle Seahawks (-1.5) 

New England Patriots at Detroit Lions (+7) 

Pittsburgh Steelers (pick 'em) at Tampa Bay Buccaneers

Saturday, September 22, 2018

Roto Pope Podcast, Episode 14: Special Guest X, NFL W1 Betting Triumphs, W2 "Locks"

Sean Burch (@seanb44) and Aaron Sauceda (@RotoPope) are joined by special guest and friend of the pod, Zach/Boppas, as they engage in various topics for the latest episode of the Roto Pope Podcast, including:
  • Introducing friend of the RP pod and gambling extraordinaire, Zach "Boppas" / "HaralaBoppas" Davis
  • Week 1 Betting Triumphs: Sean and Boppas Go Nuclear
  • Looking Ahead to Week 2: Who are the "Locks"
  • Aaron's Process Tilting, Points to Cardinals as Auto-Bet (@ Rams)
  • "Curb Your Enthusiasm" Countdown! Our top 10 episode countdown, with this episode being #9