As you may know, the Catch Probability that Statcast uses is based at its core on a distance v time chart, as you see on Savant. If you click on that link, you will see a “line” where all the tough plays happens. That was the first iteration of the metric, and it worked out pretty well. Since then, we’ve incorporated an “is back” parameter, so that any ball in which the fielder has to run +/- 30 degrees from straight back is given one degree of difficulty (essentially it turns what otherwise would be 4-star plays into 5-star plays, and 3-star plays into 4-star plays, etc).

We’re also in the middle of incorporating “wall balls”, essentially removing as an opportunity any basehit where the outfield fence is an impediment to making the play (defined as the ball landing within 8 feet short of the fence or beyond).

From this point, we can figure out a player’s “plus-minus”, much as you’d see with UZR. The baseline however is the generic OUTFIELDER, and not a generic position-specific outfielder. If a ball lands half-way between CF and RF, we don’t say that McCutchen had a 30% catch probability if he was a RF and a 40% catch probability if he was a CF. An OBP is an OBP. As a NEXT step, you can decide to compare OBP by 1B and by C if you want. But, at its core, you want a common baseline as much as you can. That said, you can have BOTH. We can get there.

Now, about the difficulty. We can see whether our current model (the one based on distance/time, the is-back and the wall-balls) works, by comparing outfielders who play CF and who play one of the corners. We do this by using the “delta method”, comparing players in both groups, giving the amount of weight equal to the lesser of the two positions they played. We have 154 outfielders, totalling 5326 plays since 2016. These players, as CF were expected to catch 85.5% of the balls in play (using a generic outfielder) and they actually caught 88.5%, or +.030 outs per ball in play. These same players as a corner outfielder were expected to catch 83.6% and actually caught 86.6%, or a difference of… +.030 outs per ball in play.

We’ve determined therefore that the model doesn’t require a “degree of diffuculty” positional adjustment beyond what we’ve already captured. We can therefore compare a CF to a corner outfielder using the same model, and put them on the same baseline.

AFTERWARDS, we can do positional adjustments. But that’s secondary to the primary focus of the model.

]]>

Bill has a seemingly aggressive weighting, giving more weight to the recent performances. Basically, in the last 365 days, the pitcher is going to get some 60-65% of the weight. MGL likely follows a Marcel-like weighting scheme. That means that the most recent 365 days probably gets 1/3 the weight maybe 40% of the weight.

This year, Scherzer is 0.8 or 0.9 WAR ahead of Kershaw. Last year, Kershaw pitched 65% as much as Scherzer, so that, while pitch for pitch, Kershaw was way ahead, when you include playing time, they were around even. The years before that Kershaw was ahead.

The WARcels has a weighting scheme of 60/30/10, which is fairly close to what Bill uses implicitly. From that standpoint, WARcels has Scherzer even or just ahead of Kershaw.

So, that’s what it comes down to, the amount of weight to give this year, and how much weight to give the playing time. Once you do that, then the answer will become more obvious.

]]>

His main issue is that he basically used a chart like this:

And simply added up those values for every batted ball. Prima facie, this is entirely reasonable. You have a high pop up? Let’s count that as close to a 0 wOBA (i.e. out). You have a 28 degree 115mph shot? Let’s count that as close to a 2.000 wOBA (i.e., HR). And I would say 99% of researchers would do exactly that.But, what if I tell you that the ENTIRETY of a player’s batted ball profile can be determined by the frequency of his barrels? That is, rather than assign a value to every batted ball, let’s only assign one value, the same value, to simply those 6% of the balls that falls into the “barrels” category?

You’d think I’m crazy, right? Look how strong that relationship is, looking at barrels to wOBA the following year (not wOBA on batted balls, but overall wOBA including BB and K!)

Well, Andrew just demonstrated that it’s better to discard 100% of the batted balls, than to include all of them. (Voros is smiling.) And I’m saying, let’s at least START by discarding 94% of the batted balls, and focus on the 6% hit at the ideal speed+angle.

Then, you can start adding a bit more. You can add the near-barrels, those well-struck balls that just missing being barrels. You can add the flares and the burners. And so on. Once you do this, then you’ll be in a much better position to forecast the future.

]]>What do I mean by that? Well, each NBA game tells you a great deal more about the teams than each NHL game. So, if we suspect that the Celtics have a .620 home site advantage and the Bruins have a .550 home site advantage, then we’d guess something like .610-.630 for Celtics and .525-.575 for Bruins.

