<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss'><id>tag:blogger.com,1999:blog-6337312839698763116</id><updated>2010-03-02T09:33:18.052-05:00</updated><title type='text'>from small ball to the long ball</title><subtitle type='html'>A baseball blog focused on the statistical side of the game.  Topics include team defense, intentional walks, beanballs, the PITCHf/x system, and other things baseball related.</subtitle><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6337312839698763116/posts/default'/><link rel='alternate' type='text/html' href='http://www.baseball.bornbybits.com/blog/blog.html'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/6337312839698763116/posts/default?start-index=26&amp;max-results=25'/><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://www.baseball.bornbybits.com/blog/atom.xml'/><author><name>Josh Kalk</name><uri>http://www.blogger.com/profile/03137640990432404781</uri><email>noreply@blogger.com</email></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>39</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-6337312839698763116.post-1787711681016233854</id><published>2009-03-23T17:45:00.004-04:00</published><updated>2009-03-24T08:13:17.070-04:00</updated><title type='text'>Retiring from blogging</title><content type='html'>It has been a wild ride but I am retiring from blogging and from &lt;a href="http://www.hardballtimes.com/main/article/final-round-wbc-coverage/"&gt;hardballtimes&lt;/a&gt;.  You may notice that some of the content has been removed from this site.  This has been done intentionally.  Please do not email asking for any previous content.  Thanks for your understanding in this matter.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6337312839698763116-1787711681016233854?l=www.baseball.bornbybits.com%2Fblog%2Fblog.html' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/6337312839698763116/1787711681016233854/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=6337312839698763116&amp;postID=1787711681016233854' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6337312839698763116/posts/default/1787711681016233854'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6337312839698763116/posts/default/1787711681016233854'/><link rel='alternate' type='text/html' href='http://www.baseball.bornbybits.com/blog/2009/03/retiring-from-blogging.html' title='Retiring from blogging'/><author><name>Josh Kalk</name><uri>http://www.blogger.com/profile/03137640990432404781</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='04671792912451147854'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6337312839698763116.post-5108458079329118694</id><published>2008-08-06T11:37:00.003-04:00</published><updated>2008-08-06T11:39:18.113-04:00</updated><title type='text'>New player cards and web base tool available</title><content type='html'>Sadly, they are now a few days old from the weekend but they should be in sync at least.  You can reach the player cards on the right side and the tool &lt;a href="http://baseball.bornbybits.com/php/2008_tool.php"&gt;here&lt;/a&gt;.  Also, the righty/lefty problem should be now fixed (crosses fingers).  Look for another update mid August.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6337312839698763116-5108458079329118694?l=www.baseball.bornbybits.com%2Fblog%2Fblog.html' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/6337312839698763116/5108458079329118694/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=6337312839698763116&amp;postID=5108458079329118694' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6337312839698763116/posts/default/5108458079329118694'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6337312839698763116/posts/default/5108458079329118694'/><link rel='alternate' type='text/html' href='http://www.baseball.bornbybits.com/blog/2008/08/new-player-cards-and-web-base-tool.html' title='New player cards and web base tool available'/><author><name>Josh Kalk</name><uri>http://www.blogger.com/profile/03137640990432404781</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='04671792912451147854'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6337312839698763116.post-1285014560235479771</id><published>2008-08-01T19:20:00.002-04:00</published><updated>2008-08-01T19:23:25.299-04:00</updated><title type='text'>Update this weekend delayed</title><content type='html'>I was planning a major update to the site this weekend with updated player cards and an updated web based tool.  Sadly, due to several power outages my code won't be done running before I leave town later on Saturday.  I'll be back Tuesday so there is a chance that this update will occur then but if not Wednesday will be the date.&lt;br /&gt;&lt;br /&gt;Sorry,&lt;br /&gt;josh&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6337312839698763116-1285014560235479771?l=www.baseball.bornbybits.com%2Fblog%2Fblog.html' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/6337312839698763116/1285014560235479771/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=6337312839698763116&amp;postID=1285014560235479771' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6337312839698763116/posts/default/1285014560235479771'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6337312839698763116/posts/default/1285014560235479771'/><link rel='alternate' type='text/html' href='http://www.baseball.bornbybits.com/blog/2008/08/update-this-weekend-delayed.html' title='Update this weekend delayed'/><author><name>Josh Kalk</name><uri>http://www.blogger.com/profile/03137640990432404781</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='04671792912451147854'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6337312839698763116.post-2266302288523898423</id><published>2008-06-27T13:46:00.005-04:00</published><updated>2008-06-27T15:56:26.959-04:00</updated><title type='text'>Behind the scenes with the Princton Rays</title><content type='html'>As I mentioned in my hardballtimes article, the staff working behind the scenes in Princeton is phenomenal.  Despite huge hubbub over Tim Beckham everyone took time to sit down and talk with me and answer my questions.  Jim Holland, who has been the Princeton GM for 17 years, does a great job running the ship.  People don't understand that even in short season ball a minor league GM has to work the whole year around securing advertisements, setting up promotions, getting things like team schedules printed, setting up travel, and setting up community outreach (this obviously isn't an exhaustive list just to give you an idea).  It is not an easy job requiring long hours and with a smaller staff at rookie ball a willingness to do just about everything from answering phones, to selling tickets, to the 50/50 raffle, to running on the field activities between innings is a must.  Jim does all of these things with a huge smile on his face and his love for the game and the team shines through.  It was his idea to come up with the &lt;a href="http://web.minorleaguebaseball.com/news/article.jsp?ymd=20060724&amp;amp;content_id=109320&amp;amp;vkey=news_milb&amp;amp;fext=.jsp"&gt;Mercer Cup&lt;/a&gt; which is Princeton has won the past three years.  The cup is something special to the fans and games against Bluefield are quite the event.&lt;br /&gt;&lt;br /&gt;Samantha Craig is the league photographer and it is her pitchers you see on everything from the team cards, programs, yearbooks, and even bobble heads.  She provided the excellent shot of Tim Beckham for my THT article and the picture for the MiLB story.  She also has a soft spot for the forgotten members on the field, the umpires.&lt;br /&gt;&lt;br /&gt;The team interns are the do everything team for the Rays.  Malcom, Jamar, Jeremy, Rynel, and&lt;br /&gt;Matt (who will be starting a blog of his own shortly) get to the park early to tend to the field, get the equipment ready for batting practice, sell tickets and souvenirs, and running the scoreboard.  When the game is over they still are on the clock cleaning up the stadium and getting ready for the next nights game.  Interns can often get overlooked but with a small staff like Princeton has good interns are a must.  The job also helps prepare them for a career in the business as Pat Day, the GM of the Lansing Lugnuts got his career started by interning at Princeton.&lt;br /&gt;&lt;br /&gt;This team runs like a well oiled machine even though the year has just begun for Appy league teams.  The field was in pristine condition despite a rain storm just a few hours before game time on Wednesday night.  If the field hadn't been in such good shape and the game had been called I wouldn't be here writing about any of this.  As I mentioned in the THT article getting an opportunity to pull the tarp off the field was a blast and if you ever get the chance to do that jump at it.  Thanks again guys, I had a blast and learned a whole lot from you and I will definitely be back soon.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6337312839698763116-2266302288523898423?l=www.baseball.bornbybits.com%2Fblog%2Fblog.html' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/6337312839698763116/2266302288523898423/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=6337312839698763116&amp;postID=2266302288523898423' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6337312839698763116/posts/default/2266302288523898423'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6337312839698763116/posts/default/2266302288523898423'/><link rel='alternate' type='text/html' href='http://www.baseball.bornbybits.com/blog/2008/06/behind-scenes-with-princton-rays.html' title='Behind the scenes with the Princton Rays'/><author><name>Josh Kalk</name><uri>http://www.blogger.com/profile/03137640990432404781</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='04671792912451147854'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6337312839698763116.post-7283941889855914634</id><published>2008-06-27T11:37:00.007-04:00</published><updated>2008-06-27T15:55:44.933-04:00</updated><title type='text'>A look at some other prospects I saw this week</title><content type='html'>Besides Tim Beckham there were quite a few other players that could one day have an impact in the big leagues.  Here is a first impression of some of them.&lt;br /&gt;&lt;h3&gt;Royals players&lt;/h3&gt;&lt;br /&gt;&lt;b&gt;&lt;a href="http://web.minorleaguebaseball.com/milb/stats/stats.jsp?n=Richardson%20%20CF&amp;amp;pos=&amp;amp;sid=milb&amp;amp;t=p_pbp&amp;amp;pid=519193"&gt;Hilton Richardson&lt;/a&gt;&lt;/b&gt; 7th round pick, 2007&lt;br /&gt;Richardson is a tall, speedy, center fielder who is let handed.  Richardson appears to crowd the plate and had some issues with a lefty on the mound though that hasn't been a problem for him so far early in the season.  Richardson was pretty disciplined at the plate seeing a lot of pitches in his first three at bats before swinging early in his last two.  He smoked a liner the other way in the first inning on a fastball outside.  Richardson did appear to have some issues making contact though especially on some off speed pitches.&lt;br /&gt;&lt;br /&gt;In the field Richardson had an eventful day.  To start the third inning he misread a ball over his head that went for a triple.  While Hunnicutt stadium isn't Coors field it is up over 3,000 feet above sea level so there is a mini Coors effect.  This certainly could have been an issue on this play as the ball just kept carrying and he was just jogging back until the very end.  In the fifth with two outs and nobody on a ball was crushed to the right field gap.  Richardson got a great jump on the ball and turned on the jets and almost caught up to a ball that was hit much closer to the right fielder than him.  Unfortunately for him, the ball hit off the top of the wall and bounced behind him allowing the batter to reach third.  With two outs you don't mind seeing a guy go for a ball but it was pretty clear that he wasn't going to catch it and he should have slowed down and played the ball off the wall.  He also got turned around on a routine ball but managed to make the catch.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;a href="http://web.minorleaguebaseball.com/milb/stats/stats.jsp?n=Caldwell%20%20RF&amp;amp;pos=&amp;amp;sid=milb&amp;amp;t=p_pbp&amp;amp;pid=542995"&gt;Allen Caldwell&lt;/a&gt;&lt;/b&gt; 12th round pick, 2008&lt;br /&gt;Caldwell is another left hander who was playing right field for the Royals.  He too showed good patience at the plate getting ahead in the count 2-0 twice but when he got two juicy fastballs he wasn't able to do much with either grounding to third and flying out to center.  In the eighth he came up with the lead run at second and one out.  The Rays went to the pen and summoned a lefty reliever but Caldwell calmly took the first pitch, a fastball middle in, and shoot it to center field for a base hit scoring the lead run.  The bad news is he then promptly got picked off first but an error by the first baseman throwing to second took him off the hook.  Caldwell didn't have a single opportunity on a fly ball but did have trouble digging a ball out of the bullpen on a catcher overthrow on a strikeout.  In fact he had so much trouble the batter almost scored on the play but was thrown out at the plate.  Sadly for the Royals, the winning run scored ahead of the batter on the play and if Caldwell had quickly retrieved the ball he probably could have held the runner at third.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;a href="http://web.minorleaguebaseball.com/milb/stats/stats.jsp?n=Lehmann%20&amp;amp;pos=P&amp;amp;sid=milb&amp;amp;t=p_pbp&amp;amp;pid=518932"&gt;Mike Lehmann&lt;/a&gt;&lt;/b&gt; 20th round pick, 2007&lt;br /&gt;Lehmann is a right handed pitcher with an over the top delivery.  He features a four seam fastball in the upper 80's that touched 90 MPH on the gun twice but is pretty straight.  He also have a curve in the mid 70's and a change up in the low 80's.  Lehmann was around the strike zone all game except for a spate of wildness in the first after Tim Beckham's infield hit.  He hit the next batter and then walked the following batter to load the bases on four pitches.  The Royals pitching coach came out and talked to him and he didn't walk another batter all game.  The bad news was he also didn't strike out anyone in his four innings of work.  In fact, he only got three swings and misses during his outing.  That is going to have to change if he is going to have any future.  Lehmann did field his position well picking up two rollers with his bare hand and fired strikes.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;a href="http://web.minorleaguebaseball.com/milb/stats/stats.jsp?n=Flanagan%20%28L%2C%200-1%29&amp;amp;pos=P&amp;amp;sid=milb&amp;amp;t=p_pbp&amp;amp;pid=518682"&gt;John Flanagan&lt;/a&gt;&lt;/b&gt; 13th round pick, 2008&lt;br /&gt;During the three games that I watched this past week Flanagan was the most impressive pitcher I saw by far.  He is a tall lefty JuCo product who has a three quarters delivery.  He throws a sinker in the upper 80's which he consistently kept down in the zone and a slider in the low 80's that has very good bite down and away from left handed batters.  He mixed in a couple of change ups to right handed batters but it didn't look like he had a good feel for the pitch and left several of them up in the zone.  He struck out five in four innings (despite MiLB saying 4 1/3) with the last one on a slider in the dirt that the catcher mis threw and cost the Royals the game.  It was scored a wild pitch but the catcher was asking for it in the dirt and blocked the pitch well he just failed on the throw.  A very tough luck loss for Flanagan.  Being a JuCo player, he is more advanced than most in rookie ball and I would like to see him in the rotation.  He shouldn't neccessarily be pigeon holed into a LOOGY role as his sinker/slider should be effective against right handed batters as well.  If he can develop a decent change up that is.  If he does wind up as a LOOGY his delivery should make it tough on lefties and he should get plenty of ground balls with his sinker.  Here is another example of his polish; he has two distinct moves to first base.  The first is a classic step towards first and throw and a second step off and quickly fire to first.  I could definitely see him being a C/C+ sleeper type going forward.   You can read about Tim Beckham's at bat against him in my THT article.  Here are a couple other &lt;a href="http://thekclpipeline.blogspot.com/2008/06/farm-fresh-royals-2008-this-years.html"&gt;reviews&lt;/a&gt; &lt;a href="http://perfectgame.atinfopop.com/4/OpenTopic?a=tpc&amp;amp;s=114295945&amp;amp;f=5914021231&amp;amp;m=7941004531&amp;amp;r=7941004531#7941004531"&gt;of him.&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Rays Players&lt;/h3&gt;&lt;br /&gt;&lt;b&gt;&lt;a href="http://web.minorleaguebaseball.com/milb/stats/stats.jsp?n=Beckham%2C%20J%20%203B&amp;amp;pos=&amp;amp;sid=milb&amp;amp;t=p_pbp&amp;amp;pid=542920"&gt;Jeremy Beckham&lt;/a&gt;&lt;/b&gt; 17th round pick, 2008&lt;br /&gt;Tim isn't the only Beckham playing at Princeton as his older brother Jeremy is the second baseman on the team.  Jeremy only got in to the game as a defensive substitute in the ninth inning on Wednesday but I got a pretty good look at him earlier in the week.  At the plate Beckham is somewhat struggling right now and I think it was probably a good move by Rays manager &lt;a href="http://www.minorleaguebaseball.com/roster/page.jsp?ymd=20060201&amp;amp;content_id=40050&amp;amp;vkey=roster_t455&amp;amp;fext=.jsp&amp;amp;sid=t455"&gt;Joe  Szekely&lt;/a&gt; to give him a day off.  I have noticed that in the low minors the umpires have a pretty liberal strike zone and it appears to me that Beckham might be having some problems with it.  The first night I saw him the umpire was consistently giving the pitchers the outside corner but Beckham wasn't adjusting and taking that pitch even with two strikes on him.  He also seemed willing to go out of the zone low going after several balls in the dirt.  On Tuesday though he had a better game collecting three hits including a solid double in the gap.  He was a pretty patient hitter in college so I would expect him to make adjustments relatively quickly though he has no walks so far on the season and I haven't even seen him in a three ball count yet.&lt;br /&gt;&lt;br /&gt;In the field things are a much better story.  At rookie ball, you see a lot of miscues on routine balls and a fair amount of throwing to the wrong base and things like that.  Jeremy Beckham has looked very solid at second to me making several nice plays and turning the double play well.  It appears that not only does he have a quick turn but he has a pretty accurate arm even with someone barreling in on him.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;a href="http://web.minorleaguebaseball.com/milb/stats/stats.jsp?n=Biell%20%20CF&amp;amp;pos=&amp;amp;sid=milb&amp;amp;t=p_pbp&amp;amp;pid=518455"&gt;Dustin Biell&lt;/a&gt;&lt;/b&gt; 5th round pick, 2007&lt;br /&gt;Biell has looked absolutely over matched at the plate to start the year.  He struck out two more times in four at bats on Wednesday pushing his total to 15 in 34 ABs this year.  He swung and came up empty a lot especially on off speed pitches.  He did work the count well in a couple of at bats but never hit the ball hard.  He was the strike out victim in the 9th that scored the go ahead run so give him credit for not giving up on the play.  The ball was blocked by the catcher and it was just a few feet in front of him but Biell hustled down the line and made the catcher make a throw which he didn't do.  In the field Biell made a nice play on a blooper a couple of nights ago.  He also air mailed a throw from center to the plate which caused two runners to move up though.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;a href="http://web.minorleaguebaseball.com/milb/stats/stats.jsp?n=Jarman%20%28W%2C%201-0%29&amp;amp;pos=P&amp;amp;sid=milb&amp;amp;t=p_pbp&amp;amp;pid=460691"&gt;Mike Jarman&lt;/a&gt;&lt;/b&gt; 26th round pick, 2008&lt;br /&gt;Jarman is doing what you would expect a 23 year old college pitcher to do in the rookie leagues, dominate.  Jarman went 1 2/3 innings getting all of the outs by strikeout to get the victory Wednesday night.  He did give up the lead when brought into the game in the 8th on the hit by Caldwell I described above but he promptly picked him off though the first baseman failed to finish the play.  Jarman's off speed pitches, his change up and curve, are too much for rookie league batters though only time will tell if that translates to success further up the ladder.  If he continues pitching like this there will be nothing left to prove for him in rookie ball and should be sent to A ball to see if he can stick there.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6337312839698763116-7283941889855914634?l=www.baseball.bornbybits.com%2Fblog%2Fblog.html' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/6337312839698763116/7283941889855914634/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=6337312839698763116&amp;postID=7283941889855914634' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6337312839698763116/posts/default/7283941889855914634'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6337312839698763116/posts/default/7283941889855914634'/><link rel='alternate' type='text/html' href='http://www.baseball.bornbybits.com/blog/2008/06/look-at-some-other-prospects-i-saw-this.html' title='A look at some other prospects I saw this week'/><author><name>Josh Kalk</name><uri>http://www.blogger.com/profile/03137640990432404781</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='04671792912451147854'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6337312839698763116.post-8366632813655855615</id><published>2008-06-11T12:37:00.002-04:00</published><updated>2008-06-11T12:39:43.755-04:00</updated><title type='text'>2008 Web based tool is now available</title><content type='html'>The 2008 web base tool is now available &lt;a href="http://baseball.bornbybits.com/php/2008_tool.php"&gt;here&lt;/a&gt;.  You can also still access the 2007 web base tool &lt;a href="http://baseball.bornbybits.com/php/combined_tool.php"&gt;here&lt;/a&gt;.  Please comment or email me if you find any problems.  Also, the 2008 player cards have been updated.  Because my classification code is taking a very long time to run (10 hours now) there won't be daily updates of the player cards but hopefully twice a week.&lt;br /&gt;&lt;br /&gt;Enjoy.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6337312839698763116-8366632813655855615?l=www.baseball.bornbybits.com%2Fblog%2Fblog.html' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/6337312839698763116/8366632813655855615/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=6337312839698763116&amp;postID=8366632813655855615' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6337312839698763116/posts/default/8366632813655855615'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6337312839698763116/posts/default/8366632813655855615'/><link rel='alternate' type='text/html' href='http://www.baseball.bornbybits.com/blog/2008/06/2008-web-based-tool-is-now-available.html' title='2008 Web based tool is now available'/><author><name>Josh Kalk</name><uri>http://www.blogger.com/profile/03137640990432404781</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='04671792912451147854'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6337312839698763116.post-1325991133083084917</id><published>2008-05-20T15:58:00.002-04:00</published><updated>2008-05-20T18:56:37.973-04:00</updated><title type='text'>2008 corrections are now online!</title><content type='html'>Yes that is right, after just one set of interleague series I now can run my correction code on the 2008 data.  The player cards have now been updated with the corrections and my pitch classifications.  These classifications are not perfect at the moment as the 2008 corrections still aren't quite as strong as the 2007 corrections but they appear to be better than the MLBAM corrections which are done on the fly (and therefore are much harder to do).  Automated updates will be down for a few days but expect them to be back in full force by the weekend.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6337312839698763116-1325991133083084917?l=www.baseball.bornbybits.com%2Fblog%2Fblog.html' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/6337312839698763116/1325991133083084917/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=6337312839698763116&amp;postID=1325991133083084917' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6337312839698763116/posts/default/1325991133083084917'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6337312839698763116/posts/default/1325991133083084917'/><link rel='alternate' type='text/html' href='http://www.baseball.bornbybits.com/blog/2008/05/2008-corrections-are-now-online.html' title='2008 corrections are now online!'/><author><name>Josh Kalk</name><uri>http://www.blogger.com/profile/03137640990432404781</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='04671792912451147854'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6337312839698763116.post-2701084685828016770</id><published>2008-05-14T18:51:00.000-04:00</published><updated>2008-05-14T18:53:48.787-04:00</updated><title type='text'>PSA to all PITCHf/x guys</title><content type='html'>As of the 12th MLBAM has changed the header for their data.  It used to look like this:&lt;br /&gt;&lt;br /&gt;atbat num="1" b="4" s="2" o="0" batter="435065" pitcher="458567" des="Reggie Willits walks.  " stand="L" event="Walk"&lt;br /&gt;&lt;br /&gt;Now it looks like this:&lt;br /&gt;&lt;br /&gt;atbat num="1" b="3" s="1" o="1" batter="408299" stand="R" b_height="6-0" pitcher="435043" p_throws="L" des="Omar Infante grounds out, shortstop Brian Bixler to first baseman Adam LaRoche.  " event="Ground Out"&lt;br /&gt;&lt;br /&gt;Make sure to change you parser accordingly.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6337312839698763116-2701084685828016770?l=www.baseball.bornbybits.com%2Fblog%2Fblog.html' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/6337312839698763116/2701084685828016770/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=6337312839698763116&amp;postID=2701084685828016770' title='13 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6337312839698763116/posts/default/2701084685828016770'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6337312839698763116/posts/default/2701084685828016770'/><link rel='alternate' type='text/html' href='http://www.baseball.bornbybits.com/blog/2008/05/psa-to-all-pitchfx-guys.html' title='PSA to all PITCHf/x guys'/><author><name>Josh Kalk</name><uri>http://www.blogger.com/profile/03137640990432404781</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='04671792912451147854'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>13</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6337312839698763116.post-1569041499086801712</id><published>2008-04-19T20:53:00.002-04:00</published><updated>2008-04-19T21:03:55.675-04:00</updated><title type='text'>Ok another attempt at daily updates</title><content type='html'>Wow was that a mess but I think I might finally have all the bugs worked out for daily updates to the 2008 player cards.  In any case it is clear now that 2008 data corrections will be needed.  There were some hints of trouble with the data earlier but now the cameras in Cincinnati are just clearly messed up.  Take a look at &lt;a href="http://baseball.bornbybits.com/2008/Aaron_Harang.html"&gt;Aaron Harang's card&lt;/a&gt;.  Two starts at home, two starts on the road and the data is split.  &lt;a href="http://baseball.bornbybits.com/2008/Ben_Sheets.html"&gt;Ben Sheets&lt;/a&gt; just made a start there and you can see the effect there as well (no it wasn't his injury that caused the data to be that skewed).&lt;br /&gt;&lt;br /&gt;So corrections will have to be made again.  I am planning on running corrections like 2007 but for the data set to become complete interleague games will have to occur.  I could do one correction for the AL and another for the NL but my code really isn't setup for that.  We will see.  I will keep you posted.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6337312839698763116-1569041499086801712?l=www.baseball.bornbybits.com%2Fblog%2Fblog.html' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/6337312839698763116/1569041499086801712/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=6337312839698763116&amp;postID=1569041499086801712' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6337312839698763116/posts/default/1569041499086801712'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6337312839698763116/posts/default/1569041499086801712'/><link rel='alternate' type='text/html' href='http://www.baseball.bornbybits.com/blog/2008/04/ok-another-attempt-at-daily-updates.html' title='Ok another attempt at daily updates'/><author><name>Josh Kalk</name><uri>http://www.blogger.com/profile/03137640990432404781</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='04671792912451147854'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6337312839698763116.post-5337810792004562605</id><published>2008-03-31T10:07:00.005-04:00</published><updated>2008-03-31T13:51:46.131-04:00</updated><title type='text'>2008 Player Cards</title><content type='html'>Well the new season is upon us and even though I haven't updated this blog in ages I do have a treat for anyone who happens to stumble on this blog.  The 2008 player cards are here!  Just click here or the player cards link to the right and off you go.&lt;br /&gt;&lt;br /&gt;A few notes about the new cards.  First, absolutely no corrections have been done to the data.  Everything is straight from &lt;a href="http://sportvision.com/"&gt;Sportvision&lt;/a&gt;.  Second, Sportvision was kind enough to add in pitch types to the 2008 data so instead of running my pitch identifying code I am just using their pitch types.  Third, I have lowered the number of pitches necessary to have a player card from 100 to 10 at least for the beginning part of the season.  This applies to both batters and pitchers.  Lastly, while I had to upload today's batch by hand tomorrow's should be automatically uploaded so you should have completely up to date player cards at your disposal.  Enjoy!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6337312839698763116-5337810792004562605?l=www.baseball.bornbybits.com%2Fblog%2Fblog.html' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/6337312839698763116/5337810792004562605/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=6337312839698763116&amp;postID=5337810792004562605' title='11 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6337312839698763116/posts/default/5337810792004562605'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6337312839698763116/posts/default/5337810792004562605'/><link rel='alternate' type='text/html' href='http://www.baseball.bornbybits.com/blog/2008/03/2008-player-cards.html' title='2008 Player Cards'/><author><name>Josh Kalk</name><uri>http://www.blogger.com/profile/03137640990432404781</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='04671792912451147854'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>11</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6337312839698763116.post-6724007245021479853</id><published>2007-12-03T18:46:00.000-05:00</published><updated>2007-12-04T09:36:13.252-05:00</updated><title type='text'>Web based PITCHf/x tool help/comment page</title><content type='html'>Here is the help/comment page for the &lt;a href="http://baseball.bornbybits.com/php/combined_tool.php"&gt;web based PITCHf/x tool&lt;/a&gt;.  If you have any comments please add them to the bottom of this post.&lt;br /&gt;&lt;br /&gt;First, let me just make sure everyone is aware of what the PITCHf/x system is.  PITCHf/x by &lt;a href="http://www.sportvision.com/"&gt;sportvision&lt;/a&gt; is a system of tracking the ball as it travels to home plate with two cameras.  The cameras take a bunch of pictures of the ball in flight and then sends the data to MLB who puts it &lt;a href="http://webusers.npl.uiuc.edu/%7Ea-nathan/pob/tracking.htm"&gt;online for users to see&lt;/a&gt;.  The data is in a messy form and needs &lt;a href="http://www.baseball.bornbybits.com/blog/2007/11/explanation-of-correction-code.html"&gt;corrections&lt;/a&gt; and pitch &lt;a href="http://www.baseball.bornbybits.com/blog/2007/11/classifcation-algorithm-explained.html"&gt;classifications&lt;/a&gt; before the data can really be used.  That is why I made the web based tool for anyone to use.&lt;br /&gt;&lt;br /&gt;So the first few things the tool will ask you for are simple things like the name of the pitcher and batter.  The only restriction is you must put in either a pitcher or a batter (or put in both).  Sadly, less than a quarter of all pitches were tracked this year so if you put in certain pitcher/batter match ups it will come back with no results.  If that happens please try again.&lt;br /&gt;&lt;br /&gt;After you have entered the pitcher/batter it will ask you for the type of pitch, the result of the pitch, and the count.  When you start try leaving these blank to see what a certain pitcher throws then you can go back and focus on only one type of pitch for instance.  If you feel a certain pitcher stuff isn't being represented correctly please comment below.&lt;br /&gt;&lt;br /&gt;Next, options are available to cut on things like pitch speed, and horizontal and vertical movement.  All horizontal measurements have negative numbers as moving in towards a right handed batter.  Speed is measured in MPH and movement in inches.&lt;br /&gt;&lt;br /&gt;Lastly,  either the location of the pitch or the break of the pitch is shown.  The location is simply where the ball crossed home plate.  The break is how the ball moved in comparison to a ball thrown without spin.  So if there was no spin the ball would end up at (0,0) on the graph.&lt;br /&gt;&lt;br /&gt;Please note that sometimes the image posted will be the previous inputed image from your web browser's cache.  This is because it takes the tool a few seconds to produce it's result and some times your impatient browser will just use the previous image.  If this happens please press reload.&lt;br /&gt;&lt;br /&gt;There are still a few issues including not allowing you to cut on the date.  This is something that will be including but I am having trouble with it in my database.  Also, I am having a bit of trouble with the spin and direction so sorry that didn't make it.  It will be coming soon though.  Also, the release point will become an option to plot and cut on and an extended table with some league averages will be in the next version.  Lastly, the biggest issue is when you make a selection and it run it doesn't store your selection to allow you to alter your query quickly.   This is very annoying but hard to fix on my end.  I'll have a solution by the next update.  If you press the back button hopefully your browser will remember your options but that is an imperfect solution.&lt;br /&gt;&lt;br /&gt;If you would like to use any of the plots you make go ahead just add a link to the tools webpage, this page, or the &lt;a href="http://www.hardballtimes.com/main/article/anatomy-of-a-player-tim-lincecum/"&gt;hardballtimes&lt;/a&gt; article.&lt;br /&gt;&lt;br /&gt;A big thanks to my beta testing team Mark (&lt;a href="http://tigstown.com/"&gt;TigsTown.com&lt;/a&gt;), Lee (&lt;span style="color: rgb(136, 136, 136);"&gt;&lt;a href="http://www.detroittigertales.blogspot.com/" target="_blank"&gt;www.detroittigertales.blogspot&lt;wbr&gt;.com&lt;/a&gt;)&lt;/span&gt;, and the guys at &lt;a href="http://nomaas.org/"&gt;&lt;span style="text-decoration: underline;"&gt;nomaas.org&lt;/span&gt;&lt;/a&gt;.  Sorry for the slow posting of this.  Hopefully the next version will be available before Christmas.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6337312839698763116-6724007245021479853?l=www.baseball.bornbybits.com%2Fblog%2Fblog.html' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/6337312839698763116/6724007245021479853/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=6337312839698763116&amp;postID=6724007245021479853' title='15 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6337312839698763116/posts/default/6724007245021479853'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6337312839698763116/posts/default/6724007245021479853'/><link rel='alternate' type='text/html' href='http://www.baseball.bornbybits.com/blog/2007/12/web-based-pitchfx-tool-helpcomment-page.html' title='Web based PITCHf/x tool help/comment page'/><author><name>Josh Kalk</name><uri>http://www.blogger.com/profile/03137640990432404781</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='04671792912451147854'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>15</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6337312839698763116.post-5513066990376268403</id><published>2007-10-17T20:50:00.000-04:00</published><updated>2007-11-05T11:18:13.019-05:00</updated><title type='text'>WE by count</title><content type='html'>Again using the Monte Carlo from the intentional walk tool and some data from baseball-reference on the league average OPS by count, I have cobbled together a WE chart by count.  I am planning on using these numbers as the baseline for the intentional walk tool if the count isn't 0-0.  But I thought people might be interested in this table stand alone so I have uploaded it &lt;a href="http://baseball.bornbybits.com/statistics/WPA.html"&gt;here&lt;/a&gt;.  Warning, it is a really huge file and probably will take several minutes to load on your computer.&lt;br /&gt;&lt;br /&gt;A big thanks to John Walsh for pointing me to exactly the data I needed as sometimes this whole interweb is just too confusing.&lt;br /&gt;&lt;span style="text-decoration: underline;"&gt;&lt;/span&gt;&lt;br /&gt;Edit: Also a big thanks to tmapress and tangotiger for correcting my WPA WE error.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6337312839698763116-5513066990376268403?l=www.baseball.bornbybits.com%2Fblog%2Fblog.html' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/6337312839698763116/5513066990376268403/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=6337312839698763116&amp;postID=5513066990376268403' title='9 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6337312839698763116/posts/default/5513066990376268403'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6337312839698763116/posts/default/5513066990376268403'/><link rel='alternate' type='text/html' href='http://www.baseball.bornbybits.com/blog/2007/10/wpa-by-count.html' title='WE by count'/><author><name>Josh Kalk</name><uri>http://www.blogger.com/profile/03137640990432404781</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='04671792912451147854'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>9</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6337312839698763116.post-9055124959439007079</id><published>2007-10-16T18:44:00.000-04:00</published><updated>2007-10-17T10:22:34.310-04:00</updated><title type='text'>Future Leverage Index</title><content type='html'>The next thing I wanted to tackle with my Monte Carlo from &lt;a href="http://www.baseball.bornbybits.com/blog/2007/10/intentional-walk-tool.html"&gt;yesterday&lt;/a&gt; was a new metric I am going to call Future Leverage Index, or FLI.  &lt;a href="http://www.insidethebook.com/li.shtml"&gt;Leverage index&lt;/a&gt; (LI) and &lt;a href="http://www.hardballtimes.com/main/article/the-one-about-win-probability/"&gt;WPA&lt;/a&gt; are great for telling you what the current situation is, and how important the next batter is, but what about one or two batters down the line?  Many people (including me) have screamed at the TV (or monitor if you are watching with MLB.tv like me) when a crappy reliever is left in the game to face an extremely high leverage situation while the closer blow bubbles with his bubble gum in the bullpen.  One of the problems managers have though is relievers need time to warm up so they have to look into a crystal ball to try to determine what the situation will be in a few batters.  This is where FLI comes in.&lt;br /&gt;&lt;br /&gt;FLI starts with the situation inputed and then runs two league average batters just like it did for the intentional walk tool.  Only this time instead of weighting the results with WPA it weights the results with LI.  If the half inning ended the FLI is assumed to be zero because you have plenty of time to warm up a new pitcher while you are batting.  Averaging all the possible outcomes and you get the FLI for that situation.  So like LI, a FLI near zero means it is unlikely that the situation in two batters will reach crisis.  As the FLI goes up, the more and more likely a very important situation will occur.  A FLI of anything above three probably means you should get your closer up NOW.&lt;br /&gt;&lt;br /&gt;Here is a link to a nice &lt;a href="http://baseball.bornbybits.com/statistics/FLI.html"&gt;table&lt;/a&gt; that includes WPA, LI,  and FLI.  A few interesting situations that I would like to point out.  First, the highest leverage situation in baseball is bottom of the ninth, two outs, with the bases loaded in a tie game.  This checks in with a LI of over ten but has the lowest possible FLI of zero.  Why is this?  Because either the batter reached base and the game is over or he made an out and the inning ended.  In fact, if you look at most two out situations you will see that they tend to have very low FLIs.  This is because even if the pitcher is struggling, it is likely that one of the next two batters will make an out and end the inning.  This means that you really should be warming up your important arms early in the inning, not late.  Also, if you have a lead and a few runners get on base, and it is getting late in the game, now is the time to warm up your closer.  Top of the eighth with a two run lead and runners on first and second checks it at a FLI of 2.9.  That is the same leverage as a one run lead starting the top of the ninth.  If you are behind by a run though FLI drops like a rock.&lt;br /&gt;&lt;br /&gt;Hopefully, the end product of this will be something that is combined with the intentional walk tool to become a situational tool.  Plug in the situation and the players involved and it will tell you if you should walk the next batter or to start your closer warming up or whatever.  That is still probably weeks away but this should be a good step in that direction.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6337312839698763116-9055124959439007079?l=www.baseball.bornbybits.com%2Fblog%2Fblog.html' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/6337312839698763116/9055124959439007079/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=6337312839698763116&amp;postID=9055124959439007079' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6337312839698763116/posts/default/9055124959439007079'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6337312839698763116/posts/default/9055124959439007079'/><link rel='alternate' type='text/html' href='http://www.baseball.bornbybits.com/blog/2007/10/future-leverage-index.html' title='Future Leverage Index'/><author><name>Josh Kalk</name><uri>http://www.blogger.com/profile/03137640990432404781</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='04671792912451147854'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6337312839698763116.post-6484896734782105765</id><published>2007-10-15T18:37:00.000-04:00</published><updated>2007-10-16T09:32:23.382-04:00</updated><title type='text'>Intentional Walk Tool</title><content type='html'>This post is going to be a nitty gritty explanation of the intentional walk tool I wrote. If you are coming from HardBallTimes and want a detailed explanation you are in the right place.  If you got here elsewhere and just want a quick rundown check my HardBallTimes article &lt;a href="http://www.hardballtimes.com/main/article/to-walk-or-not-to-walk/"&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;So the tool is actually two different programs put together.  The first tool is a &lt;a href="http://en.wikipedia.org/wiki/Monte_Carlo_method"&gt;Monte Carlo&lt;/a&gt; (MC) simulation of a baseball at bat.  What it does it is runs 10,000,000 trials for each at bat for every possible baseball situation.  There are eight possible runner situations (e.g. runners on second and third) and three out situations (no outs, one out, and two outs) and it does this for an OPS of 400, 500, 600, 700, 800, 900 and 1,000.   The OPS here stands for the expected OPS the batter would put up against this pitcher and defense. This gives us 168 possible combinations.  The program then calculates the probability of the at bat ending in every other situation (e.g. the chance that a runner on second with one out before the at bat ends with a runner on third with two outs, etc).  For runner advancement, error rate, and other goodies it uses 2007 data and assumes all runners are league average.  It then draws a best fit line through each situation given the OPS.  This slope and y-intercept are then recorded to a lookup table.&lt;br /&gt;&lt;br /&gt;To test that the MC is performing correctly we can run one batter for each situation and compare the resulting run expectancy to the 2007 run expectancy. I would expect that the MC should be close to the real run expectancy and it does appear close.  It is hard to say how close it should be and how much variation in the run expectancy matrix is variation.  Anyway, here are the numbers:&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.baseball.bornbybits.com/blog/uploaded_images/WPA-770411.gif"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://www.baseball.bornbybits.com/blog/uploaded_images/WPA-770409.gif" alt="" border="0" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;This lookup table then contains all the information you need to find the chance of a runner on second advances to third with one out if the batter has an OPS of say 761 (league average this year).  These lookup tables take hours to create but once they are done accessing them is incredible quick.  Now we are ready for the second part which is the program that puts all of the information together.&lt;br /&gt;&lt;br /&gt;This program, which takes as input a web form, starts with a baseball situation.  It then calculates every possible new situation after one at bat and the probability of that new situation.  Do this three more times and you have a resulting matrix that holds what the game looks like four batters in the future, weighted by the probability of that situation.  If the inning ended the opposing offense is allowed to bat and the game tree expands again weighing all the chances that team scored zero runs, or one run, etc...  Once this is done each situation is multiplied by the WPA of that  situation.  Sum them all up and you get the new, corrected WPA of the original situation.  If the game ended along the way the winning team is assigned a 100% WPA for that situation.  The WPA values used are from Dave Studeman and Jon Daly's WPA calculator.  My understanding is they used 2005 data to create their charts.  If you put in a league average batters it should return their WPA but because of error in the MC and the difference between 2005 and 2007 data the MC tends to be off by less than 0.5%.  There are a few instances when this rises to nearly a 1% difference though.&lt;br /&gt;&lt;br /&gt;Obviously, this MC is not perfect.  Hopefully it is a step forward though.  Also note that I am planning on creating a better MC by using a more accurate input than OPS.  I started with OPS because it was pretty easy to program and it would be easier to use for the general public but I a more accurate one will be coming soon.&lt;br /&gt;&lt;br /&gt;Whew.  Well hopefully that makes at least a little sense.  If it doesn't please feel free to comment below or email me under my profile to the right.  You can access the tool either at article at &lt;a href="http://www.hardballtimes.com/main/article/to-walk-or-not-to-walk/"&gt;THT&lt;/a&gt; or by following this &lt;a href="http://www.baseball.bornbybits.com/IBB_tool.html"&gt;link&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6337312839698763116-6484896734782105765?l=www.baseball.bornbybits.com%2Fblog%2Fblog.html' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/6337312839698763116/6484896734782105765/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=6337312839698763116&amp;postID=6484896734782105765' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6337312839698763116/posts/default/6484896734782105765'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6337312839698763116/posts/default/6484896734782105765'/><link rel='alternate' type='text/html' href='http://www.baseball.bornbybits.com/blog/2007/10/intentional-walk-tool.html' title='Intentional Walk Tool'/><author><name>Josh Kalk</name><uri>http://www.blogger.com/profile/03137640990432404781</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='04671792912451147854'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6337312839698763116.post-1269653013269414783</id><published>2007-10-04T14:20:00.000-04:00</published><updated>2007-10-04T15:09:32.548-04:00</updated><title type='text'>Was Manny Corpas Doctoring The Ball?</title><content type='html'>After my first &lt;a href="http://www.hardballtimes.com/main/article/a-closer-look-at-jeff-francis-start-against-the-phillies/"&gt;article on Hardball Times&lt;/a&gt; reader Tom who blogs &lt;a href="http://www.ballssticksstuff.com/"&gt;here&lt;/a&gt; emailed me saying that some TBS camera caught Manny Corpas &lt;a href="http://www.philly.com/philly/hp/sports/20071004_Umps__keep_an_eye_on_that_Rockie.html"&gt;pouring Gatorade on his jersey&lt;/a&gt; before coming in to pitch and then kept reaching for that spot when he was on the mound.  Was Corpas wetting the ball in effect throwing a spit ball?  Tom wanted me to look into it so I downloaded the 13 pitches Corpas threw and ran them through my algorithms correcting for everything but &lt;a href="http://www.baseball.bornbybits.com/blog/2007/09/corrections-to-corrections.html"&gt;home stand calibration corrections&lt;/a&gt;.  I didn't use those corrections because only one game has been played in the series and it is hard to tell from that how what the PITCHf/x calibration really was.  These corrections are very small anyway so they most likely wouldn't make a difference.  Here is Corpas' &lt;a href="http://baseball.bornbybits.com/plots/Manny_Corpas.html"&gt;player card&lt;/a&gt; for full details.&lt;br /&gt;&lt;br /&gt;Anyway, I decided to overlay Corpas' regular season data as well to see if his pitches yesterday were doing anything different from the regular season.  Because it is only 13 pitches be warned, we have an incredibly tiny sample here.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.baseball.bornbybits.com/blog/uploaded_images/corpas-758693.gif"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://www.baseball.bornbybits.com/blog/uploaded_images/corpas-758689.gif" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;It does appear that Corpas was throwing his Slider a little more often than he did in the regular season but because we saw Francis do a similar thing that appears to be the Rockies game plan.  As far as to whether the ball was breaking any differently it doesn't appear to be.  If you look closely you might see that Corpas was getting less vertical movement then normal but overall it appears well within the range that he can pitch.  We saw the Francis was trying to keep the ball down as well and it could be those were Corpas' instructions as well.  His speed was pretty much right in line with his norms as well.  His Fastball was a tick above 93 MPH and his Slider was a tick above 78 MPH.  So if Corpas was doctoring the ball, it doesn't look like it had any effect.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6337312839698763116-1269653013269414783?l=www.baseball.bornbybits.com%2Fblog%2Fblog.html' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/6337312839698763116/1269653013269414783/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=6337312839698763116&amp;postID=1269653013269414783' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6337312839698763116/posts/default/1269653013269414783'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6337312839698763116/posts/default/1269653013269414783'/><link rel='alternate' type='text/html' href='http://www.baseball.bornbybits.com/blog/2007/10/was-manny-corpas-doctoring-ball.html' title='Was Manny Corpas Doctoring The Ball?'/><author><name>Josh Kalk</name><uri>http://www.blogger.com/profile/03137640990432404781</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='04671792912451147854'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6337312839698763116.post-4260759137751860268</id><published>2007-10-02T12:19:00.000-04:00</published><updated>2007-10-02T12:27:39.958-04:00</updated><title type='text'>Season Ending Data</title><content type='html'>Except for the one game playoff yesterday the player cards and the defensive metrics should be completely up to date.  I have added some splits now to the player cards including right/left split and a breakdown by count.  I also have added an explanation page for the player cards that should be linked off of every card.  Lastly, I fixed the strike zone size as pointed out by Ike.  Thanks Ike for spotting that.  If you have any questions or corrections feel free to comment below.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6337312839698763116-4260759137751860268?l=www.baseball.bornbybits.com%2Fblog%2Fblog.html' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/6337312839698763116/4260759137751860268/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=6337312839698763116&amp;postID=4260759137751860268' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6337312839698763116/posts/default/4260759137751860268'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6337312839698763116/posts/default/4260759137751860268'/><link rel='alternate' type='text/html' href='http://www.baseball.bornbybits.com/blog/2007/10/season-ending-data.html' title='Season Ending Data'/><author><name>Josh Kalk</name><uri>http://www.blogger.com/profile/03137640990432404781</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='04671792912451147854'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6337312839698763116.post-4439185191816141380</id><published>2007-09-27T16:40:00.000-04:00</published><updated>2007-09-27T16:50:49.730-04:00</updated><title type='text'>Player Cards for Batters Now Available</title><content type='html'>I know I promised a post with a full explanation of my code but things just keep changing and I am going to hold off until I am really happy with everything to make that post.  So again I have messed with my clustering algorithm and added a couple of dozen hand edits on top of that mostly changing classifications of sliders/cutters and splitters/sinkers.  I think things are getting close as probably about 95% of pitches are correctly being classified.&lt;br /&gt;&lt;br /&gt;This has allowed me to then run the data through another plot maker to make player cards for batters as well.  Again, I require 100 pitches seen by PITCHf/x to qualify.  I have added the most recent team a player has played for and what hand he throws with.  Sadly some players, like &lt;a href="http://baseball.bornbybits.com/plots/bat/Adam_Dunn.html"&gt;Adam Dunn&lt;/a&gt;, bat with the opposite hand than they throw with.  I'd love to add if they bat left handed, right handed, or are a switch hitter but that data doesn't seem to be easily available in the files I am grabbing from MLB.  So I am going to have to grab some other files and cross reference to get that.  We will see when I get around to that.&lt;br /&gt;&lt;br /&gt;There are some more things I am planning on adding to the player cards like contact rate and how often they swing at balls but to make those numbers meaningful I need to find a league average first.  I also am going to be comparing pitchers this way.  Hopefully an update with that will come this weekend.&lt;br /&gt;&lt;br /&gt;As always, if you see something you think is wrong or something you would like to see added, or a design thing you would like to see changed leave a comment below.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6337312839698763116-4439185191816141380?l=www.baseball.bornbybits.com%2Fblog%2Fblog.html' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/6337312839698763116/4439185191816141380/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=6337312839698763116&amp;postID=4439185191816141380' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6337312839698763116/posts/default/4439185191816141380'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6337312839698763116/posts/default/4439185191816141380'/><link rel='alternate' type='text/html' href='http://www.baseball.bornbybits.com/blog/2007/09/player-cards-for-batter-now-available.html' title='Player Cards for Batters Now Available'/><author><name>Josh Kalk</name><uri>http://www.blogger.com/profile/03137640990432404781</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='04671792912451147854'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6337312839698763116.post-7338327437101114028</id><published>2007-09-20T18:29:00.001-04:00</published><updated>2007-09-21T10:22:40.279-04:00</updated><title type='text'>Brand New Player Cards</title><content type='html'>Well I was able to get things finished a bit early so here are some brand new &lt;a href="http://baseball.bornbybits.com/plots/players.html"&gt;player cards&lt;/a&gt;.  I am planning on making a big post about exactly how these plots are produced this weekend but for now let me just say that I am correcting the initial position/velocity of the ball and the accelerations (and a big thanks to Dr. Nathan for finding a mistake in my code that corrects the acceleration).   This way I can properly combine home and road data.  Once that correction is done I am pretending each ball was thrown at sea level at standard temperature.  This is done so my classification code can look at each pitch on the same footing and then determine what type of pitch it was.&lt;br /&gt;&lt;br /&gt;The classification code still needs some work.  It is getting better but still will miss-classify some pitches as belonging to a wrong group or incorrectly classify a group.  Maybe a better way of thinking about the two possible errors is the first error is when a pitcher throws both a slider and a curve and a certain pitch got labeled a slider when it should have been labeled a curve.  The second error is when a group of pitches are labeled as sliders when really every one of them is a curve.  I am still trying to adjust this code but it is getting better.  The only real big hole right now is it is not calling any group of pitches split fingered fastballs.  It also is having some issues with side armed pitchers and if they are &lt;a href="http://fastballs.wordpress.com/2007/09/14/in-the-land-of-submariners/"&gt;throwing two or four seamed fastballs&lt;/a&gt;.  I am working to correct that but I thought it would still be useful to show what I currently have.  The last time I did this I got some excellent reader response on what pitches the clustering algorithm was getting wrong and I'd like to ask for your assistance again.  Take a look through the player cards and either comment below what is incorrect or email me (my address is under my profile to the right).&lt;br /&gt;&lt;br /&gt;Even if you don't find any pitches that are being classified incorrectly if there is something you don't like about the presentation of the player cards, or something you would like to see added, again please let me know.  This really is my first attempt at something like this and I am not incredibly handy with html so feel free to suggest an alternate way of doing something.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6337312839698763116-7338327437101114028?l=www.baseball.bornbybits.com%2Fblog%2Fblog.html' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/6337312839698763116/7338327437101114028/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=6337312839698763116&amp;postID=7338327437101114028' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6337312839698763116/posts/default/7338327437101114028'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6337312839698763116/posts/default/7338327437101114028'/><link rel='alternate' type='text/html' href='http://www.baseball.bornbybits.com/blog/2007/09/brand-new-player-cards.html' title='Brand New Player Cards'/><author><name>Josh Kalk</name><uri>http://www.blogger.com/profile/03137640990432404781</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='04671792912451147854'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6337312839698763116.post-6415900213506143107</id><published>2007-09-11T17:48:00.000-04:00</published><updated>2007-09-11T23:34:55.192-04:00</updated><title type='text'>Player Cards</title><content type='html'>After a weekend of banging my head against the wall trying to figure out how to &lt;a href="http://www.baseball.bornbybits.com/blog/2007/09/response-to-reader-question.html"&gt;properly normalize the acceleration&lt;/a&gt; I needed a break.   So back to just looking at home pitches for pitchers. I decided to skip ahead to the next thing I wanted to do which is upload some &lt;a href="http://baseball.bornbybits.com/plots/players.html"&gt;player cards&lt;/a&gt;.  Basically, the plan was to use the PITCHf/x data to create a plot of the type of pitch each pitcher throws and then start to expand from there.  What I needed was a clustering algorithm that could look at all the pitches thrown by a pitcher and classify them.  I am not going to go into details about the algorithm as it still needs some fine tuning (as you will see below) but basically it examines every pitch and correlates speed and movement into clusters.  Once it has those clusters for each pitcher it finds the pitcher's fastball and then calculates what his other pitches do in comparison to the fastball.  It then compares his other offerings to all other pitchers and tries to guess what the other pitches are.   Sometimes this algorithm preforms well.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.baseball.bornbybits.com/blog/uploaded_images/Jonathan_Broxton-701860.gif"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://www.baseball.bornbybits.com/blog/uploaded_images/Jonathan_Broxton-701857.gif" alt="" border="0" /&gt;&lt;/a&gt;First, these plots show the movement of the pitch not the location.  For a great description of what exactly this means read this excellent &lt;a href="http://www.hardballtimes.com/main/article/in-search-of-the-sinker/"&gt;article&lt;/a&gt; by John Walsh.  This is exactly what you would expect from the hard throwing Broxton.  He has a great four seam fastball and what can be a devastating slider.  His change though, is a work in progress.  It doesn't have nearly the same movement as his fastball which helps tip the pitch to opposing batters. Because of this, you can see he doesn't throw it very often.&lt;br /&gt;&lt;br /&gt;Sometimes though the algorithm can get messed up.  This mostly happens in two ways.  First, the clustering gets over active and combines two pitches that really are different.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.baseball.bornbybits.com/blog/uploaded_images/Takashi_Saito-703616.gif"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://www.baseball.bornbybits.com/blog/uploaded_images/Takashi_Saito-703614.gif" alt="" border="0" /&gt;&lt;/a&gt;Saito appears to be throwing two varieties of fastballs (two seamer? cutter?) but the clustering algorithm combines them into one type.  This mostly occurs when the speed of the two pitches is very close.  You can see that Saito's splitter and his curve are about as far apart as the two fastballs but the algorithm correctly separated them. The other failure is sometimes the algorithm will misidentify a pitch.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.baseball.bornbybits.com/blog/uploaded_images/Roy_Oswalt-731102.gif"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://www.baseball.bornbybits.com/blog/uploaded_images/Roy_Oswalt-731099.gif" alt="" border="0" /&gt;&lt;/a&gt;It is my understanding that Oswalt throws a slider not a split finger fastball but the pitch seems to move more like Saito's split flinger fastball than Broxton's slider to the algorithm.  Also, one pitch that Oswalt threw didn't seem to match up to anything and just got left out.  Looking from the movement on the pitch it probably is a fastball but it could be a change.  Missing one pitch from Oswalt really isn't a problem but a few pitchers have clusters of pitches that aren't combined.   Rich Hill is an example of this.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.baseball.bornbybits.com/blog/uploaded_images/Rich_Hill-708245.gif"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://www.baseball.bornbybits.com/blog/uploaded_images/Rich_Hill-708242.gif" alt="" border="0" /&gt;&lt;/a&gt;Again, Rich Hill throws a slider not a splitter but the horizontal movement gets the pitch classified as a splitter.  If the group of unidentified pitches were added in maybe the pitch would be correctly identified.  Sometimes all hell breaks loose and the algorithm falls apart.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.baseball.bornbybits.com/blog/uploaded_images/Greg_Maddux-731293.gif"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://www.baseball.bornbybits.com/blog/uploaded_images/Greg_Maddux-731291.gif" alt="" border="0" /&gt;&lt;/a&gt;The great Greg Maddux who throws nothing but fastballs.  So what is going on here?  Well the clustering algorithm really needs some space between the types of pitches and Maddux doesn't really provide any.  What I mean by that is Maddux will throw his fastball at a wide range of speeds.  The low end of that range is very close to the high end of the velocity on his change.  This provides a bridge for the clustering algorithm to lump them all together.  The unknown points in the bottom right are some type of off speed pitch but it is unclear what.  Lastly, we can look at the worst case scenario, the knuckleball.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.baseball.bornbybits.com/blog/uploaded_images/Tim_Wakefield-791443.gif"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://www.baseball.bornbybits.com/blog/uploaded_images/Tim_Wakefield-791441.gif" alt="" border="0" /&gt;&lt;/a&gt;Here the algorithm really doesn't have a chance.  It does a good job of separating the knuckleball from the fastballs and most of the knuckleballs are grouped together with a few wrongly grouped at the edges.  The problem comes in comparing Wakefield to other pitchers.  Without any other knuckleballers in the league to compare him to the algorithm is lost and just throws out a guess and calls the pitch a slider.&lt;br /&gt;&lt;br /&gt;Anyway, here is where you come in.  I have uploaded a plot for every pitcher who has thrown more than 100 pitches in their home park while PITCHf/x was on.  If your favorite pitcher is missing don't worry, hopefully I will soon have a good league correction and can add in the away stats.  What I need is you to look over plots and tell me where the algorithm has messed up.  If the algorithm has combined two lumps of pitches that you think should be separated let me know in the comments below.  If the algorithm has incorrectly identified a group let me know.  If there is something ascetically unpleasing about the graphs or if there is something you would like to see me add to them let me know.  If you would rather email me than add a comment my email can be found under my profile to the right.&lt;br /&gt;&lt;br /&gt;The whole process of going from downloading the data to producing the plots takes nearly half a day.  The clustering algorithm itself takes over three hours on my super fast desktop.  The moral of the story is I am going to stick with this data set for at least a few more days as I try to hammer out the kinks to the algorithm.  Maybe this weekend I will do a full update.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6337312839698763116-6415900213506143107?l=www.baseball.bornbybits.com%2Fblog%2Fblog.html' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/6337312839698763116/6415900213506143107/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=6337312839698763116&amp;postID=6415900213506143107' title='7 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6337312839698763116/posts/default/6415900213506143107'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6337312839698763116/posts/default/6415900213506143107'/><link rel='alternate' type='text/html' href='http://www.baseball.bornbybits.com/blog/2007/09/player-cards.html' title='Player Cards'/><author><name>Josh Kalk</name><uri>http://www.blogger.com/profile/03137640990432404781</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='04671792912451147854'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>7</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6337312839698763116.post-7709068254743936274</id><published>2007-09-06T11:47:00.000-04:00</published><updated>2007-09-06T19:42:13.410-04:00</updated><title type='text'>Response to a Reader Question</title><content type='html'>A &lt;a href="https://www.blogger.com/comment.g?blogID=6337312839698763116&amp;postID=7024382379064404258"&gt;couple of posts back&lt;/a&gt; reader Alan brought up some interesting ideas for checking the data.  Here is part of his comment.&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;Consider only fastballs, which we can take to be pitches&gt;90 mph. First thing to look at is the initial z-component of the velocity. A negative z velocity means the pitch is thrown slightly downward. Do you see a correlation between the release point and the initial z velocity? Does the pitcher compensate for the higher release point with a larger downward component of velocity?&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;I want to examine these correlations and add in a few more variables to help complete the picture.  At the time Alan had wanted me to use the two parks that had the largest separation in vertical release point, z0, which were Fenway and AT&amp;amp;T.  Since then I found a &lt;a href="http://www.baseball.bornbybits.com/blog/2007/09/preliminary-correction-to-pitchfx-data_05.html"&gt;bug in my code&lt;/a&gt; and now the two parks that are furthest away are Fenway and the Metrodome.  The problem is both of those parks are on the lower end &lt;a href="http://www.baseball.bornbybits.com/blog/2007/09/somewhat-pretty-pictures.html"&gt;number of pitches tracked&lt;/a&gt; by PITCHf/x.  So instead I am going to start by looking at Petco park in San Diego and AT&amp;T park in San Fransisco.  AT&amp;amp;T doesn't have a whole lot more statistics than the Metrodome but it has a lower variance in my correction factor and the Giants and the Padres play each other very regularly so hopefully the overlap of pitchers in the data will be larger.&lt;br /&gt;&lt;br /&gt;I also should note that I am a little bit concerned about using the definition of all pitches with an initial speed of 90 MPH are fastballs.  While I am not too concerned about actual fastballs that are below 90 MPH being missed with this definition, I am concerned that some breaking balls will enter the sample.  Not too many pitchers throw a 90 MPH breaking ball but my initial correction factor for the error on the pitch speed is about 5 MPH and there are plenty of pitchers who can throw an 85 MPH breaking ball.  Nevertheless, I haven't come up with a better definition at this time and this definition will work for our purposes today.&lt;br /&gt;&lt;br /&gt;To start with I am going to check the correlation between the initial vertical release point and the vertical height when the ball crosses home plate.  The reason I want to check this first is something else that Alan said in his post that the calibration should be better near home plate.  That got me remembering this tidbit from Joe P. Sheehan when he was writing about differences in the parks &lt;a href="http://baseballanalysts.com/archives//001538-print.html"&gt;here&lt;/a&gt;:&lt;br /&gt;&lt;blockquote&gt;Almost all of the pitchers also get a smaller pfx_z [movement of the pitch vertically] value at home, which would seem to indicate that their pitches have more sink at Fenway, but is actually a result of the lower release height combined with the fact that, overall, the average height when a pitch crosses the plate at Fenway is similar to the height at other parks.&lt;/blockquote&gt;So he was seeing a very large variation in the release point but a small variation when the pitched crossed home plate.  This doesn't seem to make sense and I want to look at this first.  So finally, here is a plot comparing the initial and final height of the ball at Petco and ATT&amp;T parks.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.baseball.bornbybits.com/blog/uploaded_images/height-752637.gif"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://www.baseball.bornbybits.com/blog/uploaded_images/height-752635.gif" alt="" border="0" /&gt;&lt;/a&gt;Pitchers tend to release the ball about 6 feet above ground level though obviously this will vary from pitcher to pitcher.  We can see in this data though that the Petco data tends to be below 6 feet and AT&amp;T data tends to be above 6 feet.  Also, we can see a bunch of points near 3 feet in the San Diego data.  This is from side armer Cla Meredith for the Padres.  You would expect to see a few points from him show up on the San Fransisco data but that appears missing.  So I went back and checked and Meredith has yet to pitch at AT&amp;amp;T park while PITCHf/x was activated.  There appears to be another grouping of pitches just above 4 at Petco.  This almost certainly is another Padre pitcher but I haven't yet tracked him down.  If there are any Padre fans who know who this is please let me know.&lt;br /&gt;&lt;br /&gt;Anyway, besides the disparity in initial height, the height as the ball cross home plate appears very consistent across both parks.  If the initial position is off by as much as we think then why is the final position so stable?  It must be as Alan suggested that the PITCHf/x system is more stable near home plate.  I have a theory as to why this is but I am going to save that for my next post when I go in depth as to what I think is actually happening with the data.  What this is showing is the initial and final heights of the baseball aren't correlated at all.  This means we should be free to correct the initial position without worrying about changing the final position (as funny as that sounds).  Here then is the same plot with the &lt;a href="http://www.baseball.bornbybits.com/blog/2007/09/preliminary-correction-to-pitchfx-data_05.html"&gt;vertical correction&lt;/a&gt; applied.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.baseball.bornbybits.com/blog/uploaded_images/height_corr-752737.gif"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://www.baseball.bornbybits.com/blog/uploaded_images/height_corr-752734.gif" alt="" border="0" /&gt;&lt;/a&gt;What an improvement that makes.  Again because this correction is based on a pitcher by pitcher comparison of each park, this shift isn't moving the center of the Petco data on to the center of the AT&amp;T data.  Because the Padres have a few pitchers who throw at a very low height that difference still remains in the data.  The "average pitcher" who releases his ball just above 6 feet though will come together and that is exactly what the corrected plot shows.  Now we are ready to look at the initial height and the initial vertical velocity to see if we see a correlation there.  Because we aren't seeing a correlation between the two heights something must be causing that and it pretty much has to be either the initial velocity or the acceleration or both.  Starting again with the uncorrected data.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.baseball.bornbybits.com/blog/uploaded_images/z0_vz0-767684.gif"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://www.baseball.bornbybits.com/blog/uploaded_images/z0_vz0-767682.gif" alt="" border="0" /&gt;&lt;/a&gt;Here we can see clear correlation and it is exactly what we would expect.  As the pitch is being released the higher it is being released from the more negative (or downward) its velocity.  This makes perfect sense the only problem is the data looks terrible.  Again we see a difference in the initial height but there appears to be more here.  Lets start out by correcting for the initial height and see what that gives us.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.baseball.bornbybits.com/blog/uploaded_images/z0_vz0_corr-768721.gif"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://www.baseball.bornbybits.com/blog/uploaded_images/z0_vz0_corr-768716.gif" alt="" border="0" /&gt;&lt;/a&gt;Now the heights seem to match up well (except again for the two blobs now at 3 feet and near 5 feet) but the velocities seem off.  The AT&amp;T data appears to have more downward initial velocity than the Petco data.  So I am going to apply a correction to the initial velocities that I calculated the same way I calculated the initial height correction.  As I pointed out in previous posts the errors that I am seeing on these corrections are huge.  For instance, Petco checks in as being high by .5 FT/s with an error of 146 FT/s (AT&amp;amp;T is nearly 1 FT/s low).  Obviously that doesn't seem to make any sense and either something is still wrong with the my code or we just need more data or I need to correctly identify the fastballs or I need to carry the calculation out further.  Because of this I am not yet going to publish these corrections.  I don't really trust these numbers and I don't want people using them until I feel confidant that they are correct.  Once I get them fixed though I will be putting the numbers out for people to use.  Just for fun lets put in the numbers and see what happens.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.baseball.bornbybits.com/blog/uploaded_images/z0_vz0_full-729276.gif"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://www.baseball.bornbybits.com/blog/uploaded_images/z0_vz0_full-729274.gif" alt="" border="0" /&gt;&lt;/a&gt;Wow that looks pretty good.  I just don't understand why I am seeing such a huge error when I look at plots like this showing things matching up well. There is another interesting thing can be seen in this plot.  Remember back when I said I was concerned about making a hard cut at 90 MPH for the pitch speed?  The reason was that cut wouldn't be uniform over the parks.  Here, AT&amp;T was increasing the initial pitch speed by having a more negative initial vertical velocity.  Petco was doing exactly the opposite.  That means we are actually seeing some 87ish MPH pitches in the Petco data and we are only seeing 93ish MPH pitches in AT&amp;amp;T.  I believe that is why the AT&amp;T data fits snugly inside the Petco data.  The slower the ball is moving presumably the more potential for break (acceleration) there is and the wider the variation in position and velocity.&lt;br /&gt;&lt;br /&gt;That was interesting but while Petco and AT&amp;amp;T were at the extremes for variation in intial height they were closer to middle of the pack for variation in initial downward velocity.  What if we look at two parks that are very extreme in both categories?  The two best (worst?) parks here are Fenway and Angel stadium.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.baseball.bornbybits.com/blog/uploaded_images/h_v_II-729367.gif"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://www.baseball.bornbybits.com/blog/uploaded_images/h_v_II-729365.gif" alt="" border="0" /&gt;&lt;/a&gt;Wow that plot looks ugly.  Hopefully after our corrections things will get better.  Again we will start by correcting just the initial height.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.baseball.bornbybits.com/blog/uploaded_images/h_v_II_corr-766895.gif"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://www.baseball.bornbybits.com/blog/uploaded_images/h_v_II_corr-766891.gif" alt="" border="0" /&gt;&lt;/a&gt;Not quite the nice fit we saw before (in the initial height match).  Part of this could be due to the Boston staff being shorter than usual but part of it might be be due to error on these numbers.  Fenway is checking in at an error of nearly .2 feet and while that might not seem like a lot, if you moved the purple points right .2 feet it sure would look better to me.  Now on to the initial velocity adjustment.  These two parks are over 4 ft/s (over 2 MPH) different in just their initial downward velocity according to my numbers.  Again, the errors on these numbers are huge but lets put them in and see what we get.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.baseball.bornbybits.com/blog/uploaded_images/h_v_II_full-766986.gif"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://www.baseball.bornbybits.com/blog/uploaded_images/h_v_II_full-766984.gif" alt="" border="0" /&gt;&lt;/a&gt;While not as perfect as the AT&amp;T/Petco match this is a huge improvement for two parks that were radically different to start with.  This basically is the worst case scenario for having to correct the data and the results seem very good to me.  If this was all the closer we could get with these corrections I would still  be happy.&lt;br /&gt;&lt;br /&gt;Ok so I have shared the good news with you.  Looking at these plots it really seems like not only can we understand what is going on with the data but we can fix it as well.  Now the fly in the ointment.  The other parameters that are vital to these calculations are the accelerations (in x, y, and z).  For this data Sportvision is assuming that the acceleration is constant over time, meaning the change in velocity when the pitch is thrown is the same as the change in velocity as the pitch goes over home plate.  Now, obviously this isn't a perfect assumption as the ball could be slowing down more the closer it gets to home plate.  The problem is if you allow for a changing acceleration then the nice equations of motion that they use fall apart and things become even more messy.  In reality, it probably isn't bad at all to make the assumption that the acceleration isn't changing (Though I can't say for sure.  If you are looking for a topic to tackle using this data this would be an idea.) but the problem for us is the method that we are using for creating corrections for the initial distances and velocities won't work.  This means if we find that the accelerations need fixing, along with the positions and the velocities, then we are going to have to come up with a different method then the one I have outlined for fixing them.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Close your eyes (or turn off your monitor) if you don't want to see the bad news.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.baseball.bornbybits.com/blog/uploaded_images/z0_az-783560.gif"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://www.baseball.bornbybits.com/blog/uploaded_images/z0_az-783558.gif" alt="" border="0" /&gt;&lt;/a&gt;Going back to Petco and AT&amp;T here is the vertical acceleration compared to the initial height.  Again we can see the problems in the initial height because this is uncorrected data, but the accelerations don't seem to be matching up well either.  Correcting for the initial height we can fully see the problem.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.baseball.bornbybits.com/blog/uploaded_images/z0_az_corr-783659.gif"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://www.baseball.bornbybits.com/blog/uploaded_images/z0_az_corr-783656.gif" alt="" border="0" /&gt;&lt;/a&gt;Ick.  Again we can see Meredith and his fastballs that appear to be breaking down very hard (sinkers).  Also, pitcher X's data has come out from hiding a bit and we can see his contribution near 5 feet in initial height and -40 st/s^2.  His fastball must be a sinker as well.  The bad news though is it appears that an acceleration correction is going to have to be made for this data to match up.  It is close, but just not close enough.  This really sucks because what appears to be happening is the acceleration is being spread out in Petco and this correction won't be a nice linear one like the position and velocity corrections have been.  Just for more proof here is the Fenway/Angel stadium plot uncorrected first.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.baseball.bornbybits.com/blog/uploaded_images/h_a_II-792018.gif"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://www.baseball.bornbybits.com/blog/uploaded_images/h_a_II-792013.gif" alt="" border="0" /&gt;&lt;/a&gt;Again, these two parks are just about as bad as the data is going to get unless one of the last two parks to come online really sucks.  Correcting for the initial height things get better but still look pretty poor.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.baseball.bornbybits.com/blog/uploaded_images/h_a_II_corr-792120.gif"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://www.baseball.bornbybits.com/blog/uploaded_images/h_a_II_corr-792117.gif" alt="" border="0" /&gt;&lt;/a&gt;Again we are seeing a spreading out of the accelerations.  Instead of being able to match these two distributions by moving one or the other left/right or up/down the distributions will have to be shrunk or spread out.  It is possible that my artificial cut at 90 MPH is doing some of this (like we saw in the position/velocity graphs) but I don't think it is responsible for all of it.&lt;br /&gt;&lt;br /&gt;So where do we stand?  Even without a great way of teasing the fastballs out of the data it appears that we will eventually be able to get some good correction factors for the initial positions and velocities.  The accelerations are another story and something that will have to be thought about.  If anyone has a good way of cutting the data to produce fastballs and are interested in sharing it please let me know.  Also, if anyone knows thinks they have a good method for correcting the accelerations even if they don't know exactly how to implement it let me know.&lt;br /&gt;&lt;br /&gt;You may have noticed that I started calling it PITCHf/x instead of pitchFX like my previous posts.  I had seen it written both ways a lot and thought pitchFX was correct but after reading through the sport vision website again it definitely should be PITCHf/x.  My apologies to the creators.&lt;br /&gt;&lt;br /&gt;ps. If reader Alan happens to be Dr. Alan Nathan who published this excellent &lt;a href="http://webusers.npl.uiuc.edu/%7Ea-nathan/pob/Analysis.pdf"&gt;paper&lt;/a&gt; examining John Lester's start against the Mariners please email me.  You can find my email address under my profile on the right.  I'd really like to chat about possibly using the spin magnitude and axis to classify pitches and why his theoretical fit to the data matched up so well when I am seeing such terrible agreement.  Actually, anyone who wants to discuss any of that or anything else can email me with the link provided under my profile.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6337312839698763116-7709068254743936274?l=www.baseball.bornbybits.com%2Fblog%2Fblog.html' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/6337312839698763116/7709068254743936274/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=6337312839698763116&amp;postID=7709068254743936274' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6337312839698763116/posts/default/7709068254743936274'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6337312839698763116/posts/default/7709068254743936274'/><link rel='alternate' type='text/html' href='http://www.baseball.bornbybits.com/blog/2007/09/response-to-reader-question.html' title='Response to a Reader Question'/><author><name>Josh Kalk</name><uri>http://www.blogger.com/profile/03137640990432404781</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='04671792912451147854'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6337312839698763116.post-6125854171737157891</id><published>2007-09-05T17:01:00.000-04:00</published><updated>2007-09-05T17:37:08.686-04:00</updated><title type='text'>Preliminary Correction to PitchFX Data Part II</title><content type='html'>So I am still working the kinks out of my code and this afternoon I found a bug that was messing up with the weighted variance when it came time to calculate the differences between each of the parks.  This carried over and messed with the release point factors as well.  It did so in a nasty way that didn't have a huge effect on parks that had a lot of data which is why I didn't catch it earlier.  Anyway, I fixed the bug and when I went to recalculate the park factors all of the errors went way up.  This actually seemed not unreasonable to me as I was planning on adding in a second order calculation anyway.  I started talking about it in response to one of the comments in the last post.&lt;br /&gt;&lt;br /&gt;It really is a pretty simple concept.  In addition to directly comparing pitchers who pitched in park A and park B I am adding in pitchers who pitched in park A and park C and then pitchers who pitched in park B and park C.  I am adding this two step process together in quadrature just like I did when I calculated the differences originally.  It turned out this improved things but not quite as much as I hoped.  So I took it one step further and added a third order correction as well.  Every additional step you take helps less and less but third order still was enough to produce some pretty pleasing results.  Obviously, this isn't a very good writeup of the process but for reasons that I will detail later, the code still isn't quite where it needs to be.  So, I am not going to do another full writeup of the process until it is more set in stone.  Here are the results from the new method including all games played yesterday, Sept. 4th.&lt;br /&gt;&lt;br /&gt;Correction to the z0 release point (in inches)&lt;br /&gt;&lt;br /&gt;park factor variance&lt;br /&gt;bos -5.703 0.18480&lt;br /&gt;sdn -4.070 0.04284&lt;br /&gt;was -3.607 0.36426&lt;br /&gt;sln -3.148 0.03288&lt;br /&gt;cha -2.761 0.04104&lt;br /&gt;nyn -2.759 0.50190&lt;br /&gt;flo -2.601 0.10395&lt;br /&gt;mil -1.757 0.07686&lt;br /&gt;lan -1.051 0.03574&lt;br /&gt;ari -0.880 0.05964&lt;br /&gt;hou -0.719 0.06288&lt;br /&gt;sea -0.391 0.04026&lt;br /&gt;bal -----&lt;br /&gt;pit -----&lt;br /&gt;det 0.139 0.10242&lt;br /&gt;atl 0.349 0.03999&lt;br /&gt;cle 0.359 0.07261&lt;br /&gt;tor 0.451 0.04750&lt;br /&gt;oak 0.769 0.03911&lt;br /&gt;phi 0.862 0.11741&lt;br /&gt;nya 1.053 0.36311&lt;br /&gt;tba 1.115 0.24041&lt;br /&gt;chn 1.436 0.06175&lt;br /&gt;col 2.588 0.07733&lt;br /&gt;kca 2.629 0.16184&lt;br /&gt;cin 2.884 0.08300&lt;br /&gt;tex 3.211 0.03561&lt;br /&gt;ana 3.370 0.04835&lt;br /&gt;sfn 3.848 0.04182&lt;br /&gt;min 4.464 0.07266&lt;br /&gt;&lt;br /&gt;I am moving to inches because if I report the numbers in feet some of the variances are incredibly small and kind of hard to write in a nice table format.  The relative error doesn't change but this is easier to read.  Still no data for Baltimore or Pittsburgh but Washington is showing up.  I looked into this and found that th pitchFX system was turned on for one game at RFK but has been turned off since and no data was received so far for their home stand.  Things look pretty good here with the statistical error being at most half an inch but when you turn to x0 things get a bit out of hand.&lt;br /&gt;&lt;br /&gt;Correction to the x0 release point (in inches)&lt;br /&gt;&lt;br /&gt;park factor variance&lt;br /&gt;flo -9.687 3.16846&lt;br /&gt;ari -6.589 1.70915&lt;br /&gt;tex -3.249 1.36334&lt;br /&gt;sdn -2.364 1.72881&lt;br /&gt;chn -2.123 1.53192&lt;br /&gt;hou -2.059 1.75174&lt;br /&gt;cin -1.936 2.51889&lt;br /&gt;sfn -1.880 1.80075&lt;br /&gt;phi -1.704 3.41626&lt;br /&gt;nyn -0.715 8.95378&lt;br /&gt;col -0.492 2.44724&lt;br /&gt;sln -0.449 1.25995&lt;br /&gt;ana -0.441 1.11405&lt;br /&gt;sea -0.275 1.50260&lt;br /&gt;was -0.051 20.73689&lt;br /&gt;bal ----&lt;br /&gt;pit ----&lt;br /&gt;cha 0.533 1.78187&lt;br /&gt;det 0.625 3.14010&lt;br /&gt;oak 0.632 1.39684&lt;br /&gt;lan 0.851 1.62027&lt;br /&gt;kca 0.911 3.62942&lt;br /&gt;cle 1.453 4.05667&lt;br /&gt;tor 2.261 1.42610&lt;br /&gt;nya 2.999 8.05124&lt;br /&gt;mil 3.103 3.15419&lt;br /&gt;min 3.125 1.66268&lt;br /&gt;bos 3.876 3.28594&lt;br /&gt;tba 5.705 3.37659&lt;br /&gt;atl 7.728 1.82724&lt;br /&gt;&lt;br /&gt;Wow.  The first thing to notice is that the correction in x needs to be bigger than the correction in z.  If these numbers are correct, pitchFX is missing the horizontal release point by almost 10 inches in Florida.  That is huge.  Also huge are the errors on these numbers.  Even the parks with a lot of data still have errors bigger than an inch.  That is just too big.  Maybe this is because I need to go to forth order because the spread is much bigger.  Maybe there needs to be a  separate correction for left handers and right handers for each park.  That would really suck because cutting an already thin sample by about 1/3 to look at just lefties would be pretty painful.&lt;br /&gt;&lt;br /&gt;Anyway, work is in progress but I need to be able to hammer out the details for x0 and z0 before I move on to the initial velocities.  If I use the same code run for vz0 I get a correction for Fenway that is 2.719 with an error of 170!  Obviously, taking out the breaking pitches will be essential for correcting that data.  If anyone has any thoughts about possible improvements to these corrections I'd love to hear them.  Either comment below or drop me an email.  If we can just get this data corrected I believe it would be a huge step forward in analyzing baseball.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6337312839698763116-6125854171737157891?l=www.baseball.bornbybits.com%2Fblog%2Fblog.html' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/6337312839698763116/6125854171737157891/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=6337312839698763116&amp;postID=6125854171737157891' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6337312839698763116/posts/default/6125854171737157891'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6337312839698763116/posts/default/6125854171737157891'/><link rel='alternate' type='text/html' href='http://www.baseball.bornbybits.com/blog/2007/09/preliminary-correction-to-pitchfx-data_05.html' title='Preliminary Correction to PitchFX Data Part II'/><author><name>Josh Kalk</name><uri>http://www.blogger.com/profile/03137640990432404781</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='04671792912451147854'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6337312839698763116.post-7024382379064404258</id><published>2007-09-03T22:41:00.000-04:00</published><updated>2007-09-04T17:45:20.192-04:00</updated><title type='text'>Preliminary Correction to the PitchFX data</title><content type='html'>So I have been doing a lot of work with the pitchFX data recently and I think I have a nice method for correcting the vertical release point, z0, (and other variables) in the data.  This post will outline the method that I am using.  I'd really, really, like some input on what people think about this method.  Because of this, this post is going to be very math heavy.  If you aren't interesting in that kind of stuff just skip it or skip to the final numbers at the end.&lt;br /&gt;&lt;br /&gt;Joe P. Sheehan has started to look at this in his &lt;a href="http://baseballanalysts.com/archives//001538-print.html"&gt;post&lt;/a&gt; at baseballanalysts.com.  In that post he compared pitchers home/road splits for the vertical release point and showed that the data has some serious quirks.  Before any real analysis can take place the data must be normalized. One would like to find a league average release point and then calculate the difference between that average and an average of every pitch thrown in a particular park.  The problem with that is if a team's pitching staff is much taller or shorter than average the data is going to appear skewed.  Because of this, a more complicated method will be needed.&lt;br /&gt;&lt;br /&gt;I want to start by mentioning that during different times this year the pitchFX system has been recording at different distances.  They started at 55 ft. from home plate but have moved it in as far as 40 ft.  To normalize the data we are going to need a consistent value for the initial position.  So I am moving back each point not at 55 ft. to 55ft. using the standard equations of motion.  You can find a good description of this process at Alan M. Nathan's page &lt;a href="http://webusers.npl.uiuc.edu/%7Ea-nathan/pob/tracking.htm"&gt;here&lt;/a&gt;.  From now on if I use the word release point I am talking about the z0 data recorded at 55ft.  Once this correction has been done I can start the normalization process.  Also, I am using almost all the data available going up to the games played Saturday night (Sept. 2rd).&lt;br /&gt;&lt;br /&gt;My plan is going to be to compare each park using pitchers that threw in both parks while the pitchFX system was in place.  By comparing the difference in release point between the two parks we can get an estimate the difference in the pitchFX system in each park.  This process assumes that pitchers aren't changing their release point over time.  Obviously, some of this is going to occur but pitchFX has tracked over 200,000 pitches so hopefully we can overcome this with the aid of large statistics.  Sheehan used Josh Beckett as an example in his analysis and it turns out that Beckett's numbers are pretty interesting so I will use him as an example as well.  Here is a histogram of Beckett's release point for every park he has pitched in that had an operational pitchFX system.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.baseball.bornbybits.com/blog/uploaded_images/beckett-729310.gif"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://www.baseball.bornbybits.com/blog/uploaded_images/beckett-729309.gif" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Obviously, Beckett has thrown the most pitches at Fenway and had exactly one start in each of the other parks.  If you would scale each distribution to the same size though they would pretty much look like each other.  This implies that Beckett hasn't changed his release point and the only difference in the distributions are from the pitchFX system.  As Sheehan noted, the data from Fenway appear to be way different from the data at the other parks.  That said, there still is relatively large variations in his road starts as well.&lt;br /&gt;&lt;br /&gt;So to start I would like to calculate the difference between the system's output in two parks.  To do this I need to search for pitchers that have pitched in both parks while pitchFX has been turned on.   To be added into the sample I also require at least 20 pitches be thrown by the pitcher in each park.  I then calculate the mean and the variance for each pitcher in each park.  Then I calculate the difference between the parks by subtracting the means.  To get an error on this I add the squares of variances.  I then have a list of pitchers who pitched in both parks and the mean and variance for the difference between the parks.  I want to average them but to do that I am going to use a &lt;a href="http://en.wikipedia.org/wiki/Weighted_mean"&gt;weighted mean&lt;/a&gt; so pitchers with lower variance will count more.  Do this for each pair of parks and you have the difference between release points between the parks.&lt;br /&gt;&lt;br /&gt;What we really want though is the difference between each park and a league average.  Fortunately, if we add each of the differences for a park together we should get the difference between that park and league average.  Do this for each park and you have every parks difference from league average.&lt;br /&gt;&lt;br /&gt;As an aside this is where interleague games really come in handy.  Without them there would be little crossover between AL and NL parks and we would probably have to settle for an AL and NL adjustment instead of a league adjustment.  So interleague play is good for something.&lt;br /&gt;&lt;br /&gt;So here are the results:&lt;br /&gt;z0 release point at each park compared to league average&lt;br /&gt;bos -0.653&lt;br /&gt;nyn -0.357&lt;br /&gt;cha -0.276&lt;br /&gt;sdn -0.243&lt;br /&gt;sea -0.176&lt;br /&gt;flo -0.175&lt;br /&gt;tba -0.083&lt;br /&gt;tor -0.083&lt;br /&gt;det -0.073&lt;br /&gt;lan -0.061&lt;br /&gt;hou -0.046&lt;br /&gt;sln -0.030&lt;br /&gt;nya -0.011&lt;br /&gt;atl -0.006&lt;br /&gt;was 0.000&lt;br /&gt;bal -----&lt;br /&gt;pit -----&lt;br /&gt;kca 0.016&lt;br /&gt;ari 0.017&lt;br /&gt;cle 0.019&lt;br /&gt;mil 0.034&lt;br /&gt;oak 0.071&lt;br /&gt;col 0.145&lt;br /&gt;phi 0.183&lt;br /&gt;min 0.195&lt;br /&gt;tex 0.243&lt;br /&gt;chn 0.253&lt;br /&gt;cin 0.285&lt;br /&gt;ana 0.362&lt;br /&gt;sfn 0.450&lt;br /&gt;&lt;br /&gt;First, pitchFX has yet to be turned on in Baltimore and Pittsburgh.  Both those teams are on a road trip right now and I expect that when they come back home data will start rolling in for them as well.  Washington has been turned on but only for a very limited time.  Hopefully, that will get back shortly and that can be added as well.&lt;br /&gt;&lt;br /&gt;These results generally agree with what Sheehan found using home/road splits but there are a few parks that changed a good deal.  For instance, Colorado looked like it was producing very high release points but now has settled down.  Because pitchFX was installed very early in the west coast stadiums, and because San Fransisco and San Diego are pretty far away from league average, the home/road splits could have been corrupted.  Maybe a similar thing was happening with Boston and Toronto with Rogers Centre.&lt;br /&gt;&lt;br /&gt;Going back to Beckett for a moment.  Now we can see from the chart that every single park he has pitched in with pitchFX turned on is below league average.  So if you were to look at his data without first adjusting for these effects you would really be short changing Beckett.&lt;br /&gt;&lt;br /&gt;In any case, it is important to test these results to see how much of a difference they make.  To do this I looked at every pitcher in the league and calculated his mean and variance of his release point at home and on the road first without applying these corrections then after applying these corrections.  I then calculated a league average mean and variance for home and road games again using weighted means for each of the samples.  If the corrections are working the road variance should move much closer to the home variance, and that is exactly what I find.  Without the correction the home variance is .00004187 and the road variance is .00005516.  While these numbers look small the percent difference between them is over 30%.  Now after the corrections the home variance becomes .00004173 and the road variance becomes .00004213.  Now that is a remarkable change.  You may be asking why the home variance changed at all.  After all, if you are just adding a constant to the home numbers the variance should remain unchanged.  The reason there is a slight change is from pitchers who changed teams and have at least two home parks.  The way I have my code setup it is very hard to remove them from the sample so I left them in and that slightly changed the home variance.&lt;br /&gt;&lt;br /&gt;So what is next?  Well I have to run the numbers for the horizontal release point, x0 and then for the initial velocities.  All of these numbers will need to be corrected before we really can use the data properly.  The initial velocities will be more difficult because pitchers might throw a different percentage of off speed pitches to different teams.  The Marlins, for example, are supposed to be a very good fastball hitting team.  When a visiting pitcher faces them he probably will throw more off speed pitches making it appear like his overall velocity is down if you average over all pitches.  A possible work around to this will be to identify just the fastballs in the sample and then only compare them.  In any case, it will take me a few days to produce those numbers as the code needed for this takes forever to run and my eyes, they bleed.  If you got this far congratulations, please consider leaving a comment if you have any questions or concerns about the method.  Thanks.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6337312839698763116-7024382379064404258?l=www.baseball.bornbybits.com%2Fblog%2Fblog.html' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/6337312839698763116/7024382379064404258/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=6337312839698763116&amp;postID=7024382379064404258' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6337312839698763116/posts/default/7024382379064404258'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6337312839698763116/posts/default/7024382379064404258'/><link rel='alternate' type='text/html' href='http://www.baseball.bornbybits.com/blog/2007/09/preliminary-correction-to-pitchfx-data.html' title='Preliminary Correction to the PitchFX data'/><author><name>Josh Kalk</name><uri>http://www.blogger.com/profile/03137640990432404781</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='04671792912451147854'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6337312839698763116.post-6245348559620870027</id><published>2007-09-02T10:35:00.000-04:00</published><updated>2007-09-02T10:49:03.083-04:00</updated><title type='text'>Estrada Hit Chart</title><content type='html'>So TheJay keeps requesting them and I am going to keep posting them.  Again, if anyone has a player they would like to see please leave a comment below.  Also, I am getting close to getting the release point of the pitch normalized for each park.  Since all quantities depend solely on the initial conditions this should be very useful.  Hopefully today or tomorrow I will be blogging about that with some numbers for people to use.  The velocity normalization is going to be harder to do but I do have an idea on that.  The acceleration will be very tricky and may not be possible with the data we currently have.  Anyway, on to Estrada.&lt;br /&gt;&lt;br /&gt;Estrada is a hitter that swings at a lot of pitches and makes a lot of contact.  For a long time this year he was swinging at the first pitch over 50% of the time.  I'm not sure if he is still doing that but here are the results from pitchFX for all of the pitches to Estrada.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.baseball.bornbybits.com/blog/uploaded_images/estrada_total-722272.gif"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://www.baseball.bornbybits.com/blog/uploaded_images/estrada_total-722269.gif" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;So I have combined the hit chart and the strike chart into one and added foul balls.  This plot is very busy but if you click on it it will enlarge and look a lot better.  Estrada is a switch hitter so you would have to assume most of those strike calls there were off the plate came from him batting left handed.  Estrada is mostly a singles hitter with a little power mixed in mostly down and away when he is batting left handed.  What about him swining at the first pitch?&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.baseball.bornbybits.com/blog/uploaded_images/Estrada_first_pitch-722379.gif"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://www.baseball.bornbybits.com/blog/uploaded_images/Estrada_first_pitch-722374.gif" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Estrada appears to be laying off more first pitches recently and because most of his pitchFX data has come recently he appears to be more patent than he really has been over the whole year.  Almost all of his power comes swinging at the first pitch so it appears that he is swinging very hard when he does swing.  Most of his swinging strikes came out of the zone and most of his foul balls came in the zone.  Honestly with his track record I am shocked that pitchers continue to give him first pitch fastballs in the zone.  If he is going to burn you it most likely is on that first pitch and starting him off with offspeed stuff out of the zone seems like a good bet to me.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6337312839698763116-6245348559620870027?l=www.baseball.bornbybits.com%2Fblog%2Fblog.html' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/6337312839698763116/6245348559620870027/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=6337312839698763116&amp;postID=6245348559620870027' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6337312839698763116/posts/default/6245348559620870027'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6337312839698763116/posts/default/6245348559620870027'/><link rel='alternate' type='text/html' href='http://www.baseball.bornbybits.com/blog/2007/09/estrada-hit-chart.html' title='Estrada Hit Chart'/><author><name>Josh Kalk</name><uri>http://www.blogger.com/profile/03137640990432404781</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='04671792912451147854'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6337312839698763116.post-28620108026960301</id><published>2007-08-31T18:18:00.000-04:00</published><updated>2007-08-31T18:51:03.613-04:00</updated><title type='text'>More fun with pitchFX</title><content type='html'>As promised here is the beginning of five players in five days.  The only problem is I only have one request for a player so far.  So that will take care of today but I need some more requests people.  There has to be a player that you find interesting either a pitcher or a position player.  Please add your requests to the bottom of this thread and tomorrow you will see some interesting plots on them.  Ok with that on to Ryan Braun.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.baseball.bornbybits.com/blog/uploaded_images/braun_hit-712958.gif"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://www.baseball.bornbybits.com/blog/uploaded_images/braun_hit-712956.gif" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;This plot should look pretty familiar.  It is Ryan Braun's hit chart just like what I made for Fielder yesterday.  The thing that really gripped me about this plot was the lack of hits up and away so I added some dividing lines to break the strikezone into quarters.  It seems pretty clear to me that Braun is a low ball hitter with his happy zone coming low and in (remember he is a right handed batter so he is standing around -2).  That got me wondering if Braun was swinging and missing at a lot of those high balls.  So I made this plot.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.baseball.bornbybits.com/blog/uploaded_images/braun_strike-713066.gif"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://www.baseball.bornbybits.com/blog/uploaded_images/braun_strike-713064.gif" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;This plot shows ever pitch that hit the catcher's glove when Braun was up to bat.  You can see that there seems to be some extra called strikes that are out of the zone in and some balls that appear to be way too good not to be called strikes.  This seems to be about what was found in &lt;a href="http://www.hardballtimes.com/main/article/the-eye-of-the-umpire/"&gt;this study&lt;/a&gt;.  Anyway, back to Braun, it appears that he is most willing to expand his zone on balls off the plate and down a bit.  Since he appears to be such a good low ball hitter this seems to make sense.  The Cubs seemed to be giving him a steady dose of low and away with the off speed pitches and fastballs up (and somewhat in).  It will be interesting to see if other teams start trying that.  These plots seem to suggest that is where his weaknesses are.&lt;br /&gt;&lt;br /&gt;That got me thinking that it would be interesting to compare Braun's chart to a known free swinger.  Here is Geoff Jenkins' strike chart.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.baseball.bornbybits.com/blog/uploaded_images/jenkins_strike-742769.gif"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://www.baseball.bornbybits.com/blog/uploaded_images/jenkins_strike-742767.gif" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Jenkins really can't lay off the ball in the dirt.  It appears that almost half of the balls thrown over the plate but down he swings at.  Also notice how few balls in pitchers have thrown to Jenkins.  The book on him clearly is away, away, away and down when you get two strikes.  What about Fielder?&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.baseball.bornbybits.com/blog/uploaded_images/fielder_strike-742869.gif"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://www.baseball.bornbybits.com/blog/uploaded_images/fielder_strike-742867.gif" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Same sort of plan by the pitchers.  Keep the ball away from Fielder and low and away if you want him to swing.  Here you can really see that the umpires are calling a lot of strikes on Fielder on balls that are off the plate.  Hopefully, as he gets older he will start getting that called correctly.  Unlike Braun, very few called balls are in Fielder's zone and most of them are inside.  If you look very closely to this plot I have added two black plus signs (clicking on the plot will make it bigger and much easier to see).  These are two pitches are called strikes from the game that Fielder got ejected by Wally Bell.  Unfortunately, these aren't the pitches from his at bat in the 8th inning they are from earlier in the game.  Why am I not showing you the at bat Fielder got ejected over?  Because MLB has removed the pitchFX data for that at bat.  Here is a link to the &lt;a href="http://gd2.mlb.com/components/game/mlb/year_2007/month_08/day_12/gid_2007_08_12_milmlb_houmlb_1/inning/inning_8.xml"&gt;inning&lt;/a&gt; and you can see that every other at bat has pitchFX data but Fielders.  That makes me think that the pitchFX data showed that the call was terrible and that Fielder was correct when he argued.  We know Bell had called two strikes on balls that were clearly off the plate earlier in the game and it seems very possible that the "strike" that he rung Fielder up on was even further outside.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6337312839698763116-28620108026960301?l=www.baseball.bornbybits.com%2Fblog%2Fblog.html' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/6337312839698763116/28620108026960301/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=6337312839698763116&amp;postID=28620108026960301' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6337312839698763116/posts/default/28620108026960301'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6337312839698763116/posts/default/28620108026960301'/><link rel='alternate' type='text/html' href='http://www.baseball.bornbybits.com/blog/2007/08/more-fun-with-pitchfx.html' title='More fun with pitchFX'/><author><name>Josh Kalk</name><uri>http://www.blogger.com/profile/03137640990432404781</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='04671792912451147854'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6337312839698763116.post-6502359004563326735</id><published>2007-08-30T18:36:00.001-04:00</published><updated>2007-08-30T18:47:21.590-04:00</updated><title type='text'>Fielder hit chart</title><content type='html'>So the Sheets pitch stuff went over pretty well how about some stuff on the guys who hit the ball.  Here  is the location of every hit recorded by pitchFX that Prince Fielder has hit.  I have color coded the m to make it easier to see.  Again for his strike zone I  am averaging the top and bottom from all of his plate appearances.  Because pitchFX has some issues going from park to park you should not take these locations as set in stone.  I will be normalizing them later, hopefully by the weekend.  Sadly, pitchFX was only on for ten of Fielder's league leading 39 homers.  Because Fielder is a lefty he is standing around +2 horizontally.  Most lefties' happy zone is on balls down and in but Fielder seems  to like to get his arms extended and  seems to be better middle out than middle in.  When you pitch him on the outside corner he still seems to get to that ball but not hit them with as much power as the others.&lt;br /&gt;&lt;br /&gt;I'm going to post at least one plot for a player every day for the next five days at least.  Please let me know who you would like to see  plots on in the comments below.  One entry per person per day please and I will post them in the order they were received.  If the player doesn't have very many ABs or pitches that were tracked I reserve the right to skip that player.&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.baseball.bornbybits.com/blog/uploaded_images/fielder-731859.gif"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://www.baseball.bornbybits.com/blog/uploaded_images/fielder-731856.gif" alt="" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6337312839698763116-6502359004563326735?l=www.baseball.bornbybits.com%2Fblog%2Fblog.html' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/6337312839698763116/6502359004563326735/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=6337312839698763116&amp;postID=6502359004563326735' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6337312839698763116/posts/default/6502359004563326735'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6337312839698763116/posts/default/6502359004563326735'/><link rel='alternate' type='text/html' href='http://www.baseball.bornbybits.com/blog/2007/08/fielder-hit-chart.html' title='Fielder hit chart'/><author><name>Josh Kalk</name><uri>http://www.blogger.com/profile/03137640990432404781</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='04671792912451147854'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>1</thr:total></entry></feed>