Navigation: Jump to content areas:


Pro Quality. Fan Perspective.
Login-facebook
Around SBN: Dan Marino Starting College For Developmentally Disabled

Slicing Up Bob Howry

In the Randy Johnson thread, things moved on into Bob Howry.  As a Cub fan, I lamented his performance and wished the Giants luck.  Or words to that effect.

The question surrounds Howry's fastball, or questions.  They are

  1. How much slower was it in 2008 vs. 2007?
  2. Was his performance impacted by the velocity?
  3. Was his performance impacted by the location?

I'll measure performance four ways

  1. Whiff Rate (whiffs/swings)
  2. Fat Rate (pitches in the middle 8 inches, within the top/bottom strike zone)
  3. BB/9 Inning (not pitch specific)
  4. BABIP (not pitch specific)

I'm breaking time down by month.  The first two metrics are specific to the fastballs, and are based on PITCHf/x data.  The last two are general, and were taken from Baseball Reference (and they combine Mar/Apr and Sept/Oct).  For PFX sampling reasons, I'm using July-September 2007 and April-September 2008.

This is a test.  If this were actual analysis I would've actually tried this before.  We'll see what happens.

First, the zones - the darker are in the middle is "Fat", the solid areas flanking it are "Sides", then "Edges" (now off the plate) followed by "Off" and "Wide" (or "Wild"). 

Zones_medium

Actually, the Sides are just a hair short of the 17 inch plate.  The fat is 8 inches, 4 on each half, and the plate is 17 inches.  So part of each Edge is a rule book strike.  All of the Edges are within the zone that umpires and batters seem to actually see/play/call.

Updated: League #'s for the slices ... much more in the comments

cfx # Fat Side Edge Off Wide
FA 101,132 0.210 0.191 0.154 0.104 0.058

Howry's fastball is less "fat" than the average FA in the above sample

Howry's raw numbers ....

mon. yr. n Fat MPH BBp9* BABIP* Swing Whiff
7 2007 101 0.178 94.2 0.7 0.359 0.505 0.196
8 2007 189 0.180 93.9 2.5 0.176 0.571 0.204
9 2007 156 0.199 94.8 1.2 0.268 0.622 0.186
4 2008 168 0.202 90.8 1.4 0.391 0.548 0.098
5 2008 143 0.224 92.1 1.8 0.318 0.546 0.154
6 2008 124 0.194 93.3 0.9 0.344 0.532 0.121
7 2008 171 0.175 92.8 1.4 0.238 0.579 0.172
8 2008 120 0.150 92.2 0.8 0.361 0.542 0.108
9 2008 98 0.174 91.7 5.4 0.478 0.510 0.280

Pictures ...

Star-divide

Howry9_medium Howry10_medium Howry11_medium
Yea, I'm not getting anything.  This was only a test.  The metrics applied may not be useful, the samples too small, the analysis too crude.  But, it is another way of trying to put PITCHf/x together with performance - something I've found challenging to date.

Bonus: Speed Charts for Howry. 

Howry1_medium Howry2_medium

Comment 21 comments  |  1 recs  | 

Do you like this story?

Comments

Display:

How awesome is Harry Pavlidis?

The answer is “quite a bit.”

Webmaster of Driveline Mechanics
http://www.drivelinemechanics.com - An Unconventional Look at Scouting

by Kyle Boddy on Dec 30, 2008 5:40 AM EST reply actions  

I think you've got a good start

I wonder if distance from the center of the strike zone might be a way to describe pitches.

I think it can be pretty critical information. It would stir a lot of discussion if there were a simple way to express something like Jamie Moyer’s strike zone with hard underlying data. I doubt the Brewers beat him in the playoffs if he got his special outside strike calls and I think he would have lost his Series game if he didn’t get it.

I can also remember a discussion of Pujol’s strike zone after a series when he got a handful of pitches called balls that traveled down the middle of the strike zone. Bonds had similar discussions.

by ol Pete on Dec 30, 2008 11:22 AM EST reply actions  

Possibly

The middle-zone idea was Sky’s, and I think it makes sense. I usually use the zone and the paint, as it were, but I’ve also sliced the zone up 9 ways, or just sliced up everything 9 ways (the zone in the middle, then everything else out of zone).

I think one approach may be as such

1) Identify the highest SLG zone for each hitter (good luck with Vlad)
2) Measure pitcher’s abilities to avoid those spots with different pitches

This is flawed – assumes even scouting – but so is using the middle of the plate. Middle in and down may be the sweet spot for a lot of hitters.

by Harry Pavlidis on Dec 30, 2008 11:35 AM EST up reply actions  