Now, if we bring in the Patriots, we know more on a per-game basis for the Patriots home site advantage than the Celtics. However, because we have so many more NBA games, our uncertainty level will get reduced far faster with NBA than NFL.

More to come as I try to compose my thoughts on this matter…

]]>

follows a Beta distribution with parameters alpha + S and beta + F, where S is the number of observed successes and F is the number of observed failures

Say “alpha” and “beta” and you lose 99% of your audience. I have no idea how those terms came to be, but it was clearly one statistician talking to another statistician.

In Regression Toward the Mean speak, when we have alpha+beta number of games, that’s how many games you want to add to your existing record. Using the article’s numbers, that number is 49 games. You add 49 games of a .500 record to your current record to get your forecasted record. That’s what the article is doing.

Big congrats on the article, and it’ll be the one I point people to.

Now, a major quibble: 49 games? Way too low. The article chose 1961-present. There’s just too much variation in how teams operated, not to mention the number of teams is not comparable, which further exacerbates how talent is distributed. If you do it by era, I would expect to see things very different. I have not run it recently, but about 10 years ago when I did do this, the number of games of .500 record to add was around 70 games.

Therefore, the next step is to show it by era and see how many games of .500 to add.

]]>

One of the interesting things that you have to be aware of in data is the selection bias issue. For example, suppose that a pitcher who only waits 12 seconds to throw a second fastball after having just thrown a fastball, why would he do that, instead of waiting 21 or 24 seconds? Perhaps because he wants to keep the hitter on his toes, and is quick pitching him, as one possibility? What is unclear in Rob’s data is whether the pitcher is actually more effective. Is it possible that the longer he takes, that the benefit is not only to the pitcher, but also to the batter? So, Rob (or anyone that has the timestamp data) can followup his study to show the “linear weight run value” of the next pitch, in each of his groupings.

For my part, what I did in parallel is to look at all fastballs (coded as FF, FT, SI in the BAM data), and look for the subsequent pitch, and making sure that subsequent was the same pitch type (so, pitch numbers 2-3 are FF-FF, or pitch numbers 3-4 are SI-SI, but not FF-SI) within the same plate appearance.

The average of the first pitch in the two-pitch sequence was 92.84mph and the second was 92.97mph. So, setting aside the “wait time”, we see that the pitcher will gain 0.13mph on his subsequent pitch of the same pitch type. Maybe it’s because he gets into a rhythm and it’s just easier on the 2nd pitch than the first. Therefore, a possible “familiarity effect”.

This is what I did. I first broke up the data based on whether it was the first pitch of the plate appearance or not. Then I not only looked for back-to-back, but also a three-pitch sequence and a four-pitch sequence. And in every situation, the speed went up by right around that 0.13 figure.

Rob’s data seems to suggest that that 0.13 value itself (or some number close to it) also had a relationship to the “wait time”. So, not only do we have a “wait time” effect, but also simply a “familiarity” effect.

]]>We see that when he maximized exit velocity, he ended up launching at only 10 degrees, for a distance of under 350 feet. Stanton, as all batters, and all golfers, will give up speed for loft. While a bit too simplistic, these guys are trying to maximize distance. For the most part. Some hitters don’t have the power to do that, so they aren’t maximizing distance. Every hitter is different, so any kind of “rule of thumb” has to acknowledge there are 4 other fingers to consider.

Anyway, so since 2016, we have 369 batted balls from Giancarlo Stanton. What we can do is line them up, from highest to lowest launch angle, and ask this question: which window of his launch angles will give us the largest exit velocity?

For Stanton, the answer is 5 degrees. More specifically, the 45 batted balls most concentrated at the highest exit velocity is between 0 and 11 degrees of vertical launch, for an average of 5 degrees. The average exit velocity in this window is 104mph. Why 45? That’s one-eighth? Why one-eighth? I don’t have a good answer. I can give you a DECENT answer. If I repeat this exercise for all batters, the average exit velocity in the “maximum” window is 96mph. Since a batter is trying to reach a threshold of 95mph, this seems to give a decent answer. However, I’m not married to the one-eighth. I can change that to 5% or 1%. Or anyone out there can redo exactly what I did, as all the data is available on Savant.

