Thursday, June 18, 2009

Updating Run Values by Count

Updated 6/20 Tom Tango noted some of the wOBA values were high, so I re-checked and found an under-count of some plate appearances. Looks better now, and the table below has been updated.

Thanks to Tom Tango and the many fine folks who hang around his blog (too many to thank) have made this possible. For a complete discussion and lots of resources, I suggest checking out this thread at Tango's site.

Using 2007-2009 data, from MLBAM's Gameday, I calculated the wOBA of each count, bounced that off a set of linear weights sussed out in the thread linked above, and re-checked my work. I'd greatly appreciate some external validation of the numbers, if anyone is will or finds something that doesn't pass the sniff test.

The following table is the result of the effort, and should look familiar (check that link for even more background/rationale on this method to rating pitches). I've added columns for HBP and Foul balls. Neither are necessary, as you can choose to handle the two-strike fouls in query/code and the HBP uses the same weight as a walk. I chose to create distinct columns for two reasons.

First, it keeps the query simpler in regards to handling two-strike counts. I simply don't address it in the look-ups I may run for a pitcher, since it is built into the table. Second, it leaves things readily open to using a distinct value for hit batters, and for future adjustments on two-strike values. We may find a way of assigning a value to fouling off pitches with two strikes some day. You'll also notice strike outs and other "nkOuts" are weighted the same, which is also tweakable if you wish.

The table is sortable if you're curious, but feel free to grab it and crank out your own pitch analysis with it. I do suggest reading the thread at Tango's so you get a feel for the assumptions/limitations/alternatives.



















BallStrikewOBAREvBvSv1Bv2Bv3BvHRvnkOUTvHBPvF
000.3320.0000.0401-0.04410.48000.78001.06001.4000-0.28000.3200-0.0441
100.3780.0400.0662-0.05120.43990.73991.01991.3599-0.32010.2799-0.0512
200.4540.1060.1134-0.06620.37370.67370.95371.2937-0.38630.2137-0.0662
300.5850.2200.1003-0.07520.26030.56030.84031.1803-0.49970.1003-0.0752
010.281-0.0440.0329-0.06020.52410.82411.10411.4441-0.23590.3641-0.0602
110.319-0.0110.0513-0.06440.49110.79111.07111.4111-0.26890.3311-0.0644
210.3780.0400.1043-0.07260.43990.73991.01991.3599-0.32010.2799-0.0726
310.4980.1440.1755-0.07880.33550.63550.91551.2555-0.42450.1755-0.0788
020.212-0.1040.0288-0.17570.58430.88431.16431.5043-0.17570.42430.0000
120.245-0.0760.0431-0.20450.55550.85551.13551.4755-0.20450.39550.0000
220.295-0.0320.0981-0.24760.51240.81241.09241.4324-0.24760.35240.0000
320.4080.0660.2543-0.34570.41430.71430.99431.3343-0.34570.25430.0000


2 comments:

Lucas A. said...

Harry, do you weight run-scoring outs differently from other outs?

Harry Pavlidis said...

Not directly. The linear weight for an out reflects the change in run expectancy aggregated across those situations.