Number 1 sounds a lot like the “hot zone” in its various incarnations. Two is sort of but not exactly the converse. You’re right about that sweet spot, but thinking about it I don’t think there are many hitters who don’t have a high number down the middle.

by ol Pete on Dec 30, 2008 12:10 PM EST up reply actions  

I just added

League #‘s for the slices. The rates don’t add up to 1.00 for a reason – there is an “other” category of pitches that aren’t covered – that 30% or so are too high or low to be a strike, but, could be important anyway (particularly closer to the zone).

by Harry Pavlidis on Dec 30, 2008 12:33 PM EST reply actions  

Care to share the query you use for splitting into slices?

I’m curious to see the resulting BABIP and SLGBIP for each of those.

I’m willing to do the work (well some of it anyway) if you can save me the time of re-figuring the borders of the slices.

Thanks.

by Dan Turkenkopf on Dec 30, 2008 12:50 PM EST up reply actions  

I'm doing the same, but the more the merrier
select
t.cubsfx_type,
 count(t.pitch_id) as `#`,
SUM AND (b.TopAvg >= t.pz) AND (t.px >=-.3335) AND (t.px <=.3335),1,0)) /
  count(t.pitch_id) as `Fat`,
SUM AND (b.TopAvg >= t.pz) AND ( (t.px >=-.667 AND t.px < -.3335) or (t.px <=.667 AND t.px >.3335) ),1,0)) /
  count(t.pitch_id) as `Side`,
SUM AND (b.TopAvg >= t.pz) AND ( (t.px >=-1 AND t.px < -.667) or (t.px <=1 AND t.px >.667) ),1,0)) /
  count(t.pitch_id) as `Edge`,
SUM AND (b.TopAvg >= t.pz) AND ( (t.px >=-1.3335 AND t.px < -1) or (t.px <=1.3335 AND t.px >1) ),1,0)) /
  count(t.pitch_id) as `Off`,
SUM AND (b.TopAvg >= t.pz) AND ( (t.px >=-1.667 AND t.px < -1.3335) or (t.px <=1.667 AND t.px >1.3335) ),1,0)) /
  count(t.pitch_id) as `Wide`

from
tspin t,
atbats a,
tbatters b


where
 length(t.cubsfx_type) = 2 and t.cubsfx_type = ‘FA’ and
t.ab_id = a.ab_id and a.batter = b.mlbid


group by 1
;

Is how I do it. But that has some custom tables (departures from the base data etc). You could replace b.BotAvg with 1.45 and b.TopAvg with 3.55 (or something like that) and be close enough. Try this

select
t.pitch_type,
 count(t.pitch_id) as `#`,
SUM AND (3.55 >= t.pz) AND (t.px >=-.3335) AND (t.px <=.3335),1,0)) /
  count(t.pitch_id) as `Fat`,
SUM AND (3.55 >= t.pz) AND ( (t.px >=-.667 AND t.px < -.3335) or (t.px <=.667 AND t.px >.3335) ),1,0)) /
  count(t.pitch_id) as `Side`,
SUM AND (3.55 >= t.pz) AND ( (t.px >=-1 AND t.px < -.667) or (t.px <=1 AND t.px >.667) ),1,0)) /
  count(t.pitch_id) as `Edge`,
SUM AND (3.55 >= t.pz) AND ( (t.px >=-1.3335 AND t.px < -1) or (t.px <=1.3335 AND t.px >1) ),1,0)) /
  count(t.pitch_id) as `Off`,
SUM AND (3.55 >= t.pz) AND ( (t.px >=-1.667 AND t.px < -1.3335) or (t.px <=1.667 AND t.px >1.3335) ),1,0)) /
  count(t.pitch_id) as `Wide`

from
pitches t
group by 1
;

by Harry Pavlidis on Dec 30, 2008 1:17 PM EST up reply actions  

What database software do you use?

MySQL is complaining about the use of SUM AND. I haven’t spent the time to really dive into it in detail yet.

On a side note, is your tbatters table a calculated top and bottom strike zone for each batter? Did you simply average the pitchfx recorded values?

by Dan Turkenkopf on Dec 30, 2008 4:29 PM EST up reply actions  

that's a goof from the comment formatting

Try this (and, about the zones, tbatters is the lookup table I use that has the average PFX operator zone top/btm for each hitter).