Repeating the Stanton exercise for all batters, and the range is +30 degrees (James McCann, followed by Miguel Montero, Freddie Freeman) down to -15 degrees (that’s a minus 15, for Billy Burns). You can see his chart on Savant.

The average of these maximum exit velocity windows is 9.5 degrees. Which lines up perfectly with what we saw from Giancarlo Stanton at the HR derby. But as noted, players will give up speed for loft, and the players are going a degree or two higher than that to maximize performance.

]]>I have included notes, in the atypical cases.

http://tangotiger.com/images/uploads/switch_hitters.html

]]>

]]>

(*) I like giving names that come ready with their own theme song. WAR and wOBA (wubba-wubba-wubba). I have to create SOTW someday (so I can get the kicka$$ intro of Smoke on the Water).

In this installment of WOWY, I will compare the pitcher release speed in 2015, 2016, based on the two systems that MLBAM was using. The old discontinued method was camera-based, and the current method is radar-based. Let’s take it step by step.

**Step 1**

The first step is simply to take an average of all the pitches recorded. We are not distinguishing between “fastballs” and “curveballs” and any other nomenclature for a pitcher’s arsenal. At least, not in this first step. And we are not distinguishing between home and away pitchers. We are simply taking an average of all pitches.

Note that while both systems were installed at every park, not every single game was up and running with each system. Or even if it was, there were some pitches that were missed by one or the other. Also note that each system has its own measuring points, and so, the two speed values, while proportionate, won’t be identical.

Using the radar system, the fastest recorded speeds on average was at Progressive Field in 2016, an average pitch was 89.50 mph, followed closely by Citi Field in 2016 at 89.49. Using the camera system, the fastest recorded speeds was Citi in 2016 at 89.22, followed by PNC at 89.20. The three parks that has the slowest pitches recorded were the same under both systems, albeit in slightly different order: radar-based has Angel Stadium in 2016 (86.87), Minute Maid in both 2016 (86.96) and 2015 (87.23), and camera-based is 86.88, 86.54, 86.75, respectively. While the overall correlation is strong (r=.83), it’s not as strong as one would expect.

**Step 2(a)**

Now, knowing Thor and the other flamethrowers make up a disproportionate share of pitches thrown at Citi, it’s not a surprise that the fastest pitches were at Citi. And Jered Weaver at Angel Stadium would bring down any average. The above numbers aren’t just a reflection of the parks, but also of the pitchers. Indeed, in order to remove the influence of the pitcher, we need to figure out each pitcher’s impact on those parks. And we do that by comparing how each pitcher’s speed was recorded at that park, and away from that park. Let’s take two examples, Adam Wainwright and Kyle Hendricks, at Busch, in 2016. Using the radar system, Wainwright had 1599 pitches recorded at Busch at an average speed of 84.1 mph. Away from Busch, he had 1554 pitches at an average speed of 84.6 mph. That difference is 0.5 mph slower at Busch. Doing the same thing with the camera system, and Wainwright was recorded at 84.2 at Busch (1604 pitches) and 84.1 away from Busch (1580 pitches), for a difference of 0.1 mph HIGHER at Busch.

There could be a few reasons for this. You will note the pitch counts are not identical meaning there were some pitches recorded by one and not the other. Wainwright’s arsenal wasn’t necessarily the same home and away, though one would think that given the huge number of overlapped pitches that this wouldn’t have much of an effect. We’ll get back to that in a later step.

Repeating with Kyle Hendricks at Busch, and we have 180 pitches at Busch at 85.0 mph and 2861 away from Busch (obviously a good portion at Wrigley) at an average of 85.3 mph, for a net negative of 0.3 mph at Busch. With the camera system, he had 164 pitches at Busch (84.8 mph) and 3079 away from Busch (84.6 mph), for a net POSITIVE of 0.2 at Busch.

**Step 2(b)**

Since we did this for Wainwright and Hendricks, we can repeat this for every pitcher who pitched at Busch and away from Busch. We have 229 pitchers using the radar system and 236 using the camera system. We obviously don’t want to weight each pitcher equally, since some pitchers like Ben Rowen threw less than 50 pitches at Busch and away from Busch, while we had Wainwright at over 1500 in both scenarios. What we do is take the smaller of the two numbers, and use that as the weight. For Wainwright, his weight ends up being 7.4% of all pitchers with the radar system and 7.2% with the camera system. Rowen ends up being less than a tenth of one percent.