select
t.pitch_type,
count(t.pitch_id) as `#`,
SUM(if((3.55 >= t.pz) AND (t.px >=-.3335) AND (t.px <=.3335),1,0)) /
count(t.pitch_id) as `Fat`,
SUM(if((3.55 >= t.pz) AND ( (t.px >=-.667 AND t.px < -.3335) or (t.px <=.667 AND t.px >.3335) ),1,0)) /
count(t.pitch_id) as `Side`,
SUM(if((3.55 >= t.pz) AND ( (t.px >=-1 AND t.px < -.667) or (t.px <=1 AND t.px >.667) ),1,0)) /
count(t.pitch_id) as `Edge`,
SUM(if((3.55 >= t.pz) AND ( (t.px >=-1.3335 AND t.px < -1) or (t.px <=1.3335 AND t.px >1) ),1,0)) /
count(t.pitch_id) as `Off`,
SUM(if((3.55 >= t.pz) AND ( (t.px >=-1.667 AND t.px < -1.3335) or (t.px <=1.667 AND t.px >1.3335) ),1,0)) /
count(t.pitch_id) as `Wide`

from
pitches t
group by 1

by Harry Pavlidis on Dec 30, 2008 6:07 PM EST up reply actions  

Yep that did it

Thanks. Sorry for making you do my dirty work.

That’s what happens when I’m flitting back and forth from project to project.

by Dan Turkenkopf on Dec 30, 2008 6:15 PM EST up reply actions  

Here's an example

While digging up older work on Penny for a new post here, I found this

Marquis v Penny which has slugging against by pitch type. I lost the code for that (thought I had a back-up, not so much), but I’m reconstructing it today, along with ground/line/pop/fly etc.

by Harry Pavlidis on Dec 30, 2008 1:20 PM EST reply actions  

All Pitches Location by Slice (%'s are of all pitches)
in          
Fat        92,559       9.1%
Side       70,975       7.0%
Edge       49,635       4.9%
Off        30,752       3.0%
Wide       16,077       1.6%
Other     119,814      11.8%


out          
Fat       109,757      10.8%
Side      113,535      11.2%
Edge       97,127       9.6%
Off        68,265       6.7%
Wide       38,481       3.8%
Other     205,483      20.3%


both sides          
Fat       202,316      20.0%
Side      184,510      18.2%
Edge      146,762      14.5%
Off        99,017       9.8%
Wide       54,558       5.4%
Other     325,297      32.1%


in        379,812      37.5%
out       632,648      62.5%
all     1,012,460      

by Harry Pavlidis on Dec 30, 2008 6:55 PM EST reply actions  

Swing Rates by Slice
in          #         SwRt
Fat       64,645      69.8%
Side      47,034      66.3%
Edge      28,123      56.7%
Off       12,043      39.2%
Wide       3,401      21.2%
Other     34,921      29.1%

out         #         SwRt
Fat       75,444      68.7%
Side      70,777      62.3%
Edge      49,472      50.9%
Off       23,147      33.9%
Wide       7,081      18.4%
Other     49,006      23.8%

both sides         sWrT
Fat      140,089    69.2%
Side     117,811    63.9%
Edge      77,595    52.9%
Off       35,190    35.5%
Wide      10,482    19.2%
Other     83,927    25.8%


tot         #         SwRt
in       190,167      50.1%
out      274,927      43.5%
all      465,094      45.9%

by Harry Pavlidis on Dec 30, 2008 7:04 PM EST reply actions  

Fastball Split by Count

Type Balls Strikes # Fat Side Edge Off Wide
 ‘FA’ 0 0 111902 0.2595 0.2358 0.1838 0.1195 0.0642
 ‘FA’ 0 1 43052 0.2092 0.2026 0.1870 0.1419 0.0866
 ‘FA’ 0 2 19171 0.1325 0.1390 0.1372 0.1195 0.0838
 ‘FA’ 1 0 46410 0.2750 0.2450 0.1839 0.1179 0.0601
 ‘FA’ 1 1 36723 0.2363 0.2224 0.1903 0.1309 0.0744
 ‘FA’ 1 2 27671 0.1792 0.1821 0.1677 0.1305 0.0830
 ‘FA’ 2 0 19055 0.2988 0.2534 0.1802 0.1083 0.0489
 ‘FA’ 2 1 23975 0.2792 0.2444 0.1871 0.1143 0.0573
 ‘FA’ 2 2 26551 0.2320 0.2183 0.1821 0.1207 0.0716
 ‘FA’ 3 0 7055 0.3076 0.2564 0.1711 0.0985 0.0394
 ‘FA’ 3 1 12603 0.3098 0.2614 0.1780 0.1023 0.0438
 ‘FA’ 3 2 20269 0.3048 0.2546 0.1775 0.0958 0.0469

I can’t figure out how to get the nice formatting like Harry has.

by Dan Turkenkopf on Dec 30, 2008 10:01 PM EST reply actions  

can you add the "other"

I can do it in my mind, but it would be easier to see it on page I think.

by Harry Pavlidis on Dec 30, 2008 10:23 PM EST reply actions  

never mind the quotes

just use the pre tag around your entry, and avoid leading spaces


Type B S # Fat Side Edge Off Wide
‘FA’ 0 0 111902 0.2595 0.2358 0.1838 0.1195 0.0642
‘FA’ 0 1 43052 0.2092 0.2026 0.1870 0.1419 0.0866
‘FA’ 0 2 19171 0.1325 0.1390 0.1372 0.1195 0.0838
‘FA’ 1 0 46410 0.2750 0.2450 0.1839 0.1179 0.0601
‘FA’ 1 1 36723 0.2363 0.2224 0.1903 0.1309 0.0744
‘FA’ 1 2 27671 0.1792 0.1821 0.1677 0.1305 0.0830
‘FA’ 2 0 19055 0.2988 0.2534 0.1802 0.1083 0.0489
‘FA’ 2 1 23975 0.2792 0.2444 0.1871 0.1143 0.0573
‘FA’ 2 2 26551 0.2320 0.2183 0.1821 0.1207 0.0716
‘FA’ 3 0 7055 0.3076 0.2564 0.1711 0.0985 0.0394
‘FA’ 3 1 12603 0.3098 0.2614 0.1780 0.1023 0.0438
‘FA’ 3 2 20269 0.3048 0.2546 0.1775 0.0958 0.0469

by Harry Pavlidis on Dec 30, 2008 10:25 PM EST reply actions  

More pitch types (includes 'Other' slice)
Changeup
Type    B    S    #        Fat       Side      Edge      Off       Wide      Other
'CH'    0    0    16727    0.2651    0.2431    0.1879    0.1235    0.0667    0.1137
'CH'    0    1    10822    0.2424    0.2281    0.1912    0.1364    0.0852    0.1167
'CH'    0    2    3718     0.1974    0.1958    0.1805    0.1490    0.1111    0.1662
'CH'    1    0    9625     0.2820    0.2514    0.1835    0.1178    0.0634    0.1019
'CH'    1    1    10175    0.2689    0.2429    0.1933    0.1297    0.0667    0.0985
'CH'    1    2    7046     0.2350    0.2183    0.1842    0.1436    0.0945    0.1244
'CH'    2    0    2300     0.2896    0.2548    0.1822    0.1152    0.0513    0.1069
'CH'    2    1    4584     0.2812    0.2598    0.1913    0.1126    0.0615    0.0936
'CH'    2    2    6581     0.2614    0.2325    0.1954    0.1336    0.0734    0.1037
'CH'    3    0    299      0.3211    0.2910    0.1338    0.1070    0.0368    0.1103
'CH'    3    1    1050     0.3190    0.2638    0.1800    0.0914    0.0524    0.0934
'CH'    3    2    3108     0.3092    0.2449    0.1869    0.1081    0.0524    0.0985
Curveball
Type    B    S    #        Fat       Side      Edge      Off       Wide      Other
'CU'    0    0    17259    0.2865    0.2489    0.1746    0.1038    0.0545    0.1317
'CU'    0    1    10933    0.2717    0.2419    0.1876    0.1163    0.0709    0.1116
'CU'    0    2    6210     0.2464    0.2180    0.1804    0.1275    0.0882    0.1395
'CU'    1    0    4278     0.3195    0.2466    0.1748    0.1050    0.0547    0.0994
'CU'    1    1    7638     0.2849    0.2561    0.1781    0.1096    0.0618    0.1095
'CU'    1    2    9787     0.2489    0.2359    0.1824    0.1278    0.0804    0.1246
'CU'    2    0    569      0.3111    0.2513    0.1722    0.1142    0.0475    0.1037
'CU'    2    1    2043     0.3138    0.2614    0.1747    0.0999    0.0499    0.1003
'CU'    2    2    6455     0.2741    0.2438    0.1802    0.1170    0.0689    0.1160
'CU'    3    0    38       0.2632    0.3158    0.1316    0.0789    0.1053    0.1052
'CU'    3    1    283      0.3039    0.2473    0.1873    0.1131    0.0495    0.0989
'CU'    3    2    1891     0.2919    0.2734    0.1750    0.1005    0.0539    0.1053
Fastball
Type    B    S    #        Fat       Side      Edge      Off       Wide      Other
'FA'    0    0    111903    0.2595    0.2358    0.1838    0.1195    0.0642    0.1372
'FA'    0    1    43052     0.2092    0.2026    0.1870    0.1419    0.0866    0.1727
'FA'    0    2    19171     0.1325    0.1390    0.1372    0.1195    0.0838    0.3880
'FA'    1    0    46410     0.2750    0.2450    0.1839    0.1179    0.0601    0.1181
'FA'    1    1    36724     0.2363    0.2224    0.1903    0.1309    0.0744    0.1457
'FA'    1    2    27672     0.1792    0.1821    0.1677    0.1305    0.0830    0.2575
'FA'    2    0    19055     0.2988    0.2534    0.1802    0.1083    0.0489    0.1104
'FA'    2    1    23975     0.2792    0.2444    0.1871    0.1143    0.0573    0.1177
'FA'    2    2    26554     0.2320    0.2183    0.1820    0.1207    0.0717    0.1753
'FA'    3    0    7055      0.3076    0.2564    0.1711    0.0985    0.0394    0.1270
'FA'    3    1    12603     0.3098    0.2614    0.1780    0.1023    0.0438    0.1047
'FA'    3    2    20254     0.3049    0.2546    0.1775    0.0958    0.0469    0.1203
Slider
Type    B    S    #        Fat       Side      Edge      Off       Wide      Other
'SL'    0    0    22066    0.2667    0.2444    0.1936    0.1254    0.0653    0.1046
'SL'    0    1    14158    0.2195    0.2103    0.1993    0.1492    0.0981    0.1236
'SL'    0    2    8108     0.1511    0.1600    0.1761    0.1623    0.1306    0.2199
'SL'    1    0    8414     0.2857    0.2488    0.1904    0.1222    0.0647    0.0882
'SL'    1    1    11061    0.2417    0.2316    0.2025    0.1446    0.0805    0.0991
'SL'    1    2    12460    0.1892    0.1897    0.1840    0.1636    0.1139    0.1596
'SL'    2    0    1954     0.2897    0.2625    0.1832    0.1059    0.0614    0.0973
'SL'    2    1    4732     0.2980    0.2473    0.1972    0.1145    0.0651    0.0779
'SL'    2    2    9801     0.2355    0.2182    0.1975    0.1462    0.0903    0.1123
'SL'    3    0    171      0.2865    0.2515    0.1871    0.1170    0.0468    0.1111
'SL'    3    1    1089     0.3067    0.2498    0.2048    0.1120    0.0533    0.0734
'SL'    3    2    4475     0.3055    0.2550    0.1837    0.1180    0.0570    0.0808

by Dan Turkenkopf on Dec 31, 2008 10:36 PM EST up reply actions  

I found an error

in my slg calcs – fixing it now (not sure of the impact yet)

by Harry Pavlidis on Dec 31, 2008 12:17 AM EST reply actions  

ouch

yep, I’ve made this mistake before. Over counting pitches, and skewing the #‘s … I’ll re-run all this baseline stuff, triple-check it and make a new post out of it.

by Harry Pavlidis on Dec 31, 2008 12:19 AM EST up reply actions  

Comments For This Post Are Closed


User Tools

We use numbers and stuff.
Community Guidelines
Why be a member?

FanPosts

Community blog posts and discussion.

Recent FanPosts

Small
Context Neutral Run and RBI projections
Small
Free Agent Compensation
Img_0001_small
Value of Various Plate Approaches
Strike_three2_small
Effect of Foul Area on Strikeouts: AL 1954-68: Erratum
Small
Baseball on a stick
Small
Player Evaluating Statistic
Baseball_small
Rays Outfield: Cheap but Extremely Productive
Small
A new xBABIP
Small
Jack Morris "pitching to the score"
Strike_three2_small
Foul Area and Differences in SO: AL vs NL

+ New FanPost All FanPosts >

Follow us on Facebook!

Follow us on Twitter!

SaberGraphics

MLB Daily Dish

Get the latest MLB Trade Rumors, Transactions, and News at MLB Daily Dish!


Managing Editor:

Jbopp-kc_small Justin Bopp

Columnists:

Adam_small adarowski

Dme_small Satchel Price

Closeup4_small J-Doug

Carlosicon_small Julian Levine

Billy_and_daddy_4th_of_july_small Bill Petti

Featuring:

Dayton_small Jeff Zimmerman

12475953_small Jacob Peterson

Picture-6_small Chris St. John

Btbpro_small Dave Gershman

229331_10150183361996591_674441590_6760167_6637860_n3_small Lewie Pollis

Img_3830_small David Fung