And what do we get for Busch? The radar system says -0.2 mph of a Busch effect while the camera system says +0.4 mph for the Busch effect. Which one is right? It’s hard to tell. I can say that when I repeat this in 2015, the camera system gives us a -0.5 mph for the Busch effect, much closer to the radar 2016 effect. And the radar in 2015 says -0.2 mph a match to 2016. And so far in 2017, Busch is AGAIN at -0.2 mph of an effect.

**Step 2(c)**

Naturally, since we did Busch, we repeat this for all the parks. Using the radar system, the park that is most different from the other 29, is Sun Trust at -0.4mph. Every other park is +/-0.2 mph. With the camera system, the range is from +0.8 to -0.7 mph. And it’s not just two parks. The standard deviation (SD) using the radar system is 0.13 mph, while using the camera system is 0.36 mph. Repeating this for 2015 and we have similar results: the radar SD was 0.17 and the camera SD was 0.41. Based on this method, the radar system was simply more consistent park to park.

**Step 3**

Now, as you remember, I used ALL pitches, without trying to separate a fastball from a curve. The reason I did that, first, is that we want to have a baseline with as little adjustments as possible. Always do something as simple as possible, but no simpler. You can reasonably argue that the above method was TOO simple. In this step, what I did was take each pitcher’s “top speed” pitches, which I’ve identified as simply the 25% fastest pitches a pitcher threw. Taking the case of Wainwright, of his 1599 pitches from the radar, his 400 fastest pitches at Busch averaged 91.3 mph, while away from Busch was 91.6 mph, for a net negative of -0.3 mph. Using the radar system, Busch ends up with a net effect of -0.3 mph on the “top speed” pitches, while the camera system has it at +0.3 mph. That’s for 2016. For 2015, the radar has it at -0.1 mph, while the camera is at -0.6. With respect to Busch, there was a large inconsistency with the camera system.

When doing it for all parks, the SD was 0.13 with the radar and 0.39 with the camera, in 2016. In 2015, it was 0.16 with the radar and 0.41 with the camera. Again, using this method, the radar is much more consistent than the camera.

**Step 4**

This is the part where I (a) make it an apples to apples comparison by only focusing on pitches tracked by both systems and (b) introduce a potential issue by throwing out data which may or may not help one or the other system. So, what happens? I dunno, let me run that right now. Be back in two minutes…

That took a little longer. Daren stopped by to say hi. Anyway, so matching to make sure that both the radar and camera recorded the same pitch, and that the two speeds were “relatively close” to each other (I put in a check of 98% to 101% of the camera system divided by the radar system speeds, which ended up leaving us with 99.4% of all pitches), and we get similar results as being reported above. Specifically: using the same 1.3 million pitches tracked by both systems in 2016 and 2015, we get these results:

No matter how I try to dissect the data, the results always end up being very similar. It’s certainly possible that a more nuanced comparison could change the results somewhat. However, given the kind of results we’ve seen, it seems extremely unlikely that this would be the case. In any case, aspiring saberists are always invited to flex their saber muscles and show us what they’ve got.

**Next Step**

I’ve created the process to make it very simple for me to run against any recorded data. The next one I will run is against breaks. I’ll be very interested to see how that one turns out. I’ll also split that one up by batting and pitching hand, since the left-right might have some bias based on either/both/neither tracking system.

]]>

Note that these files have been deprecated and are no longer in use in any of our MLB products. However, we will continue to support them for the forseeable future, so as to ensure a continued resource for researchers and other consumers.

End points will reflect the data consistent with how we currently use the data for other business purposes, as well as our other products and services, without any translation or assurances of backwards compatibility beyond formatting and presentation of data.

]]>And from what I remember, the average starting LF is a worse fielder than his backups, and this was the only position that this was true. That was a good 5-6 years ago I think, so it would be another thing to look at.

]]>And we can see that the gap between the straight red line and the curve blue line is about 1.7 feet. Since we can pick a tangent from any point of the curved line, we can pick one out at 42 feet out. When we draw that line (in green), we see the spinless ball would land at about 0.7 feet, or an offset of 1.0 feet with the spin.

So, did the ball break 1.7 feet, or 1.0 feet? Well, both. It broke 1.7 feet 55 feet out, and 1.0 feet 42 feet out. So in this illustration we have a scale factor of 1.7/1.0 or 1.7, depending on where you start the measurement.

Indeed, Alan noted that the amount of movement is proportional to the square of the distance it travels. So picking up the ball at 55 feet out or 42 feet out means that we’d expect a multiplier effect of 55/42 squared, or 1.71.

We can see this in the data being provided based on out of pitcher’s hand (just over 54.4 feet from the back of home plate, or right around 53 feet from the front of home plate) using the 2017 standards in Statcast from the current vendor, compared to the prior standards of a previous vendor of around ~40 feet from the front of home plate. If we assume that that prior standard was 41 feet, then 53/41 squared is 1.67. And this is how it compares in practice, using the data provided by the current vendor, both based on current standards and prior standards:

So, why make the change? Well, as noted a few weeks ago, when discussing pitch speeds, we actually observe the pitch speed out of the hand. We observe the release point, out of the hand. Everything is based out-of-hand. Since we can measure things out of hand, we report the values being measured. So, movement is based out-of-hand. That’s our starting point for the pitch data.

***

A special thank you to Alan for, well, basically, everything. The entirety of this post would not have been possible without Alan’s generosity.

]]>

The traditional way is to follow the delta approach. You can see an article I did, along with the underlying data. A few years later, I tried something a bit different, which I may actually prefer, and that was the “five year window”: for every player, beginning with his first year, choose his first five years and see where he peaks. Do that with his second year, using years 2 through 6. And so on.

Bill’s method follows some combination of the two. He normalizes every player based on his career totals. Then he averages by age. It probably has the effect of depressing the results, because 2 and 3 years players are being compared with its own year already in there. It MIGHT be better if Bill were to compare to “rest of career” instead of “entire career”. But then again, it has a sort of regression-toward-the-mean component built right in.

Anyway, you guys can compare Bill’s results to mine (the component one), and see if there’s anything that sticks out. One of the interesting findings of Bill, which confirmed what I had, was that the walk rate peaks very late (age 36 for Bill and 37 for me).

***

Note: I use a different definition of age from Bill. I have a math reason for it. If you love math, you’ll agree with me. If you don’t love math, you’ll be 50/50. If you are an inertial reasoner, you will definitely not agree with me.

]]>In the offseason, the priority we had was: no nulls in launch angle and speed (and as much as possible spray direction). And we finally reached that point. We have several levels of processing for the data. We have radar tracking on the ball, which may or may not tell the full story each and every time. We have camera tracking on the ball, which may or may not tell the full story each and every time. We have camera tracking on the players, which may or may not tell the full story each and every time. We have timestamps for all this. Occasionally, none of the play was picked up, be it in a biased reasoning (high popups) or an unbiased reasoning (tracking system was down for half an inning). But, we have stringers that tell us what they think happened for every single play. We have the actual outcome of the batted ball. Every piece of data has a confidence level, so based on the confidence level of the source, we weight the various sources as best we can to represent the play in the most accurate way possible.

As an example, if the tracking system was down, we rely totally on the stringer and the outcome. So a groundball out would get assigned -14 degrees, 84mph, because that’s the average of all groundball outs. But if the tracking system was up, but simply missed the play, we consider that “biased”. In that case a GB out would get assigned -21 degrees, 83mph.

See, in the case that the tracking system is operational, the kinds of plays it misses on are sharp grounders and high popups. So, we have to treat them differently. This is essentially the worst-case scenario. Well, the really worst-case is that we provide nulls, which is the same thing as giving out the “average” value of all batted balls, so say +11 degrees launch. This is what causes bias in the data, and this is what we need to avoid with the no-nulls requirement.

Far more often, we have more precise tracking via the radar and/or camera, and so the uncertainty level is much smaller. All to say, there are now no nulls in batted balls launch parameters, as it pertains to launch angle and speed. This applies to ALL batted balls. And this should get reflected on Baseball Savant in the coming days. We are working on making this retroactive to 2015, because we have the data. This is the cool part that any time we come up with better ways to estimate, we can rerun on all the data. It just takes time to reprocess all the games, and make it hit all the endpoints.

]]>