CINXE.COM
TechGraphs | Just another FanGraphs Baseball site
<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <meta name="generator" content="WordPress 6.7.1" /> <!-- leave this for stats --> <link rel="alternate" type="application/rss+xml" title="RSS 2.0" href="https://techgraphs.fangraphs.com/feed/" /> <link rel="alternate" type="text/xml" title="RSS .92" href="https://techgraphs.fangraphs.com/feed/rss/" /> <link rel="alternate" type="application/atom+xml" title="Atom 0.3" href="https://techgraphs.fangraphs.com/feed/atom/" /> <link rel="pingback" href="https://techgraphs.fangraphs.com/xmlrpc.php" /> <!-- <link href="//maxcdn.bootstrapcdn.com/font-awesome/4.5.0/css/font-awesome.min.css" rel="stylesheet"> --> <title>TechGraphs | Just another FanGraphs Baseball site</title> <style>img:is([sizes="auto" i], [sizes^="auto," i]) { contain-intrinsic-size: 3000px 1500px }</style> <!-- The SEO Framework by Sybre Waaijer --> <meta name="robots" content="max-snippet:-1,max-image-preview:standard,max-video-preview:-1" /> <link rel="canonical" href="https://techgraphs.fangraphs.com/" /> <link rel="next" href="https://techgraphs.fangraphs.com/page/2/" /> <meta property="og:type" content="website" /> <meta property="og:locale" content="en_US" /> <meta property="og:site_name" content="TechGraphs" /> <meta property="og:title" content="TechGraphs" /> <meta property="og:url" content="https://techgraphs.fangraphs.com/" /> <meta name="twitter:card" content="summary_large_image" /> <meta name="twitter:title" content="TechGraphs" /> <script type="application/ld+json">{"@context":"https://schema.org","@graph":[{"@type":"WebSite","@id":"https://techgraphs.fangraphs.com/#/schema/WebSite","url":"https://techgraphs.fangraphs.com/","name":"TechGraphs","description":"Just another FanGraphs Baseball site","inLanguage":"en-US","potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://techgraphs.fangraphs.com/search/{search_term_string}/"},"query-input":"required name=search_term_string"},"publisher":{"@id":"https://techgraphs.fangraphs.com/#/schema/Organization"}},{"@type":"WebPage","@id":"https://techgraphs.fangraphs.com/","url":"https://techgraphs.fangraphs.com/","name":"TechGraphs | Just another FanGraphs Baseball site","inLanguage":"en-US","isPartOf":{"@id":"https://techgraphs.fangraphs.com/#/schema/WebSite"},"breadcrumb":{"@type":"BreadcrumbList","@id":"https://techgraphs.fangraphs.com/#/schema/BreadcrumbList","itemListElement":{"@type":"ListItem","position":1,"name":"TechGraphs"}},"about":{"@id":"https://techgraphs.fangraphs.com/#/schema/Organization"}},{"@type":"Organization","@id":"https://techgraphs.fangraphs.com/#/schema/Organization","name":"TechGraphs","url":"https://techgraphs.fangraphs.com/"}]}</script> <!-- / The SEO Framework by Sybre Waaijer | 0.88ms meta | 0.06ms boot --> <link rel='dns-prefetch' href='//techgraphs.fangraphs.com' /> <script type="text/javascript"> /* <![CDATA[ */ window._wpemojiSettings = {"baseUrl":"https:\/\/s.w.org\/images\/core\/emoji\/15.0.3\/72x72\/","ext":".png","svgUrl":"https:\/\/s.w.org\/images\/core\/emoji\/15.0.3\/svg\/","svgExt":".svg","source":{"concatemoji":"https:\/\/techgraphs.fangraphs.com\/wp-includes\/js\/wp-emoji-release.min.js?ver=6.7.1"}}; /*! This file is auto-generated */ !function(i,n){var o,s,e;function c(e){try{var t={supportTests:e,timestamp:(new Date).valueOf()};sessionStorage.setItem(o,JSON.stringify(t))}catch(e){}}function p(e,t,n){e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(t,0,0);var t=new Uint32Array(e.getImageData(0,0,e.canvas.width,e.canvas.height).data),r=(e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(n,0,0),new Uint32Array(e.getImageData(0,0,e.canvas.width,e.canvas.height).data));return t.every(function(e,t){return e===r[t]})}function u(e,t,n){switch(t){case"flag":return n(e,"\ud83c\udff3\ufe0f\u200d\u26a7\ufe0f","\ud83c\udff3\ufe0f\u200b\u26a7\ufe0f")?!1:!n(e,"\ud83c\uddfa\ud83c\uddf3","\ud83c\uddfa\u200b\ud83c\uddf3")&&!n(e,"\ud83c\udff4\udb40\udc67\udb40\udc62\udb40\udc65\udb40\udc6e\udb40\udc67\udb40\udc7f","\ud83c\udff4\u200b\udb40\udc67\u200b\udb40\udc62\u200b\udb40\udc65\u200b\udb40\udc6e\u200b\udb40\udc67\u200b\udb40\udc7f");case"emoji":return!n(e,"\ud83d\udc26\u200d\u2b1b","\ud83d\udc26\u200b\u2b1b")}return!1}function f(e,t,n){var r="undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope?new OffscreenCanvas(300,150):i.createElement("canvas"),a=r.getContext("2d",{willReadFrequently:!0}),o=(a.textBaseline="top",a.font="600 32px Arial",{});return e.forEach(function(e){o[e]=t(a,e,n)}),o}function t(e){var t=i.createElement("script");t.src=e,t.defer=!0,i.head.appendChild(t)}"undefined"!=typeof Promise&&(o="wpEmojiSettingsSupports",s=["flag","emoji"],n.supports={everything:!0,everythingExceptFlag:!0},e=new Promise(function(e){i.addEventListener("DOMContentLoaded",e,{once:!0})}),new Promise(function(t){var n=function(){try{var e=JSON.parse(sessionStorage.getItem(o));if("object"==typeof e&&"number"==typeof e.timestamp&&(new Date).valueOf()<e.timestamp+604800&&"object"==typeof e.supportTests)return e.supportTests}catch(e){}return null}();if(!n){if("undefined"!=typeof Worker&&"undefined"!=typeof OffscreenCanvas&&"undefined"!=typeof URL&&URL.createObjectURL&&"undefined"!=typeof Blob)try{var e="postMessage("+f.toString()+"("+[JSON.stringify(s),u.toString(),p.toString()].join(",")+"));",r=new Blob([e],{type:"text/javascript"}),a=new Worker(URL.createObjectURL(r),{name:"wpTestEmojiSupports"});return void(a.onmessage=function(e){c(n=e.data),a.terminate(),t(n)})}catch(e){}c(n=f(s,u,p))}t(n)}).then(function(e){for(var t in e)n.supports[t]=e[t],n.supports.everything=n.supports.everything&&n.supports[t],"flag"!==t&&(n.supports.everythingExceptFlag=n.supports.everythingExceptFlag&&n.supports[t]);n.supports.everythingExceptFlag=n.supports.everythingExceptFlag&&!n.supports.flag,n.DOMReady=!1,n.readyCallback=function(){n.DOMReady=!0}}).then(function(){return e}).then(function(){var e;n.supports.everything||(n.readyCallback(),(e=n.source||{}).concatemoji?t(e.concatemoji):e.wpemoji&&e.twemoji&&(t(e.twemoji),t(e.wpemoji)))}))}((window,document),window._wpemojiSettings); /* ]]> */ </script> <style id='wp-emoji-styles-inline-css' type='text/css'> img.wp-smiley, img.emoji { display: inline !important; border: none !important; box-shadow: none !important; height: 1em !important; width: 1em !important; margin: 0 0.07em !important; vertical-align: -0.1em !important; background: none !important; padding: 0 !important; } </style> <link rel='stylesheet' id='wp-block-library-css' href='https://techgraphs.fangraphs.com/wp-includes/css/dist/block-library/style.min.css?ver=6.7.1' type='text/css' media='all' /> <style id='classic-theme-styles-inline-css' type='text/css'> /*! This file is auto-generated */ .wp-block-button__link{color:#fff;background-color:#32373c;border-radius:9999px;box-shadow:none;text-decoration:none;padding:calc(.667em + 2px) calc(1.333em + 2px);font-size:1.125em}.wp-block-file__button{background:#32373c;color:#fff;text-decoration:none} </style> <style id='global-styles-inline-css' type='text/css'> :root{--wp--preset--aspect-ratio--square: 1;--wp--preset--aspect-ratio--4-3: 4/3;--wp--preset--aspect-ratio--3-4: 3/4;--wp--preset--aspect-ratio--3-2: 3/2;--wp--preset--aspect-ratio--2-3: 2/3;--wp--preset--aspect-ratio--16-9: 16/9;--wp--preset--aspect-ratio--9-16: 9/16;--wp--preset--color--black: #000000;--wp--preset--color--cyan-bluish-gray: #abb8c3;--wp--preset--color--white: #ffffff;--wp--preset--color--pale-pink: #f78da7;--wp--preset--color--vivid-red: #cf2e2e;--wp--preset--color--luminous-vivid-orange: #ff6900;--wp--preset--color--luminous-vivid-amber: #fcb900;--wp--preset--color--light-green-cyan: #7bdcb5;--wp--preset--color--vivid-green-cyan: #00d084;--wp--preset--color--pale-cyan-blue: #8ed1fc;--wp--preset--color--vivid-cyan-blue: #0693e3;--wp--preset--color--vivid-purple: #9b51e0;--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple: linear-gradient(135deg,rgba(6,147,227,1) 0%,rgb(155,81,224) 100%);--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan: linear-gradient(135deg,rgb(122,220,180) 0%,rgb(0,208,130) 100%);--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange: linear-gradient(135deg,rgba(252,185,0,1) 0%,rgba(255,105,0,1) 100%);--wp--preset--gradient--luminous-vivid-orange-to-vivid-red: linear-gradient(135deg,rgba(255,105,0,1) 0%,rgb(207,46,46) 100%);--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray: linear-gradient(135deg,rgb(238,238,238) 0%,rgb(169,184,195) 100%);--wp--preset--gradient--cool-to-warm-spectrum: linear-gradient(135deg,rgb(74,234,220) 0%,rgb(151,120,209) 20%,rgb(207,42,186) 40%,rgb(238,44,130) 60%,rgb(251,105,98) 80%,rgb(254,248,76) 100%);--wp--preset--gradient--blush-light-purple: linear-gradient(135deg,rgb(255,206,236) 0%,rgb(152,150,240) 100%);--wp--preset--gradient--blush-bordeaux: linear-gradient(135deg,rgb(254,205,165) 0%,rgb(254,45,45) 50%,rgb(107,0,62) 100%);--wp--preset--gradient--luminous-dusk: linear-gradient(135deg,rgb(255,203,112) 0%,rgb(199,81,192) 50%,rgb(65,88,208) 100%);--wp--preset--gradient--pale-ocean: linear-gradient(135deg,rgb(255,245,203) 0%,rgb(182,227,212) 50%,rgb(51,167,181) 100%);--wp--preset--gradient--electric-grass: linear-gradient(135deg,rgb(202,248,128) 0%,rgb(113,206,126) 100%);--wp--preset--gradient--midnight: linear-gradient(135deg,rgb(2,3,129) 0%,rgb(40,116,252) 100%);--wp--preset--font-size--small: 13px;--wp--preset--font-size--medium: 20px;--wp--preset--font-size--large: 36px;--wp--preset--font-size--x-large: 42px;--wp--preset--spacing--20: 0.44rem;--wp--preset--spacing--30: 0.67rem;--wp--preset--spacing--40: 1rem;--wp--preset--spacing--50: 1.5rem;--wp--preset--spacing--60: 2.25rem;--wp--preset--spacing--70: 3.38rem;--wp--preset--spacing--80: 5.06rem;--wp--preset--shadow--natural: 6px 6px 9px rgba(0, 0, 0, 0.2);--wp--preset--shadow--deep: 12px 12px 50px rgba(0, 0, 0, 0.4);--wp--preset--shadow--sharp: 6px 6px 0px rgba(0, 0, 0, 0.2);--wp--preset--shadow--outlined: 6px 6px 0px -3px rgba(255, 255, 255, 1), 6px 6px rgba(0, 0, 0, 1);--wp--preset--shadow--crisp: 6px 6px 0px rgba(0, 0, 0, 1);}:where(.is-layout-flex){gap: 0.5em;}:where(.is-layout-grid){gap: 0.5em;}body .is-layout-flex{display: flex;}.is-layout-flex{flex-wrap: wrap;align-items: center;}.is-layout-flex > :is(*, div){margin: 0;}body .is-layout-grid{display: grid;}.is-layout-grid > :is(*, div){margin: 0;}:where(.wp-block-columns.is-layout-flex){gap: 2em;}:where(.wp-block-columns.is-layout-grid){gap: 2em;}:where(.wp-block-post-template.is-layout-flex){gap: 1.25em;}:where(.wp-block-post-template.is-layout-grid){gap: 1.25em;}.has-black-color{color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-color{color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-color{color: var(--wp--preset--color--white) !important;}.has-pale-pink-color{color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-color{color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-color{color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-color{color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-color{color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-color{color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-color{color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-color{color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-color{color: var(--wp--preset--color--vivid-purple) !important;}.has-black-background-color{background-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-background-color{background-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-background-color{background-color: var(--wp--preset--color--white) !important;}.has-pale-pink-background-color{background-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-background-color{background-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-background-color{background-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-background-color{background-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-background-color{background-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-background-color{background-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-background-color{background-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-background-color{background-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-background-color{background-color: var(--wp--preset--color--vivid-purple) !important;}.has-black-border-color{border-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-border-color{border-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-border-color{border-color: var(--wp--preset--color--white) !important;}.has-pale-pink-border-color{border-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-border-color{border-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-border-color{border-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-border-color{border-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-border-color{border-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-border-color{border-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-border-color{border-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-border-color{border-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-border-color{border-color: var(--wp--preset--color--vivid-purple) !important;}.has-vivid-cyan-blue-to-vivid-purple-gradient-background{background: var(--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple) !important;}.has-light-green-cyan-to-vivid-green-cyan-gradient-background{background: var(--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan) !important;}.has-luminous-vivid-amber-to-luminous-vivid-orange-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange) !important;}.has-luminous-vivid-orange-to-vivid-red-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-orange-to-vivid-red) !important;}.has-very-light-gray-to-cyan-bluish-gray-gradient-background{background: var(--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray) !important;}.has-cool-to-warm-spectrum-gradient-background{background: var(--wp--preset--gradient--cool-to-warm-spectrum) !important;}.has-blush-light-purple-gradient-background{background: var(--wp--preset--gradient--blush-light-purple) !important;}.has-blush-bordeaux-gradient-background{background: var(--wp--preset--gradient--blush-bordeaux) !important;}.has-luminous-dusk-gradient-background{background: var(--wp--preset--gradient--luminous-dusk) !important;}.has-pale-ocean-gradient-background{background: var(--wp--preset--gradient--pale-ocean) !important;}.has-electric-grass-gradient-background{background: var(--wp--preset--gradient--electric-grass) !important;}.has-midnight-gradient-background{background: var(--wp--preset--gradient--midnight) !important;}.has-small-font-size{font-size: var(--wp--preset--font-size--small) !important;}.has-medium-font-size{font-size: var(--wp--preset--font-size--medium) !important;}.has-large-font-size{font-size: var(--wp--preset--font-size--large) !important;}.has-x-large-font-size{font-size: var(--wp--preset--font-size--x-large) !important;} :where(.wp-block-post-template.is-layout-flex){gap: 1.25em;}:where(.wp-block-post-template.is-layout-grid){gap: 1.25em;} :where(.wp-block-columns.is-layout-flex){gap: 2em;}:where(.wp-block-columns.is-layout-grid){gap: 2em;} :root :where(.wp-block-pullquote){font-size: 1.5em;line-height: 1.6;} </style> <link rel='stylesheet' id='parent-style-css' href='https://techgraphs.fangraphs.com/wp-content/themes/fangraphs/style.css?ver=6.7.1' type='text/css' media='all' /> <link rel="https://api.w.org/" href="https://techgraphs.fangraphs.com/wp-json/" /><link rel="EditURI" type="application/rsd+xml" title="RSD" href="https://techgraphs.fangraphs.com/xmlrpc.php?rsd" /> <!-- CACHED HEAD --> <link rel="stylesheet" href="https://www.fangraphs.com/dist/css/head_section-style.css?v=e30ca1cf0615339fbdce" /> <link rel="stylesheet" href="https://www.fangraphs.com/dist/css/side_bar-style.css?v=e30ca1cf0615339fbdce" /> <!-- style for the blogs...need to refactor this eventually...need to put classes in PHP --> <link rel="stylesheet" href="https://www.fangraphs.com/dist/css/blog-style.css?v=e30ca1cf0615339fbdce" /> <!-- jQuery --> <script src="//ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js" type="text/javascript"></script> <script type="text/javascript" src="//www.fangraphs.com/js/fg-head?v=ewUKtXMAxpLS0X3eN0iFL5ufP5BPPGuBZOVmYd7TpEg1"></script> <!-- old but necessary table sorting library for blogs --> <script src="//www.fangraphs.com/javascript/jquery/sortable.js" type="text/javascript" ></script> <link rel="stylesheet" href="https://www.fangraphs.com/dist/css/mobile-style.css?v=e30ca1cf0615339fbdce" /> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <link rel="shortcut icon" href="//www.fangraphs.com/favicon.ico" /> <script src="https://www.fangraphs.com/dist/common-bundle.js?v=e30ca1cf0615339fbdce"></script> <script src="https://www.fangraphs.com/dist/head_section-bundle.js?v=e30ca1cf0615339fbdce"></script> <link rel="search" type="application/opensearchdescription+xml" href="//www.fangraphs.com/opensearch.xml" title="FanGraphs Search" /> <link href="https://fonts.googleapis.com/css?family=Lato:400,700&subset=latin-ext" rel="stylesheet" /> <link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet" /> <! -- END HEAD --> </head> <body data-test="success false"><!--NO_THEME_COOKIE--> <div id="wrapper" class="blog-wrapper tg" data-blog="tg"> <!-- CACHED HEADER --> <div id="top"> <div class="header-chat-alert-spacer" style="visibility: hidden"><a class="header-chat-alert-text"></a></div> <div class="header__wrapper"> <div id="header_ra-spacer"></div> <header> <div id="header_ra-content"></div> <div class="top-logo sticky"> <div class="top-logo-bkgd tg"><a href="http://www.fangraphs.com/" target="_top"><div class="tg">TECH<span style="color: #fff;">GRAPHS</span></div></a></div> </div> <script> window.tudeLoaded = true; </script> <!DOCTYPE html><head><meta charSet="utf-8" data-next-head=""/><meta name="viewport" content="width=device-width" data-next-head=""/><link rel="preload" href="https://www.fangraphs.com/_next/static/css/e87bf52f53ca6ac8.css" as="style"/><link rel="preload" href="https://www.fangraphs.com/_next/static/css/8ff7669507f8d96f.css" as="style"/><script defer="" data-domain="fangraphs.com" src="https://plausible.io/js/script.js"></script><link rel="stylesheet" href="https://www.fangraphs.com/_next/static/css/e87bf52f53ca6ac8.css" data-n-g=""/><link rel="stylesheet" href="https://www.fangraphs.com/_next/static/css/8ff7669507f8d96f.css" data-n-p=""/><noscript data-n-css=""></noscript><script defer="" noModule="" src="https://www.fangraphs.com/_next/static/chunks/polyfills-42372ed130431b0a.js"></script><script src="https://www.fangraphs.com/_next/static/chunks/webpack-b6e19215d7817f36.js" defer=""></script><script src="https://www.fangraphs.com/_next/static/chunks/framework-50b1c53b930797c3.js" defer=""></script><script src="https://www.fangraphs.com/_next/static/chunks/main-5e234b37f140f036.js" defer=""></script><script src="https://www.fangraphs.com/_next/static/chunks/pages/_app-b928843a5c9bd7ba.js" defer=""></script><script src="https://www.fangraphs.com/_next/static/chunks/75fc9c18-79e821d40396dbb4.js" defer=""></script><script src="https://www.fangraphs.com/_next/static/chunks/9178-16bf58c1bb775725.js" defer=""></script><script src="https://www.fangraphs.com/_next/static/chunks/3963-3a7e347c2adacef7.js" defer=""></script><script src="https://www.fangraphs.com/_next/static/chunks/3377-343a9257558d9799.js" defer=""></script><script src="https://www.fangraphs.com/_next/static/chunks/9156-596bae13e4854c21.js" defer=""></script><script src="https://www.fangraphs.com/_next/static/chunks/pages/__dotnet-shim/nav-24636c66e680030e.js" defer=""></script><script src="https://www.fangraphs.com/_next/static/UWgQt-VDpH1OTz_sNetE-/_buildManifest.js" defer=""></script><script src="https://www.fangraphs.com/_next/static/UWgQt-VDpH1OTz_sNetE-/_ssgManifest.js" defer=""></script></head><div id="__next"><div class="nav-main__wrapper"><nav class="nav-main" id="navBar"><div class="nav-mobile-bar"><div id="nav__mobile-buton" class="nav-mobile-button "></div><div class="SearchBar2024_search-bar__desktop__u3M50"><style data-emotion="css i44wyl">.css-i44wyl{display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;position:relative;min-width:0;padding:0;margin:0;border:0;vertical-align:top;}</style><div class="MuiFormControl-root MuiTextField-root SearchBar2024_text-field__root__desktop__gKYNo css-i44wyl"><style data-emotion="css-global 1prfaxn">@-webkit-keyframes mui-auto-fill{from{display:block;}}@keyframes mui-auto-fill{from{display:block;}}@-webkit-keyframes mui-auto-fill-cancel{from{display:block;}}@keyframes mui-auto-fill-cancel{from{display:block;}}</style><style data-emotion="css 18a4iku">.css-18a4iku{font-family:Lato,Arial,Helvetica,"sans-serif";font-weight:400;font-size:1rem;line-height:1.4375em;color:rgba(0, 0, 0, 0.87);box-sizing:border-box;position:relative;cursor:text;display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;position:relative;border-radius:4px;border-radius:0;background-color:#fff;width:100%;}.css-18a4iku.Mui-disabled{color:rgba(0, 0, 0, 0.38);cursor:default;}.css-18a4iku:hover .MuiOutlinedInput-notchedOutline{border-color:rgba(0, 0, 0, 0.87);}@media (hover: none){.css-18a4iku:hover .MuiOutlinedInput-notchedOutline{border-color:rgba(0, 0, 0, 0.23);}}.css-18a4iku.Mui-focused .MuiOutlinedInput-notchedOutline{border-color:#1976d2;border-width:2px;}.css-18a4iku.Mui-error .MuiOutlinedInput-notchedOutline{border-color:#d32f2f;}.css-18a4iku.Mui-disabled .MuiOutlinedInput-notchedOutline{border-color:rgba(0, 0, 0, 0.26);}</style><div class="MuiInputBase-root MuiOutlinedInput-root MuiInputBase-colorPrimary MuiInputBase-formControl css-18a4iku"><style data-emotion="css bkhuxk">.css-bkhuxk{font:inherit;letter-spacing:inherit;color:currentColor;padding:4px 0 5px;border:0;box-sizing:content-box;background:none;height:1.4375em;margin:0;-webkit-tap-highlight-color:transparent;display:block;min-width:0;width:100%;-webkit-animation-name:mui-auto-fill-cancel;animation-name:mui-auto-fill-cancel;-webkit-animation-duration:10ms;animation-duration:10ms;color:initial;padding:16.5px 14px;padding:6px 12px;}.css-bkhuxk::-webkit-input-placeholder{color:currentColor;opacity:0.42;-webkit-transition:opacity 200ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;transition:opacity 200ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;}.css-bkhuxk::-moz-placeholder{color:currentColor;opacity:0.42;-webkit-transition:opacity 200ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;transition:opacity 200ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;}.css-bkhuxk:-ms-input-placeholder{color:currentColor;opacity:0.42;-webkit-transition:opacity 200ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;transition:opacity 200ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;}.css-bkhuxk::-ms-input-placeholder{color:currentColor;opacity:0.42;-webkit-transition:opacity 200ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;transition:opacity 200ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;}.css-bkhuxk:focus{outline:0;}.css-bkhuxk:invalid{box-shadow:none;}.css-bkhuxk::-webkit-search-decoration{-webkit-appearance:none;}label[data-shrink=false]+.MuiInputBase-formControl .css-bkhuxk::-webkit-input-placeholder{opacity:0!important;}label[data-shrink=false]+.MuiInputBase-formControl .css-bkhuxk::-moz-placeholder{opacity:0!important;}label[data-shrink=false]+.MuiInputBase-formControl .css-bkhuxk:-ms-input-placeholder{opacity:0!important;}label[data-shrink=false]+.MuiInputBase-formControl .css-bkhuxk::-ms-input-placeholder{opacity:0!important;}label[data-shrink=false]+.MuiInputBase-formControl .css-bkhuxk:focus::-webkit-input-placeholder{opacity:0.42;}label[data-shrink=false]+.MuiInputBase-formControl .css-bkhuxk:focus::-moz-placeholder{opacity:0.42;}label[data-shrink=false]+.MuiInputBase-formControl .css-bkhuxk:focus:-ms-input-placeholder{opacity:0.42;}label[data-shrink=false]+.MuiInputBase-formControl .css-bkhuxk:focus::-ms-input-placeholder{opacity:0.42;}.css-bkhuxk.Mui-disabled{opacity:1;-webkit-text-fill-color:rgba(0, 0, 0, 0.38);}.css-bkhuxk:-webkit-autofill{-webkit-animation-duration:5000s;animation-duration:5000s;-webkit-animation-name:mui-auto-fill;animation-name:mui-auto-fill;}.css-bkhuxk:-webkit-autofill{border-radius:inherit;}</style><input aria-invalid="false" autoComplete="off" id=":Rim:" placeholder="Player & Blog Search" type="text" class="MuiInputBase-input MuiOutlinedInput-input css-bkhuxk" value=""/><style data-emotion="css 19w1uun">.css-19w1uun{border-color:rgba(0, 0, 0, 0.23);}</style><style data-emotion="css igs3ac">.css-igs3ac{text-align:left;position:absolute;bottom:0;right:0;top:-5px;left:0;margin:0;padding:0 8px;pointer-events:none;border-radius:inherit;border-style:solid;border-width:1px;overflow:hidden;min-width:0%;border-color:rgba(0, 0, 0, 0.23);}</style><fieldset aria-hidden="true" class="MuiOutlinedInput-notchedOutline css-igs3ac"><style data-emotion="css ihdtdm">.css-ihdtdm{float:unset;width:auto;overflow:hidden;padding:0;line-height:11px;-webkit-transition:width 150ms cubic-bezier(0.0, 0, 0.2, 1) 0ms;transition:width 150ms cubic-bezier(0.0, 0, 0.2, 1) 0ms;}</style><legend class="css-ihdtdm"><span class="notranslate"></span></legend></fieldset></div></div></div><div id="search__mobile"><style data-emotion="css i44wyl">.css-i44wyl{display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;position:relative;min-width:0;padding:0;margin:0;border:0;vertical-align:top;}</style><div class="MuiFormControl-root MuiTextField-root SearchBar2024_text-field__root__J62wR SearchBar2024_text-field__root__J62wR undefined css-i44wyl"><style data-emotion="css-global 1prfaxn">@-webkit-keyframes mui-auto-fill{from{display:block;}}@keyframes mui-auto-fill{from{display:block;}}@-webkit-keyframes mui-auto-fill-cancel{from{display:block;}}@keyframes mui-auto-fill-cancel{from{display:block;}}</style><style data-emotion="css 1x8gs00">.css-1x8gs00{font-family:Lato,Arial,Helvetica,"sans-serif";font-weight:400;font-size:1rem;line-height:1.4375em;color:rgba(0, 0, 0, 0.87);box-sizing:border-box;position:relative;cursor:text;display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;position:relative;border-radius:4px;padding-right:14px;border-radius:0;background-color:#fff;width:100%;}.css-1x8gs00.Mui-disabled{color:rgba(0, 0, 0, 0.38);cursor:default;}.css-1x8gs00:hover .MuiOutlinedInput-notchedOutline{border-color:rgba(0, 0, 0, 0.87);}@media (hover: none){.css-1x8gs00:hover .MuiOutlinedInput-notchedOutline{border-color:rgba(0, 0, 0, 0.23);}}.css-1x8gs00.Mui-focused .MuiOutlinedInput-notchedOutline{border-color:#1976d2;border-width:2px;}.css-1x8gs00.Mui-error .MuiOutlinedInput-notchedOutline{border-color:#d32f2f;}.css-1x8gs00.Mui-disabled .MuiOutlinedInput-notchedOutline{border-color:rgba(0, 0, 0, 0.26);}</style><div class="MuiInputBase-root MuiOutlinedInput-root MuiInputBase-colorPrimary MuiInputBase-formControl MuiInputBase-adornedEnd css-1x8gs00"><style data-emotion="css 1g7vrlb">.css-1g7vrlb{font:inherit;letter-spacing:inherit;color:currentColor;padding:4px 0 5px;border:0;box-sizing:content-box;background:none;height:1.4375em;margin:0;-webkit-tap-highlight-color:transparent;display:block;min-width:0;width:100%;-webkit-animation-name:mui-auto-fill-cancel;animation-name:mui-auto-fill-cancel;-webkit-animation-duration:10ms;animation-duration:10ms;color:initial;padding:16.5px 14px;padding-right:0;padding:6px 12px;}.css-1g7vrlb::-webkit-input-placeholder{color:currentColor;opacity:0.42;-webkit-transition:opacity 200ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;transition:opacity 200ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;}.css-1g7vrlb::-moz-placeholder{color:currentColor;opacity:0.42;-webkit-transition:opacity 200ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;transition:opacity 200ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;}.css-1g7vrlb:-ms-input-placeholder{color:currentColor;opacity:0.42;-webkit-transition:opacity 200ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;transition:opacity 200ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;}.css-1g7vrlb::-ms-input-placeholder{color:currentColor;opacity:0.42;-webkit-transition:opacity 200ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;transition:opacity 200ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;}.css-1g7vrlb:focus{outline:0;}.css-1g7vrlb:invalid{box-shadow:none;}.css-1g7vrlb::-webkit-search-decoration{-webkit-appearance:none;}label[data-shrink=false]+.MuiInputBase-formControl .css-1g7vrlb::-webkit-input-placeholder{opacity:0!important;}label[data-shrink=false]+.MuiInputBase-formControl .css-1g7vrlb::-moz-placeholder{opacity:0!important;}label[data-shrink=false]+.MuiInputBase-formControl .css-1g7vrlb:-ms-input-placeholder{opacity:0!important;}label[data-shrink=false]+.MuiInputBase-formControl .css-1g7vrlb::-ms-input-placeholder{opacity:0!important;}label[data-shrink=false]+.MuiInputBase-formControl .css-1g7vrlb:focus::-webkit-input-placeholder{opacity:0.42;}label[data-shrink=false]+.MuiInputBase-formControl .css-1g7vrlb:focus::-moz-placeholder{opacity:0.42;}label[data-shrink=false]+.MuiInputBase-formControl .css-1g7vrlb:focus:-ms-input-placeholder{opacity:0.42;}label[data-shrink=false]+.MuiInputBase-formControl .css-1g7vrlb:focus::-ms-input-placeholder{opacity:0.42;}.css-1g7vrlb.Mui-disabled{opacity:1;-webkit-text-fill-color:rgba(0, 0, 0, 0.38);}.css-1g7vrlb:-webkit-autofill{-webkit-animation-duration:5000s;animation-duration:5000s;-webkit-animation-name:mui-auto-fill;animation-name:mui-auto-fill;}.css-1g7vrlb:-webkit-autofill{border-radius:inherit;}</style><input aria-invalid="false" autoComplete="off" id=":Rqm:" placeholder="Player & Blog Search" type="text" class="MuiInputBase-input MuiOutlinedInput-input SearchBar2024_input__root__7_WrJ MuiInputBase-inputAdornedEnd css-1g7vrlb" value=""/><style data-emotion="css 1npnt34">.css-1npnt34{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;height:0.01em;max-height:2em;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;white-space:nowrap;color:rgba(0, 0, 0, 0.54);margin-left:8px;visibility:hidden;cursor:pointer;}</style><div class="MuiInputAdornment-root MuiInputAdornment-positionEnd MuiInputAdornment-outlined MuiInputAdornment-sizeMedium css-1npnt34"><style data-emotion="css vubbuv">.css-vubbuv{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;width:1em;height:1em;display:inline-block;fill:currentColor;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;-webkit-transition:fill 200ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;transition:fill 200ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;font-size:1.5rem;}</style><svg class="MuiSvgIcon-root MuiSvgIcon-fontSizeMedium css-vubbuv" focusable="false" aria-hidden="true" viewBox="0 0 24 24" data-testid="CloseIcon"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"></path></svg></div><style data-emotion="css 19w1uun">.css-19w1uun{border-color:rgba(0, 0, 0, 0.23);}</style><style data-emotion="css igs3ac">.css-igs3ac{text-align:left;position:absolute;bottom:0;right:0;top:-5px;left:0;margin:0;padding:0 8px;pointer-events:none;border-radius:inherit;border-style:solid;border-width:1px;overflow:hidden;min-width:0%;border-color:rgba(0, 0, 0, 0.23);}</style><fieldset aria-hidden="true" class="MuiOutlinedInput-notchedOutline SearchBar2024_input__notched-outline__N2D_8 css-igs3ac"><style data-emotion="css ihdtdm">.css-ihdtdm{float:unset;width:auto;overflow:hidden;padding:0;line-height:11px;-webkit-transition:width 150ms cubic-bezier(0.0, 0, 0.2, 1) 0ms;transition:width 150ms cubic-bezier(0.0, 0, 0.2, 1) 0ms;}</style><legend class="css-ihdtdm"><span class="notranslate"></span></legend></fieldset></div></div></div><div class="nav-mobile-fill "></div><div class="menu-item nav-mobile-login " data-full="true"><a href="https://www.fangraphs.com/blogs/wp-login.php?redirect_to=null"><div class="menu-item-label"><div class="label-account">Sign In</div><div class="icon-account signed-out"></div></div></a></div></div><div class="nav-mobile-menu"><ul class="menu-top"><li class="menu-item " data-sub="home"><div class="menu-item-label">Support FanGraphs</div><div class="menu-sub"><div class="menusub_mid"><div class="menu-sub-link"><a href="https://plus.fangraphs.com/product/fangraphs-membership/">FanGraphs Membership</a></div><div class="menu-sub-link"><a href="https://breakingt.com/collections/fangraphs">FanGraphs Shirts</a></div><div class="menu-sub-link"><a href="https://plus.fangraphs.com/shop/">FanGraphs Mugs</a></div><div class="menu-sub-link"><a href="https://plus.fangraphs.com/product/fangraphs-gift-membership/">Gift a Membership</a></div><div class="menu-sub-link"><a href="https://plus.fangraphs.com/product/fangraphs-donation/">Donate to FanGraphs</a></div></div></div></li><li class="menu-item " data-sub="games"><div class="menu-item-label">Fantasy</div><div class="menu-sub"><div class="menu-sub-header">Fantasy Tools</div><a href="https://www.fangraphs.com/fantasy-tools/player-rater" aria-label="Fantasy Player Rater">2024 Fantasy Player Rater</a><br/><a href="//www.fangraphs.com/fantasy-tools/auction-calculator">Auction Calculator</a><hr/><div class="menu-sub-link"><a href="//ottoneu.fangraphs.com/">Ottoneu Fantasy Baseball</a></div><a href="//ottoneu.fangraphs.com/">Signup</a>,<!-- --> <a href="//ottoneu.fangraphs.com/support">FAQ</a>,<!-- --> <a href="//www.fangraphs.com/fantasy/category/ottoneu/">Blog Posts</a></div></li><li class="menu-item " data-sub="blogs" data-full="true"><div class="menu-item-label">Blogs</div><div class="menu-sub"><div class="menu-sub-link"><a href="https://www.fangraphs.com/blog-roll">Blog Roll</a></div><hr/><div class="menu-sub-ajax"><div class="menusub_mid"><div class="menu-blog fg"><div class="menu-blog-header"><a href="https://www.fangraphs.com/blogs/">FanGraphs</a></div><div id="menu-blog-roll-fg"><ul></ul></div><div class="menu-blog-podcast"><span>Podcasts:</span> <a href="https://www.fangraphs.com/blogs/category/effectively-wild/">Effectively Wild</a></div></div><hr/><div class="menu-blog fg"><div class="menu-blog-header"><a href="https://www.fangraphs.com/prospects/">FanGraphs Prospects</a></div></div><hr/><div class="menu-blog rg"><div class="menu-blog-header"><a href="https://www.fangraphs.com/rotographs">RotoGraphs</a></div><div id="menu-blog-roll-rg"><ul></ul></div><div class="menu-blog-podcast"><span>Podcasts: </span><a href="https://www.fangraphs.com/fantasy/category/podcast/">The Sleeper and The Bust</a> |<!-- --> <a href="https://www.fangraphs.com/fantasy/category/field-of-streams/">Field of Streams</a> |<!-- --> <a href="https://fantasy.fangraphs.com/category/beat-the-shift/">Beat the Shift</a></div></div><hr/><div class="menu-blog com"><div class="menu-blog-header"><a href="https://www.fangraphs.com/community/">Community Research</a></div><div id="menu-blog-roll-com"><ul></ul></div></div><hr/><div class="menu-blog-podcast"><span>Archived Blogs:</span> <a class="tht" href="https://www.fangraphs.com/tht/">The Hardball Times</a> |<!-- --> <a class="not" href="https://www.fangraphs.com/not/">NotGraphs</a> |<!-- --> <a class="tg" href="https://www.fangraphs.com/techgraphs/">TechGraphs</a> |<!-- --> <a class="fg" href="https://www.fangraphs.com/plus/">FanGraphs+</a></div><div class="menu-blog-podcast"><span>Archived THT:</span> <a class="tht" href="https://www.fangraphs.com/tht/tht-live/">THT Live</a> | <!-- --> <a class="tht" href="https://www.fangraphs.com/tht/category/tht-dispatch/">Dispatch</a> | <!-- --> <a class="tht" href="https://www.fangraphs.com/tht/category/tht-fantasy/">Fantasy</a> | <!-- --> <a class="tht" href="htttps://www.fangraphs.com/tht/category/shysterball/">ShysterBall</a></div><div class="menu-blog-podcast"><span>Archived Podcasts:</span> <a class="fg" href="https://www.fangraphs.com/blogs/category/podcast/">FanGraphs Audio</a> |<!-- --> <a class="fg" href="https://blogs.fangraphs.com/category/chin-music/">Chin Music</a> |<!-- --> <a class="fg" href="https://www.fangraphs.com/blogs/category/ump-the-untitled-mcdongenhagen-project/">UMP: The Untitled McDongenhagen Project</a> |<!-- --> <a class="tht" href="https://www.fangraphs.com/tht/stealing-home/">Stealing Home</a> |<!-- --> <a class="tht" href="https://www.fangraphs.com/tht/doing-it-for-bartolo/">Doing It For Bartolo</a> |<!-- --> <a class="rg" href="https://www.fangraphs.com/fantasy/category/ottographs-podcast/">OttoGraphs</a> |<!-- --> </div></div></div></div></li><li class="menu-item " data-sub="projections" data-full="true"><div class="menu-item-label">Projections</div><div class="menu-sub"><div class="menusub_mid"><div class="menu-sub-header">2025<!-- --> Pre-Season Projections</div></div><a href="https://www.fangraphs.com/projections?pos=all&stats=bat&type=zips" aria-label="ZiPS">ZiPS</a>,<!-- --> <a href="https://www.fangraphs.com/projections?pos=all&stats=bat&type=zipsdc" aria-label="ZiPS DC">ZiPS DC</a><br/><a href="https://www.fangraphs.com/projections?pos=all&stats=bat&type=steamer" aria-label="Steamer">Steamer</a><br/><a href="https://www.fangraphs.com/projections?pos=all&stats=bat&type=fangraphsdc" aria-label="Depth Charts">Depth Charts</a><br/><a href="https://www.fangraphs.com/projections?pos=all&stats=bat&type=atc" aria-label="ATC">ATC</a><br/><a href="https://www.fangraphs.com/projections?pos=all&stats=bat&type=thebat" aria-label="THE BAT">THE BAT</a>,<!-- --> <a href="https://www.fangraphs.com/projections?pos=all&stats=bat&type=thebatx" aria-label="THE BAT X">THE BAT X</a><hr/><div class="menu-sub-header">2025<!-- --> 600 PA / 200 IP Projections</div><a href="https://www.fangraphs.com/projections?pos=all&stats=bat&type=steamer600">Steamer600</a>,<!-- --> <a href="https://www.fangraphs.com/projections?pos=all&stats=bat&type=steamer600u">Steamer600 (Update)</a><hr/><div class="menu-sub-header">2025<!-- --> Updated In-Season Projections</div><a href="https://www.fangraphs.com/projections?pos=all&stats=bat&type=rzips" aria-label="ZiPS (RoS)">ZiPS (RoS)</a>,<!-- --> <a href="https://www.fangraphs.com/projections?pos=all&stats=bat&type=uzips" aria-label="ZiPS (Update)">ZiPS (Update)</a>,<!-- --> <a href="https://www.fangraphs.com/projections?pos=all&stats=bat&type=rzipsdc" aria-label="ZiPS (Update)">ZiPS DC (RoS)</a><br/><a href="https://www.fangraphs.com/projections?pos=all&stats=bat&type=steamerr" aria-label="Steamer (RoS)">Steamer (RoS)</a>,<!-- --> <a href="https://www.fangraphs.com/projections?pos=all&stats=bat&type=steameru" aria-label="Steamer (Update)">Steamer (Update)</a><br/><a href="https://www.fangraphs.com/projections?pos=all&stats=bat&type=rfangraphsdc" aria-label="Depth Charts (RoS)">Depth Charts (RoS)</a><br/><a href="https://www.fangraphs.com/projections?pos=all&stats=bat&type=ratcdc" aria-label="ATC DC (RoS)">ATC DC (RoS)</a><br/><a href="https://www.fangraphs.com/projections?pos=all&stats=bat&type=rthebat" aria-label="THE BAT (RoS)">THE BAT (RoS)</a>,<!-- --> <a href="https://www.fangraphs.com/projections?pos=all&stats=bat&type=rthebatx" aria-label="THE BAT X (RoS)">THE BAT X (RoS)</a><hr/><div class="menu-sub-header">3 Year Projections</div><a href="https://www.fangraphs.com/projections?pos=all&stats=bat&type=zipsp1" aria-label="ZiPS 2025">ZiPS <!-- -->2026</a>,<!-- --> <a href="https://www.fangraphs.com/projections?pos=all&stats=bat&type=zipsp2" aria-label="ZiPS 2026">ZiPS <!-- -->2027</a><hr/><div class="menu-sub-header">On-Pace Leaders</div><a href="https://www.fangraphs.com/projections?pos=all&stats=bat&type=onpaceegp" aria-label="Every Game Played">Every Game Played</a>,<!-- --> <a href="https://www.fangraphs.com/projections?pos=all&stats=bat&type=onpacegpp" aria-label="Games Played %">Games Played %</a><hr/><div class="menu-sub-link"><a href="https://www.fangraphs.com/projections/cy-young">Cy Young Award Projections</a></div><hr/><div class="menu-sub-link"><a href="//www.fangraphs.com/fantasy-tools/auction-calculator">Auction Calculator</a></div></div></li><li class="menu-item " data-sub="scores" data-full="true"><div class="menu-item-label">Scores</div><div class="menu-sub"><div class="menusub_mid"><div class="menu-sub-header">Today</div><a href="//www.fangraphs.com/livescoreboard.aspx">Live Scoreboard</a>,<!-- --> <a href="https://www.fangraphs.com/leaders/major-league?pos=all&stats=pit&lg=all&qual=0&type=8&season=2024&month=0&season1=2024&ind=0&team=0&rost=0&age=0&filter=&players=p2024-11-30" aria-label="Major League Leaderboards - Probable Pitchers">Probable Pitchers</a><br/><a href="//www.fangraphs.com/scores/live-leaderboards">Live Daily Leaderboards</a><hr/><div class="menu-sub-header">Win Probability & Box Scores</div><a href="//www.fangraphs.com/scoreboard.aspx">2024</a>,<a href="//www.fangraphs.com/scoreboard.aspx?date=2023-11-01">2023</a>,<!-- --> <a href="//www.fangraphs.com/scoreboard.aspx?date=2022-11-05">2022</a>,<!-- --> <a href="//www.fangraphs.com/scoreboard.aspx?date=2021-11-02">2021</a>,<!-- --> <a href="//www.fangraphs.com/scoreboard.aspx?date=2020-10-27">2020</a>,<!-- --> <a href="//www.fangraphs.com/scoreboard.aspx?date=2019-10-30">2019</a>,<!-- --> <a href="//www.fangraphs.com/scoreboard.aspx?date=2018-11-01">2018</a>,<!-- --> <a href="//www.fangraphs.com/scoreboard.aspx?date=2017-11-01">2017</a>...</div><table class="menu-scores-table"><tbody><tr><td><div class="menu-sub-header">AL Games</div><table><tbody></tbody></table></td><td class="menu-table-sep"></td><td><div class="menu-sub-header">NL Games</div><table><tbody></tbody></table></td></tr></tbody></table></div></li><li class="menu-item " data-sub="standings" data-full="true"><div class="menu-item-label">Standings</div><div class="menu-sub"><div class="menusub_mid"><div class="menu-sub-link"><a href="//www.fangraphs.com/depthcharts.aspx?position=Standings">2024 Projected Standings</a></div><div class="menu-sub-link"><a href="//www.fangraphs.com/standings/playoff-odds">2024 Playoff Odds</a>,<!-- --> <a href="//www.fangraphs.com/standings/playoff-odds-graphs">Playoff Odds Graphs</a><br/><a href="https://www.fangraphs.com/standings/playoff-odds/postseason-zips" target="_top" aria-label="2024 ZiPS Postseason Game-By-Game Odds">2024 ZiPS Postseason Game-By-Game Odds</a></div><table class="menu-standings-table"><tbody><tr><td><div class="menu-sub-header">AL East</div><div id="menu-standings-ale"><div></div></div><div class="menu-sub-header">AL Central</div><div id="menu-standings-alc"><div></div></div><div class="menu-sub-header">AL West</div><div id="menu-standings-alw"><div></div></div></td><td class="menu-table-sep"></td><td><div class="menu-sub-header">NL East</div><div id="menu-standings-nle"><div></div></div><div class="menu-sub-header">NL Central</div><div id="menu-standings-nlc"><div></div></div><div class="menu-sub-header">NL West</div><div id="menu-standings-nlw"><div></div></div></td></tr></tbody></table></div></div></li><li class="menu-item " data-sub="leaders" data-full="true"><div class="menu-item-label">Leaders</div><div class="menu-sub"><div class="menusub_mid"><div class="menu-sub-header">Major League Leaders</div><div class="menu-sub-header">Batting:<!-- --> <a href="https://www.fangraphs.com/leaders/major-league?pos=all&stats=bat&lg=all&qual=y&type=8&season=2024&month=0&season1=2024&ind=0" aria-label="Major League Leaderboards - 2024">2024</a>,<!-- --> <a href="https://www.fangraphs.com/leaders/major-league?pos=all&stats=bat&lg=all&qual=y&type=8&season=2023&month=0&season1=2023&ind=0" aria-label="Major League Leaderboards - 2023">2023</a>,<!-- --> <a href="https://www.fangraphs.com/leaders/major-league?pos=all&stats=bat&lg=all&qual=y&type=8&season=2022&month=0&season1=2022&ind=0" aria-label="Major League Leaderboards - 2022">2022</a>,<!-- --> <a href="https://www.fangraphs.com/leaders/major-league?pos=all&stats=bat&lg=all&qual=y&type=8&season=2021&month=0&season1=2021&ind=0" aria-label="Major League Leaderboards - 2021">2021</a>,<!-- --> <a href="https://www.fangraphs.com/leaders/major-league?pos=all&stats=bat&lg=all&qual=y&type=8&season=2020&month=0&season1=2020&ind=0" aria-label="Major League Leaderboards - 2020">2020</a>,<!-- --> <a href="https://www.fangraphs.com/leaders/major-league?pos=all&stats=bat&lg=all&qual=y&type=8&season=2024&month=0&season1=1871&ind=0&team=0&rost=0&players=0" aria-label="Major League Leaderboards - Career">Career</a></div><div class="menu-sub-header">Pitching:<!-- --> <a href="https://www.fangraphs.com/leaders/major-league?pos=all&stats=pit&lg=all&qual=y&type=8&season=2024&month=0&season1=2024&ind=0" aria-label="Major League Leaderboards - 2024">2024</a>,<!-- --> <a href="https://www.fangraphs.com/leaders/major-league?pos=all&stats=pit&lg=all&qual=y&type=8&season=2023&month=0&season1=2023&ind=0" aria-label="Major League Leaderboards - 2023">2023</a>,<!-- --> <a href="https://www.fangraphs.com/leaders/major-league?pos=all&stats=pit&lg=all&qual=y&type=8&season=2022&month=0&season1=2022&ind=0" aria-label="Major League Leaderboards - 2022">2022</a>,<!-- --> <a href="https://www.fangraphs.com/leaders/major-league?pos=all&stats=pit&lg=all&qual=y&type=8&season=2021&month=0&season1=2021&ind=0" aria-label="Major League Leaderboards - 2021">2021</a>,<!-- --> <a href="https://www.fangraphs.com/leaders/major-league?pos=all&stats=pit&lg=all&qual=y&type=8&season=2020&month=0&season1=2020&ind=0" aria-label="Major League Leaderboards - 2020">2020</a>,<!-- --> <a href="https://www.fangraphs.com/leaders/major-league?pos=all&stats=pit&lg=all&qual=y&type=8&season=2024&month=0&season1=1871&ind=0&team=0&rost=0&players=0" aria-label="Major League Leaderboards - Career">Career</a></div><div class="menu-sub-header">Fielding:<!-- --> <a href="https://www.fangraphs.com/leaders/major-league?pos=all&stats=fld&lg=all&qual=y&type=0&season=2024&month=0&season1=2024&ind=0" aria-label="Major League Leaderboards - 2024">2024</a>,<!-- --> <a href="https://www.fangraphs.com/leaders/major-league?pos=all&stats=fld&lg=all&qual=y&type=0&season=2023&month=0&season1=2023&ind=0" aria-label="Major League Leaderboards - 2023">2023</a>,<!-- --> <a href="https://www.fangraphs.com/leaders/major-league?pos=all&stats=fld&lg=all&qual=y&type=0&season=2022&month=0&season1=2022&ind=0" aria-label="Major League Leaderboards - 2022">2022</a>,<!-- --> <a href="https://www.fangraphs.com/leaders/major-league?pos=all&stats=fld&lg=all&qual=y&type=0&season=2021&month=0&season1=2021&ind=0" aria-label="Major League Leaderboards - 2021">2021</a>,<!-- --> <a href="https://www.fangraphs.com/leaders/major-league?pos=all&stats=fld&lg=all&qual=y&type=0&season=2020&month=0&season1=2020&ind=0" aria-label="Major League Leaderboards - 2020">2020</a>,<!-- --> <a href="https://www.fangraphs.com/leaders/major-league?pos=all&stats=fld&lg=all&qual=y&type=0&season=2019&month=0&season1=2019&ind=0" aria-label="Major League Leaderboards - 2019">2019</a>,<!-- --> <a href="https://www.fangraphs.com/leaders/major-league?pos=all&stats=fld&lg=all&qual=y&type=0&season=2024&month=0&season1=1871&ind=0&team=0&rost=0&players=0" aria-label="Major League Leaderboards - Career">Career</a></div><div class="menu-sub-header">Major League Leaders - Rank</div><div class="menu-sub-header">Batting:<!-- --> <a href="https://www.fangraphs.com/leaders/major-league/rank?stats=bat">Ranking Grid</a>,<!-- --> <a href="https://www.fangraphs.com/leaders/major-league/rank?stats=bat&pivottype=rp">Compare Players</a>,<!-- --> <a href="https://www.fangraphs.com/leaders/major-league/rank?stats=bat&pivottype=rm">Compare Stats</a><br/>Pitching:<!-- --> <a href="https://www.fangraphs.com/leaders/major-league/rank?stats=pit">Ranking Grid</a>,<!-- --> <a href="https://www.fangraphs.com/leaders/major-league/rank?stats=pit&pivottype=rp">Compare Players</a>,<!-- --> <a href="https://www.fangraphs.com/leaders/major-league/rank?stats=pit&pivottype=rm">Compare Stats</a></div><div class="menu-sub-link"><a href="//www.fangraphs.com/leaders/splits-leaderboards">Splits Leaderboards</a></div><div class="menu-sub-link"><a href="//www.fangraphs.com/leaders/season-stat-grid">Season Stat Grid</a></div><hr/><div class="menu-sub-header">Postseason Leaders</div><div class="menu-sub-header">Batting:<!-- --> <a href="https://www.fangraphs.com/leaders/major-league?pos=all&stats=bat&lg=all&qual=y&type=8&season=2024&month=0&season1=2024&ind=0&postseason=Y" aria-label="Postseason Leaderboards - 2024">2024</a>,<!-- --> <!-- -->(<a href="https://www.fangraphs.com/leaders/major-league?pos=all&stats=bat&lg=all&qual=y&type=8&season=2024&month=0&season1=2024&ind=0&postseason=W" aria-label="Postseason Leaderboards - 2024 WS">WS</a>)<!-- -->,<!-- --> <!-- -->(<a href="https://www.fangraphs.com/leaders/major-league?pos=all&stats=bat&lg=all&qual=y&type=8&season=2024&month=0&season1=2024&ind=0&postseason=L" aria-label="Postseason Leaderboards - 2024 LCS">LCS</a>)<!-- -->,<!-- --> <!-- -->(<a href="https://www.fangraphs.com/leaders/major-league?pos=all&stats=bat&lg=all&qual=y&type=8&season=2024&month=0&season1=2024&ind=0&postseason=D" aria-label="Postseason Leaderboards - 2024 LDS">LDS</a>)<!-- -->,<!-- --> <!-- -->(<a href="https://www.fangraphs.com/leaders/major-league?pos=all&stats=bat&lg=all&qual=y&type=8&season=2024&month=0&season1=2024&ind=0&postseason=F" aria-label="Postseason Leaderboards - 2024 WCS">WCS</a>)<!-- -->,<!-- --> <a href="https://www.fangraphs.com/leaders/major-league?pos=all&stats=bat&lg=all&qual=0&type=8&season=2024&month=0&season1=1871&ind=0&team=0&rost=0&players=0&postseason=Y" aria-label="Postseason Leaderboards - Career">Career</a></div><div class="menu-sub-header">Pitching:<!-- --> <a href="https://www.fangraphs.com/leaders/major-league?pos=all&stats=pit&lg=all&qual=y&type=8&season=2024&month=0&season1=2024&ind=0&postseason=Y" aria-label="Major League Leaderboards - 2024">2024</a>,<!-- --> <!-- -->(<a href="https://www.fangraphs.com/leaders/major-league?pos=all&stats=pit&lg=all&qual=y&type=8&season=2024&month=0&season1=2024&ind=0&postseason=W" aria-label="Major League Leaderboards - 2024">WS</a>)<!-- -->,<!-- --> <!-- -->(<a href="https://www.fangraphs.com/leaders/major-league?pos=all&stats=pit&lg=all&qual=y&type=8&season=2024&month=0&season1=2024&ind=0&postseason=L" aria-label="Major League Leaderboards - 2024">LCS</a>)<!-- -->,<!-- --> <!-- -->(<a href="https://www.fangraphs.com/leaders/major-league?pos=all&stats=pit&lg=all&qual=y&type=8&season=2024&month=0&season1=2024&ind=0&postseason=D" aria-label="Major League Leaderboards - 2024">LDS</a>)<!-- -->,<!-- --> <!-- -->(<a href="https://www.fangraphs.com/leaders/major-league?pos=all&stats=pit&lg=all&qual=y&type=8&season=2024&month=0&season1=2024&ind=0&postseason=F" aria-label="Major League Leaderboards - 2024">WCS</a>)<!-- -->,<!-- --> <a href="https://www.fangraphs.com/leaders/major-league?pos=all&stats=pit&lg=all&qual=0&type=8&season=2024&month=0&season1=1871&ind=0&team=0&rost=0&players=0&postseason=Y" aria-label="Major League Leaderboards - Career">Career</a></div><hr/><div class="menu-sub-header">Spring Training Leaders</div><div class="menu-sub-header">Batting: <a href="https://www.fangraphs.com/leaders/spring-training?pos=all&level=0&lg=33&stats=bat">2024</a>,<!-- --> <a href="https://www.fangraphs.com/leaders/spring-training?pos=all&level=0&lg=33&stats=bat&season=2023&seasonEnd=2023">2023</a><br/>Pitching: <a href="https://www.fangraphs.com/leaders/spring-training?pos=all&level=0&lg=33&stats=pit">2024</a>,<!-- --> <a href="https://www.fangraphs.com/leaders/spring-training?pos=all&level=0&lg=33&stats=bat&season=2023&seasonEnd=2023">2023</a></div><hr/><div class="menu-sub-header">KBO Leaders<br/><a href="https://www.fangraphs.com/leaders/international">Batting</a>,<!-- --> <a href="https://www.fangraphs.com/leaders/international?&stats=pit">Pitching</a></div><hr/><div class="menu-sub-header">Minor League Leaders</div>AAA: <a href="//www.fangraphs.com/leaders/minor-league?pos=all&stats=bat&lg=2&qual=y&type=0&season=2024">International League</a>,<!-- --> <a href="//www.fangraphs.com/leaders/minor-league?pos=all&stats=bat&lg=4&qual=y&type=0&season=2024">Pacific Coast League</a><br/>AA: <a href="//www.fangraphs.com/leaders/minor-league?pos=all&stats=bat&lg=5&qual=y&type=0&season=2024">Eastern League</a>,<!-- --> <a href="//www.fangraphs.com/leaders/minor-league?pos=all&stats=bat&lg=6&qual=y&type=0&season=2024">Southern League</a>,<!-- --> <a href="//www.fangraphs.com/leaders/minor-league?pos=all&stats=bat&lg=7&qual=y&type=0&season=2024">Texas League</a><br/>A+: <a href="//www.fangraphs.com/leaders/minor-league?pos=all&stats=bat&lg=11&qual=y&type=0&season=2024">Midwest League</a>,<!-- --> <a href="//www.fangraphs.com/leaders/minor-league?pos=all&stats=bat&lg=14&qual=y&type=0&season=2024">South Atlantic League</a>,<!-- --> <a href="//www.fangraphs.com/leaders/minor-league?pos=all&stats=bat&lg=13&qual=y&type=0&season=2024">Northwest League</a><br/>A: <a href="//www.fangraphs.com/leaders/minor-league?pos=all&stats=bat&lg=8&qual=y&type=0&season=2024">California League</a>,<!-- --> <a href="//www.fangraphs.com/leaders/minor-league?pos=all&stats=bat&lg=9&qual=y&type=0&season=2024">Carolina League</a>,<!-- --> <a href="//www.fangraphs.com/leaders/minor-league?pos=all&stats=bat&lg=10&qual=y&type=0&season=2024">Florida State League</a><br/>CPX: <a href="//www.fangraphs.com/leaders/minor-league?pos=all&stats=bat&lg=16&qual=y&type=0&season=2024">Arizona</a>,<!-- --> <a href="//www.fangraphs.com/leaders/minor-league?pos=all&stats=bat&lg=17&qual=y&type=0&season=2024">Florida</a><br/>R: <a href="//www.fangraphs.com/leaders/minor-league?pos=all&stats=bat&lg=30&qual=y&type=0&season=2023">Dominican Summer League</a><hr/><div class="menu-sub-header">WAR Tools</div><a href="https://www.fangraphs.com/leaders/war" target="_top" aria-label="Combined Leaderboards">Combined WAR Leaderboards</a><br/><a href="//www.fangraphs.com/graphsw.aspx">WAR Graphs</a><div class="menu-sub-header">WPA Tools</div><a href="//www.fangraphs.com/tools/wpa-inquirer">WPA Inquirer</a><br/><div class="menu-sub-header">Rookie Leaders</div><a href="https://www.fangraphs.com/leaders/major-league?pos=all&stats=bat&lg=all&qual=y&type=8&season=2024&month=0&season1=2024&ind=2" aria-label="Major League Leaderboards - Batters 2024">Batters 2024</a>,<!-- --> <a href="https://www.fangraphs.com/leaders/major-league?pos=all&stats=pit&lg=all&qual=y&type=8&season=2024&month=0&season1=2024&ind=2" aria-label="Major League Leaderboards - Pitchers 2024">Pitchers 2024</a><div class="menu-sub-header">Splits Leaders</div>Batters: <a href="https://www.fangraphs.com/leaders/major-league?pos=all&stats=bat&lg=all&qual=y&type=1&season=2024&month=13&season1=2024&ind=0" aria-label="Major League Leaderboards - 2024 vs L">vs L</a>,<!-- --> <a href="https://www.fangraphs.com/leaders/major-league?pos=all&stats=bat&lg=all&qual=y&type=1&season=2024&month=14&season1=2024&ind=0" aria-label="Major League Leaderboards - 2024 vs R">vs R</a>,<!-- --> <a href="https://www.fangraphs.com/leaders/major-league?pos=all&stats=bat&lg=all&qual=y&type=1&season=2024&month=15&season1=2024&ind=0" aria-label="Major League Leaderboards - 2024 Home">Home</a>,<!-- --> <a href="https://www.fangraphs.com/leaders/major-league?pos=all&stats=bat&lg=all&qual=y&type=1&season=2024&month=16&season1=2024&ind=0" aria-label="Major League Leaderboards - 2024 Away">Away</a><br/>Pitchers: <a href="https://www.fangraphs.com/leaders/major-league?pos=all&stats=pit&lg=all&qual=y&type=1&season=2024&month=13&season1=2024&ind=0" aria-label="Major League Leaderboards - 2024 vs L">vs L</a>,<!-- --> <a href="https://www.fangraphs.com/leaders/major-league?pos=all&stats=pit&lg=all&qual=y&type=1&season=2024&month=14&season1=2024&ind=0" aria-label="Major League Leaderboards - 2024 vs R">vs R</a>,<!-- --> <a href="https://www.fangraphs.com/leaders/major-league?pos=all&stats=pit&lg=all&qual=y&type=1&season=2024&month=15&season1=2024&ind=0" aria-label="Major League Leaderboards - 2024 Home">Home</a>,<!-- --> <a href="https://www.fangraphs.com/leaders/major-league?pos=all&stats=pit&lg=all&qual=y&type=1&season=2024&month=16&season1=2024&ind=0" aria-label="Major League Leaderboards - 2024 Away">Away</a><div class="menu-sub-header"></div></div></div></li><li class="menu-item " data-sub="teams" data-full="true"><div class="menu-item-label">Teams</div><div class="menu-sub"><div class="menusub_mid"><div class="menu-sub-header">Team Batting Stats</div><a href="https://www.fangraphs.com/leaders/major-league?pos=all&stats=bat&lg=all&qual=0&type=8&season=2024&month=0&season1=2024&ind=0&team=0,ts&rost=&age=&filter=&players=0" aria-label="Major League Leaderboards - 2024">2024</a>,<!-- --> <a href="https://www.fangraphs.com/leaders/major-league?pos=all&stats=bat&lg=all&qual=0&type=8&season=2023&month=0&season1=2023&ind=0&team=0,ts&rost=&age=&filter=&players=0" aria-label="Major League Leaderboards - 2023">2023</a>,<!-- --> <a href="https://www.fangraphs.com/leaders/major-league?pos=all&stats=bat&lg=all&qual=0&type=8&season=2022&month=0&season1=2022&ind=0&team=0,ts&rost=&age=&filter=&players=0" aria-label="Major League Leaderboards - 2022">2022</a>,<!-- --> <a href="https://www.fangraphs.com/leaders/major-league?pos=all&stats=bat&lg=all&qual=0&type=8&season=2021&month=0&season1=2021&ind=0&team=0,ts&rost=&age=&filter=&players=0" aria-label="Major League Leaderboards - 2021">2021</a>,<!-- --> <a href="https://www.fangraphs.com/leaders/major-league?pos=all&stats=bat&lg=all&qual=0&type=8&season=2020&month=0&season1=2020&ind=0&team=0,ts&rost=&age=&filter=&players=0" aria-label="Major League Leaderboards - 2020">2020</a>,<!-- --> <a href="https://www.fangraphs.com/leaders/major-league?pos=all&stats=bat&lg=all&qual=0&type=8&season=2019&month=0&season1=2019&ind=0&team=0,ts&rost=&age=&filter=&players=0" aria-label="Major League Leaderboards - 2019">2019</a>...<div class="menu-sub-header">Team Pitching Stats</div><a href="https://www.fangraphs.com/leaders/major-league?pos=all&stats=pit&lg=all&qual=0&type=8&season=2024&month=0&season1=2024&ind=0&team=0,ts&rost=0&age=0&filter=&players=0" aria-label="Major League Leaderboards - 2024">2024</a>,<!-- --> <a href="https://www.fangraphs.com/leaders/major-league?pos=all&stats=pit&lg=all&qual=0&type=8&season=2023&month=0&season1=2023&ind=0&team=0,ts&rost=0&age=0&filter=&players=0" aria-label="Major League Leaderboards - 2023">2023</a>,<!-- --> <a href="https://www.fangraphs.com/leaders/major-league?pos=all&stats=pit&lg=all&qual=0&type=8&season=2022&month=0&season1=2022&ind=0&team=0,ts&rost=0&age=0&filter=&players=0" aria-label="Major League Leaderboards - 2022">2022</a>,<!-- --> <a href="https://www.fangraphs.com/leaders/major-league?pos=all&stats=pit&lg=all&qual=0&type=8&season=2021&month=0&season1=2021&ind=0&team=0,ts&rost=0&age=0&filter=&players=0" aria-label="Major League Leaderboards - 2021">2021</a>,<!-- --> <a href="https://www.fangraphs.com/leaders/major-league?pos=all&stats=pit&lg=all&qual=0&type=8&season=2020&month=0&season1=2020&ind=0&team=0,ts&rost=0&age=0&filter=&players=0" aria-label="Major League Leaderboards - 2020">2020</a>,<!-- --> <a href="https://www.fangraphs.com/leaders/major-league?pos=all&stats=pit&lg=all&qual=0&type=8&season=2019&month=0&season1=2019&ind=0&team=0,ts&rost=0&age=0&filter=&players=0" aria-label="Major League Leaderboards - 2019">2019</a>...<div class="menu-sub-link"><a href="//www.fangraphs.com/depthcharts.aspx?position=Team">Team WAR Totals (RoS)</a></div><table class="menu-team-table"><tbody><tr><td><div class="menu-sub-header">AL East</div><a href="//www.fangraphs.com/teams/blue-jays">Blue Jays</a> | <a href="//www.fangraphs.com/depthcharts.aspx?position=ALL&teamid=14">DC</a><br/><a href="//www.fangraphs.com/teams/orioles">Orioles</a> | <a href="//www.fangraphs.com/depthcharts.aspx?position=ALL&teamid=2">DC</a><br/><a href="//www.fangraphs.com/teams/rays">Rays</a> | <a href="//www.fangraphs.com/depthcharts.aspx?position=ALL&teamid=12">DC</a><br/><a href="//www.fangraphs.com/teams/red-sox">Red Sox</a> | <a href="//www.fangraphs.com/depthcharts.aspx?position=ALL&teamid=3">DC</a><br/><a href="//www.fangraphs.com/teams/yankees">Yankees</a> | <a href="//www.fangraphs.com/depthcharts.aspx?position=ALL&teamid=9">DC</a><br/></td><td><div class="menu-sub-header">AL Central</div><a href="//www.fangraphs.com/teams/guardians">Guardians</a> | <a href="//www.fangraphs.com/depthcharts.aspx?position=ALL&teamid=5">DC</a><br/><a href="//www.fangraphs.com/teams/royals">Royals</a> | <a href="//www.fangraphs.com/depthcharts.aspx?position=ALL&teamid=7">DC</a><br/><a href="//www.fangraphs.com/teams/tigers">Tigers</a> | <a href="//www.fangraphs.com/depthcharts.aspx?position=ALL&teamid=6">DC</a><br/><a href="//www.fangraphs.com/teams/twins">Twins</a> | <a href="//www.fangraphs.com/depthcharts.aspx?position=ALL&teamid=8">DC</a><br/><a href="//www.fangraphs.com/teams/white-sox">White Sox</a> | <a href="//www.fangraphs.com/depthcharts.aspx?position=ALL&teamid=4">DC</a><br/></td><td><div class="menu-sub-header">AL West</div><a href="//www.fangraphs.com/teams/angels">Angels</a> | <a href="//www.fangraphs.com/depthcharts.aspx?position=ALL&teamid=1">DC</a><br/><a href="//www.fangraphs.com/teams/astros">Astros</a> | <a href="//www.fangraphs.com/depthcharts.aspx?position=ALL&teamid=21">DC</a><br/><a href="//www.fangraphs.com/teams/athletics">Athletics</a> | <a href="//www.fangraphs.com/depthcharts.aspx?position=ALL&teamid=10">DC</a><br/><a href="//www.fangraphs.com/teams/mariners">Mariners</a> | <a href="//www.fangraphs.com/depthcharts.aspx?position=ALL&teamid=11">DC</a><br/><a href="//www.fangraphs.com/teams/rangers">Rangers</a> | <a href="//www.fangraphs.com/depthcharts.aspx?position=ALL&teamid=13">DC</a><br/></td></tr><tr><td><div class="menu-sub-header">NL East</div><a href="//www.fangraphs.com/teams/braves">Braves</a> | <a href="//www.fangraphs.com/depthcharts.aspx?position=ALL&teamid=16">DC</a><br/><a href="//www.fangraphs.com/teams/marlins">Marlins</a> | <a href="//www.fangraphs.com/depthcharts.aspx?position=ALL&teamid=20">DC</a><br/><a href="//www.fangraphs.com/teams/mets">Mets</a> | <a href="//www.fangraphs.com/depthcharts.aspx?position=ALL&teamid=25">DC</a><br/><a href="//www.fangraphs.com/teams/nationals">Nationals</a> | <a href="//www.fangraphs.com/depthcharts.aspx?position=ALL&teamid=24">DC</a><br/><a href="//www.fangraphs.com/teams/phillies">Phillies</a> | <a href="//www.fangraphs.com/depthcharts.aspx?position=ALL&teamid=26">DC</a></td><td><div class="menu-sub-header">NL Central</div><a href="//www.fangraphs.com/teams/brewers">Brewers</a> | <a href="//www.fangraphs.com/depthcharts.aspx?position=ALL&teamid=23">DC</a><br/><a href="//www.fangraphs.com/teams/cardinals">Cardinals</a> | <a href="//www.fangraphs.com/depthcharts.aspx?position=ALL&teamid=28">DC</a><br/><a href="//www.fangraphs.com/teams/cubs">Cubs</a> | <a href="//www.fangraphs.com/depthcharts.aspx?position=ALL&teamid=17">DC</a><br/><a href="//www.fangraphs.com/teams/pirates">Pirates</a> | <a href="//www.fangraphs.com/depthcharts.aspx?position=ALL&teamid=27">DC</a><br/><a href="//www.fangraphs.com/teams/reds">Reds</a> | <a href="//www.fangraphs.com/depthcharts.aspx?position=ALL&teamid=18">DC</a></td><td><div class="menu-sub-header">NL West</div><a href="//www.fangraphs.com/teams/diamondbacks">D-backs</a> | <a href="//www.fangraphs.com/depthcharts.aspx?position=ALL&teamid=15">DC</a><br/><a href="//www.fangraphs.com/teams/dodgers">Dodgers</a> | <a href="//www.fangraphs.com/depthcharts.aspx?position=ALL&teamid=22">DC</a><br/><a href="//www.fangraphs.com/teams/giants">Giants</a> | <a href="//www.fangraphs.com/depthcharts.aspx?position=ALL&teamid=30">DC</a><br/><a href="//www.fangraphs.com/teams/padres">Padres</a> | <a href="//www.fangraphs.com/depthcharts.aspx?position=ALL&teamid=29">DC</a><br/><a href="//www.fangraphs.com/teams/rockies">Rockies</a> | <a href="//www.fangraphs.com/depthcharts.aspx?position=ALL&teamid=19">DC</a></td></tr></tbody></table><div class="menu-sub-header">Positional Depth Charts</div>Batters: <a href="//www.fangraphs.com/depthcharts.aspx?position=C">C</a>,<!-- --> <a href="//www.fangraphs.com/depthcharts.aspx?position=1B">1B</a>,<!-- --> <a href="//www.fangraphs.com/depthcharts.aspx?position=2B">2B</a>,<!-- --> <a href="//www.fangraphs.com/depthcharts.aspx?position=SS">SS</a>,<!-- --> <a href="//www.fangraphs.com/depthcharts.aspx?position=3B">3B</a>,<!-- --> <a href="//www.fangraphs.com/depthcharts.aspx?position=LF">LF</a>,<!-- --> <a href="//www.fangraphs.com/depthcharts.aspx?position=CF">CF</a>,<!-- --> <a href="//www.fangraphs.com/depthcharts.aspx?position=RF">RF</a>,<!-- --> <a href="//www.fangraphs.com/depthcharts.aspx?position=DH">DH</a><br/>Pitchers: <a href="//www.fangraphs.com/depthcharts.aspx?position=SP">SP</a>,<!-- --> <a href="//www.fangraphs.com/depthcharts.aspx?position=RP">RP</a></div></div></li><li class="menu-item " data-sub="roster-resource" data-full="true"><div class="menu-item-label">RosterResource</div><div class="menu-sub"><div class="menusub_mid"><div class="menu-sub-header">Current Depth Charts</div><table class="menu-team-table"><tbody><tr><td><div class="menu-sub-header">AL East</div><a href="//www.fangraphs.com/roster-resource/depth-charts/blue-jays">Blue Jays</a><br/><a href="//www.fangraphs.com/roster-resource/depth-charts/orioles">Orioles</a><br/><a href="//www.fangraphs.com/roster-resource/depth-charts/rays">Rays</a><br/><a href="//www.fangraphs.com/roster-resource/depth-charts/red-sox">Red Sox</a><br/><a href="//www.fangraphs.com/roster-resource/depth-charts/yankees">Yankees</a><br/></td><td><div class="menu-sub-header">AL Central</div><a href="//www.fangraphs.com/roster-resource/depth-charts/cleveland">Guardians</a><br/><a href="//www.fangraphs.com/roster-resource/depth-charts/royals">Royals</a><br/><a href="//www.fangraphs.com/roster-resource/depth-charts/tigers">Tigers</a><br/><a href="//www.fangraphs.com/roster-resource/depth-charts/twins">Twins</a><br/><a href="//www.fangraphs.com/roster-resource/depth-charts/white-sox">White Sox</a><br/></td><td><div class="menu-sub-header">AL West</div><a href="//www.fangraphs.com/roster-resource/depth-charts/angels">Angels</a><br/><a href="//www.fangraphs.com/roster-resource/depth-charts/astros">Astros</a><br/><a href="//www.fangraphs.com/roster-resource/depth-charts/athletics">Athletics</a><br/><a href="//www.fangraphs.com/roster-resource/depth-charts/mariners">Mariners</a><br/><a href="//www.fangraphs.com/roster-resource/depth-charts/rangers">Rangers</a><br/></td></tr><tr><td><div class="menu-sub-header">NL East</div><a href="//www.fangraphs.com/roster-resource/depth-charts/braves">Braves</a><br/><a href="//www.fangraphs.com/roster-resource/depth-charts/marlins">Marlins</a><br/><a href="//www.fangraphs.com/roster-resource/depth-charts/mets">Mets</a><br/><a href="//www.fangraphs.com/roster-resource/depth-charts/nationals">Nationals</a><br/><a href="//www.fangraphs.com/roster-resource/depth-charts/phillies">Phillies</a></td><td><div class="menu-sub-header">NL Central</div><a href="//www.fangraphs.com/roster-resource/depth-charts/brewers">Brewers</a><br/><a href="//www.fangraphs.com/roster-resource/depth-charts/cardinals">Cardinals</a><br/><a href="//www.fangraphs.com/roster-resource/depth-charts/cubs">Cubs</a><br/><a href="//www.fangraphs.com/roster-resource/depth-charts/pirates">Pirates</a><br/><a href="//www.fangraphs.com/roster-resource/depth-charts/reds">Reds</a></td><td><div class="menu-sub-header">NL West</div><a href="//www.fangraphs.com/roster-resource/depth-charts/diamondbacks">D-backs</a><br/><a href="//www.fangraphs.com/roster-resource/depth-charts/dodgers">Dodgers</a><br/><a href="//www.fangraphs.com/roster-resource/depth-charts/giants">Giants</a><br/><a href="//www.fangraphs.com/roster-resource/depth-charts/padres">Padres</a><br/><a href="//www.fangraphs.com/roster-resource/depth-charts/rockies">Rockies</a></td></tr></tbody></table></div><div class="menu-sub-header">Offseason Tools</div><div class="menu-sub-link"><a href="//www.fangraphs.com/roster-resource/free-agent-tracker">2025 Free Agent Tracker</a></div><div class="menu-sub-link"><a href="//www.fangraphs.com/roster-resource/offseason-tracker">2025 Offseason Tracker</a></div><div class="menu-sub-link"><a href="//www.fangraphs.com/roster-resource/opening-day-tracker">2024 Opening Day Tracker</a></div><div class="menu-sub-header">In-Season Tools</div><div class="menu-sub-link"><a href="//www.fangraphs.com/roster-resource/closer-depth-chart">2025 Closer Depth Chart</a></div><div class="menu-sub-link"><a href="//www.fangraphs.com/roster-resource/injury-report">2025 Injury Report</a></div><div class="menu-sub-link"><a href="//www.fangraphs.com/roster-resource/payroll/padres">2025 Payroll Pages</a></div><div class="menu-sub-link"><a href="//www.fangraphs.com/roster-resource/transaction-tracker">2025 Transaction Tracker</a></div><div class="menu-sub-link"><a href="//www.fangraphs.com/roster-resource/probables-grid">2024 Probables Grid</a></div><div class="menu-sub-link"><a href="//www.fangraphs.com/roster-resource/schedule-grid">2024 Schedule Grid</a></div><div class="menu-sub-link"><a href="//www.fangraphs.com/roster-resource/lineup-tracker/padres">2024 Lineup Tracker</a></div><div class="menu-sub-link"><a href="https://www.fangraphs.com/roster-resource/minor-league-power-rankings" aria-label="Minor League Power Rankings Leaderboards">2024 Minor League Power Rankings</a><br/></div></div></li><li id="menuProspects" class="menu-item " data-sub="prospects" data-full="true"><div class="menu-item-label">Prospects</div><div class="menu-sub"><div class="menusub-mid"><div class="menu-sub-link"><a href="//www.fangraphs.com/prospects">Prospects Home</a></div><a href="https://www.fangraphs.com/prospects/the-board" aria-label="The Board">The Board</a><br/><a href="//www.fangraphs.com/prospects/the-board-scouting-and-stats">The Board: Scouting + Stats!</a><br/><a href="//blogs.fangraphs.com/how-to-use-the-board-a-tutorial-2022/">How To Use The Board: A Tutorial</a><br/><a href="https://www.fangraphs.com/prospects/farm-system-rankings" aria-label="Farm System Rankings">Farm System Rankings</a><br/><hr/><div class="menu-sub-link"><a href="https://www.fangraphs.com/prospects/list/2024-prospect-list/tor" aria-label="Farm System Rankings">Top Prospects List</a></div><div class="team-box_team-box__BS36G"><div><div class="team-box_season-toggle__QUheU"><span class="team-box_team-box__button__jzyQm team-box_highlight__FJWo6">2025</span><span class="team-box_team-box__button__jzyQm ">2024</span></div><div class="team-box_team-box__grid__cHcEp"><div class="team-box_team-box__grid__league__puSe9"><div class="team-box_label-lg__XQ95l">AL</div><table><tbody><tr><td class="team-box_link__inactive__24Fnd">BAL</td><td class="team-box_link__inactive__24Fnd">CHW</td><td class="team-box_link__inactive__24Fnd">ATH</td></tr><tr><td class="team-box_link__inactive__24Fnd">BOS</td><td class="team-box_link__inactive__24Fnd">CLE</td><td class="team-box_link__inactive__24Fnd">HOU</td></tr><tr><td class="team-box_link__inactive__24Fnd">NYY</td><td class="team-box_link__inactive__24Fnd">DET</td><td class="team-box_link__inactive__24Fnd">LAA</td></tr><tr><td class="team-box_link__inactive__24Fnd">TBR</td><td class="team-box_link__inactive__24Fnd">KCR</td><td class="team-box_link__inactive__24Fnd">SEA</td></tr><tr><td class="team-box_link__inactive__24Fnd">TOR</td><td class="team-box_link__inactive__24Fnd">MIN</td><td class="team-box_link__inactive__24Fnd">TEX</td></tr></tbody></table></div><div class="team-box_team-box__grid__league__puSe9"><div class="team-box_label-lg__XQ95l">NL</div><table><tbody><tr><td class="team-box_link__inactive__24Fnd">ATL</td><td class="team-box_link__inactive__24Fnd">CHC</td><td class="team-box_link__inactive__24Fnd">ARI</td></tr><tr><td class="team-box_link__inactive__24Fnd">MIA</td><td class="team-box_link__inactive__24Fnd">CIN</td><td class="team-box_link__inactive__24Fnd">COL</td></tr><tr><td class="team-box_link__inactive__24Fnd">NYM</td><td class="team-box_link__inactive__24Fnd">MIL</td><td class="team-box_link__inactive__24Fnd">LAD</td></tr><tr><td class="team-box_link__inactive__24Fnd">PHI</td><td class="team-box_link__inactive__24Fnd">PIT</td><td class="team-box_link__inactive__24Fnd">SDP</td></tr><tr><td class="team-box_link__inactive__24Fnd">WSN</td><td class="team-box_link__inactive__24Fnd">STL</td><td class="team-box_link__inactive__24Fnd">SFG</td></tr></tbody></table></div></div></div></div></div></div></li><li class="menu-item " data-sub="glossary" data-full="true"><div class="menu-item-label">Glossary</div><div class="menu-sub"><div class="menusub_mid"><div class="menu-sub-link"><a href="//www.fangraphs.com/library/">Library</a></div><div class="menu-sub-header">Batting Stats</div><a href="//www.fangraphs.com/library/offense/woba/">wOBA</a>,<!-- --> <a href="//www.fangraphs.com/library/offense/wrc/">wRC+</a>,<!-- --> <a href="//www.fangraphs.com/library/offense/iso/">ISO</a>,<!-- --> <a href="//www.fangraphs.com/library/offense/rate-stats/">K% & BB%</a>,<!-- --> <a href="//www.fangraphs.com/library/offense/">more...</a><div class="menu-sub-header">Pitching Stats</div><a href="//www.fangraphs.com/library/pitching/fip/">FIP</a>,<!-- --> <a href="//www.fangraphs.com/library/pitching/xfip/">xFIP</a>,<!-- --> <a href="//www.fangraphs.com/library/pitching/babip/">BABIP</a>,<!-- --> <a href="//www.fangraphs.com/library/pitching/rate-stats/">K/9 & BB/9</a>,<!-- --> <a href="//www.fangraphs.com/library/pitching/">more...</a><div class="menu-sub-header">Defensive Stats</div><a href="//www.fangraphs.com/blogs/the-fangraphs-uzr-primer/">UZR Primer</a>,<!-- --> <a href="//www.fangraphs.com/library/defense/drs/">DRS</a>,<!-- --> <a href="//www.fangraphs.com/library/defense/fsr/">FSR</a>,<!-- --> <a href="//www.fangraphs.com/library/defense/tz-tzl/">TZ & TZL</a>,<!-- --> <a href="//www.fangraphs.com/library/defense/">more...</a><div class="menu-sub-header">More</div><a href="//www.fangraphs.com/library/misc/war/">WAR</a>,<!-- --> <a href="//www.fangraphs.com/blogs/ultimate-base-running-primer/">UBR Primer</a>,<!-- --> <a href="//www.fangraphs.com/library/misc/wpa/">WPA</a>,<!-- --> <a href="//www.fangraphs.com/library/misc/li/">LI</a>,<!-- --> <a href="//www.fangraphs.com/library/misc/clutch/">Clutch</a><div class="menu-sub-header">Guts!</div><a href="//www.fangraphs.com/guts.aspx?type=cn">Seasonal Constants</a><br/><a href="//www.fangraphs.com/guts.aspx?type=pf&teamid=0&season=2022">Park Factors</a><br/><a href="//www.fangraphs.com/guts.aspx?type=pfh&teamid=0&season=2022">Park Factors by Handedness</a></div></div></li><li class="nav-fill"></li><li class="menu-item " data-sub="login" data-full="true"><a href="https://www.fangraphs.com/blogs/wp-login.php?redirect_to=null"><div class="menu-item-label"><div class="label-account">Sign In</div><div class="icon-account signed-out"></div></div></a></li></ul></div></nav></div><div></div><style data-emotion="css 1iba63o">.css-1iba63o{z-index:10000000001;}@media print{.css-1iba63o{position:absolute!important;}}</style><ul class="HolidayLights_lightrope__2jxG_"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul></div><script id="__NEXT_DATA__" type="application/json">{"props":{"appProps":{"footer":{"loadtime":"2024-11-30T06:55:23"},"path":"/__dotnet-shim/nav","search":{"searchTerm":"","searchResults":[]}},"__N_SSP":true,"pageProps":{}},"page":"/__dotnet-shim/nav","query":{},"buildId":"UWgQt-VDpH1OTz_sNetE-","isFallback":false,"isExperimentalCompile":false,"gssp":true,"appGip":true}</script><!-- NJS.Cache.H 2024-11-30 22:09:29--> <div id="divHeaderChat" class="header-chat-alert tg"><a class="header-chat-alert-text"></a></div> </header> </div> </div><div class="header__ra-unit ra-wide" style="display:block;"><div id="ezoic-pub-ad-placeholder-104" class="catchall728" style="margin-bottom:20px; height:250px;"></div></div><! -- END HEADER --> <div id="content" class="blog-content"> <div id="blogcontent"> <div class="post"> <h2 class=" posttitle " id="post-5557"><a href="https://techgraphs.fangraphs.com/techgraphs-news-roundup-482016/" rel="bookmark" title="Permanent link to TechGraphs News Roundup: 4/8/2016">TechGraphs News Roundup: 4/8/2016</a></h2> <div class="postmeta"> <div class="postmeta_author">by <a href="https://techgraphs.fangraphs.com/author/fatfirstbaseman/" title="Posts by David G. Temple" rel="author">David G. Temple</a> </div> <div>April 8, 2016</div> </div> <div class="fullpostentry"> <p>Greetings, fair TechGraphs readers. It’s a good weekend for sports fans — what with the beginning of the baseball season, the winding down of the NHL regular season, and yet another edition of The Masters. In case you were too busy getting your DFS lineups ready (void where prohibited), here are the news stories that we found interesting this week.</p> <p>Speaking of The Masters; they released a new <a href="http://techcrunch.com/2016/03/31/stream-the-2016-masters-golf-tournament-from-your-ipad/" target="_blank">app</a> for iOS that will let you stream the whole tournament. The streaming capability is obviously cool, but the whole app itself looks like a really well done production.</p> <p>If audio is more of your thing, you can catch full Masters coverage courtesy of <a href="http://www.androidcentral.com/tunein-offer-live-audio-final-four-mlb-opening-day-and-masters-tournament" target="_blank">TuneIn</a>. Golf of the radio?! How will we contain our excitement?! What a time to be alive.</p> <p>If you’re anything like me, VR makes you a bit motion sick. However, it might be willing to stomach it (pun 94% intended) if it means I can use StubHub’s new <a href="http://www.engadget.com/2016/03/31/stubhub-app-uses-vr-to-show-how-good-or-bad-your-seats-are/" target="_blank">tech</a> to see the exact view from my perspective seat.</p> <p>If VR doesn’t make you queasy (and you play professional baseball), you can now <a href="http://www.engadget.com/2016/04/07/tampa-bay-rays-mlb-virtual-simulator/" target="_blank">use</a> VR for batting practice.</p> <p>Wrestlemania was this past Sunday, and it appears that some WiFi <a href="http://deadspin.com/wrestlemania-kicks-off-in-front-of-half-empty-jerry-wor-1768819189" target="_blank">outages</a> at AT&T Stadium had some wouldbe attendees stuck at the entrance gates.</p> <p>Apple and MLB have always been pretty tight when it comes to product integration, and now it seems that Apple is <a href="http://techcrunch.com/2016/04/04/apple-has-made-siri-a-baseball-trivia-guru/?ncid=rss" target="_blank">turning</a> Siri into some kind of baseball trivia guru. Full disclosure: I asked her/it a bunch of questions and she did not perform well. She didn’t even know the Astros record in 2005!</p> <p>The NCAA Men’s Basketball tournament is over now, so you can stop checking your brackets online. Many articles have been written about how much companies lose due to people making/checking brackets at work. However, Techcrunch has an interesting <a href="http://techcrunch.com/2016/04/04/top-sports-websites-unleash-foul-play-in-the-enterprise/?ncid=rss" target="_blank">look</a> at the possible security implications of all those people visiting sports web sites on their work machines.</p> <p>We already <a href="http://www.fangraphs.com/techgraphs/with-twitternfl-deal-its-all-about-execution/" target="_blank">covered</a> it here, but in case you missed it, you’ll be able to <a href="http://www.theverge.com/2016/4/5/11368748/twitter-nfl-streaming-thursday-night-football" target="_blank">watch</a> some NFL games on Twitter this season. That still feels weird to type.</p> <p>We’ll have more on this in the future, but it’s a pretty big deal that MLB is now <a href="http://bigstory.ap.org/article/e37ae2fb27494b3dbd985e2da76f605f/ap-newsbreak-mlb-approves-wearable-technology" target="_blank">allowing</a> (some) wearable tech on the field this season.</p> <p>This could be big news for Zepp’s new, very cool bat <a href="http://www.engadget.com/2016/04/05/zepp-2-hands-on/" target="_blank">sensors</a>, though they haven’t been approved as of yet.</p> <p>ESPN Radio (along with some more music services) can now be <a href="http://www.engadget.com/2016/04/05/t-mobile-adds-to-binge-on-music-freedom/" target="_blank">streamed</a> on your T-Mobile phone without hits to your data cap, thanks to their Bing On plan.</p> <p>That’s it for this week. Have a great weekend, and be excellent to each other.</p> <script>var SERVER_DATA = Object.assign(SERVER_DATA || {});</script> </div> <br /> <!-- <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/"> <rdf:Description rdf:about="https://techgraphs.fangraphs.com/techgraphs-news-roundup-482016/" dc:identifier="https://techgraphs.fangraphs.com/techgraphs-news-roundup-482016/" dc:title="TechGraphs News Roundup: 4/8/2016" trackback:ping="https://techgraphs.fangraphs.com/techgraphs-news-roundup-482016/trackback/" /> </rdf:RDF> --> </div> <div class="post"> <h2 class=" posttitle " id="post-5541"><a href="https://techgraphs.fangraphs.com/with-twitternfl-deal-its-all-about-execution/" rel="bookmark" title="Permanent link to With Twitter/NFL Deal, It’s All About Execution">With Twitter/NFL Deal, It’s All About Execution</a></h2> <div class="postmeta"> <div class="postmeta_author">by <a href="https://techgraphs.fangraphs.com/author/fatfirstbaseman/" title="Posts by David G. Temple" rel="author">David G. Temple</a> </div> <div>April 6, 2016</div> </div> <div class="fullpostentry"> <p>It was recently <a href="http://www.theverge.com/2016/4/5/11368748/twitter-nfl-streaming-thursday-night-football" target="_blank">announced</a> that Twitter will begin streaming NFL games on Thursday nights. In yet another attempt to bring more users into the fold, Twitter has made a sizable investment in bringing the country’s biggest sport to its platform. The details are fuzzy at this point, so we don’t know the exact way this thing is going to shake out. But the devil is in the details, in this case. What this whole thing will actually look like will have a great deal to do with its success. To ride the rails of a fairly-tired cliche; We know the who, what, where, when, and (mostly) why. The biggest question mark revolves around how.</p> <p>A while back, I heard Ben Thompson — tech analyst and host of the <a href="www.exponent.fm" target="_blank">Exponent</a> podcast — describe Twitter and its problems in a way that stuck with me. I’m paraphrasing, but he essentially said that issue is that Twitter is that its dealing with two groups of people — people who tried their platform and didn’t like it, and people who love it and never want it to change. Somehow, they have to placate both crowds. They have the tech. They certainly have the brand recognition. They just need more people. With the NFL deal, they’re going after new audiences. But trying to solve the problem of gaining new users might run them headfirst into their second problem — those who don’t want it to change.</p> <p>For people (especially sports fans) who use the platform, Twitter makes and excellent companion to watching something on TV. You hear about companies looking to expand the “second screen experience.” That all started with Twitter. It was a way to share and interact around a centralized event — the Super Bowl, the Oscars, a big news story. You watch on your TV, and you follow along with others’ views (and share your own) on your phone. But Twitter is trying to make your second screen your first screen in this case. Which is all fine and good, but it opens the situation up to a paradox. How can one share their feelings about an event on social media when the social media platform is how they’re watching said event?</p> <p>Twitter is a large company that employs a whole lot of people smarter than I, so I’m giving them the benefit of the doubt at this point. But if they want to keep the people they’re bringing in with the NFL offering and avoid ridicule from their current user base, they’re going to have to tread lightly. The experience is almost certainly going to have two elements. There will be the actual video stream, of course, and there will need to be a way for people to still read and share on the Twitter service. UI is key here. There are a lot of options for something like a laptop screen.</p> <p><a href="http://www.fangraphs.com/techgraphs/wp-content/uploads/2016/04/twitternfl1.png" rel="attachment wp-att-5552"><img fetchpriority="high" decoding="async" class="aligncenter size-full wp-image-5552" src="http://www.fangraphs.com/techgraphs/wp-content/uploads/2016/04/twitternfl1.png" alt="twitternfl1" width="600" height="450" srcset="https://techgraphs.fangraphs.com/wp-content/uploads/sites/7/2016/04/twitternfl1.png 600w, https://techgraphs.fangraphs.com/wp-content/uploads/sites/7/2016/04/twitternfl1-300x225.png 300w" sizes="(max-width: 600px) 100vw, 600px" /></a></p> <p><a href="http://www.fangraphs.com/techgraphs/wp-content/uploads/2016/04/twitternfl2.png" rel="attachment wp-att-5553"><img decoding="async" class="aligncenter size-full wp-image-5553" src="http://www.fangraphs.com/techgraphs/wp-content/uploads/2016/04/twitternfl2.png" alt="twitternfl2" width="600" height="450" srcset="https://techgraphs.fangraphs.com/wp-content/uploads/sites/7/2016/04/twitternfl2.png 600w, https://techgraphs.fangraphs.com/wp-content/uploads/sites/7/2016/04/twitternfl2-300x225.png 300w" sizes="(max-width: 600px) 100vw, 600px" /></a></p> <p><a href="http://www.fangraphs.com/techgraphs/wp-content/uploads/2016/04/twitternfl3.png" rel="attachment wp-att-5554"><img decoding="async" class="aligncenter size-full wp-image-5554" src="http://www.fangraphs.com/techgraphs/wp-content/uploads/2016/04/twitternfl3.png" alt="twitternfl3" width="600" height="450" srcset="https://techgraphs.fangraphs.com/wp-content/uploads/sites/7/2016/04/twitternfl3.png 600w, https://techgraphs.fangraphs.com/wp-content/uploads/sites/7/2016/04/twitternfl3-300x225.png 300w" sizes="(max-width: 600px) 100vw, 600px" /></a></p> <p>But how does this work on phones and smaller tablets? Will there be enough real estate for everything?</p> <p><a href="http://www.fangraphs.com/techgraphs/wp-content/uploads/2016/04/twitternfl4.png" rel="attachment wp-att-5555"><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-5555" src="http://www.fangraphs.com/techgraphs/wp-content/uploads/2016/04/twitternfl4.png" alt="twitternfl4" width="600" height="450" srcset="https://techgraphs.fangraphs.com/wp-content/uploads/sites/7/2016/04/twitternfl4.png 600w, https://techgraphs.fangraphs.com/wp-content/uploads/sites/7/2016/04/twitternfl4-300x225.png 300w" sizes="auto, (max-width: 600px) 100vw, 600px" /></a></p> <p>Let us not forget the fact that seemingly every time Twitter makes a change, people lose their minds. Most recently it was (probably rightfully so) algorithmic feeds, but there are countless other UI changes and other tweaks that drive the Twitter faithful crazy. Twitter is no doubt going to use its product to advertise the crap out of their NFL offering when the time comes. If that experience is lackluster, there will be noise about it.</p> <p>If Twitter doesn’t nail this, NFL fans are going to happily return to watching on TV. CBS itself is even offering a stream of the games on their own platform, so it’s not as if Twitter has a monopoly here. There are other avenues fans can travel. Twitter is making a push — taking chances and working hard to bring their product to forefront of social media while trying desperately to take a bite out of Facebook’s current dominance. You can’t fault them for trying. But if history is any indication, they’re really going to need to nail this. They need to impress new customers while trying not to piss off the current ones. It’s an unenviable position. But a ten-year-old company that is still struggling to post profits needs to put themselves in that kind of position every now and again. They’re partnering with a very recognizable brand. If I were a lesser man, I would advise them not to fumble the opportunity.</p> <script>var SERVER_DATA = Object.assign(SERVER_DATA || {});</script> </div> <br /> <!-- <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/"> <rdf:Description rdf:about="https://techgraphs.fangraphs.com/with-twitternfl-deal-its-all-about-execution/" dc:identifier="https://techgraphs.fangraphs.com/with-twitternfl-deal-its-all-about-execution/" dc:title="With Twitter/NFL Deal, It’s All About Execution" trackback:ping="https://techgraphs.fangraphs.com/with-twitternfl-deal-its-all-about-execution/trackback/" /> </rdf:RDF> --> </div> <div class="post"> <h2 class=" posttitle " id="post-5519"><a href="https://techgraphs.fangraphs.com/this-is-the-way-daily-fantasy-ends-not-with-a-bang-but-with-a-whimper/" rel="bookmark" title="Permanent link to This is the Way Daily Fantasy Ends — Not With a Bang, but With a Whimper">This is the Way Daily Fantasy Ends — Not With a Bang, but With a Whimper</a></h2> <div class="postmeta"> <div class="postmeta_author">by <a href="https://techgraphs.fangraphs.com/author/fatfirstbaseman/" title="Posts by David G. Temple" rel="author">David G. Temple</a> </div> <div>March 31, 2016</div> </div> <div class="fullpostentry"> <p>This is the Way Daily Fantasy Ends — Not With a Bang, but With a Whimper</p> <p>Last night, I was at a fantasy draft party (12-team auction, for those who care). The television was on in the background as people were preparing their spreadsheets and whatnot, when an ad for a daily fantasy sight came on. I’m not being coy be neglecting to mention which one, I honestly don’t remember. Those ads are so ubiquitous, that they rarely seem to grab anyone’s attention, but when it came on the TV at the party, a guest looked up and said “do people still do that?” He was being a bit facetious, of course, as people certainly still do, but we might be honestly getting to the point where scandal and legal hassles the constant state of flux of the industry might be enough to lay daily fantasy — or at least the behemoth it has shown to be not terribly long ago — to rest.</p> <p>The most recent cut-down of daily fantasy comes in the form of an announcement that DraftKings and FanDuel will <a href="http://espn.go.com/chalk/story/_/id/15104454/draftkings-fanduel-stop-offering-college-fantasy-games" target="_blank">cease</a> offering contests that include NCAA games. Reading between the lines, it appears as if the NCAA was giving DraftKings and FanDuel the business, and since college sports were a minor part of the business and the two companies already have enough legal stuff to deal with, they threw in the towel.</p> <p>It’s those legal troubles that would most likely spell doom for the two companies, should that come to pass. The bottom line is that many states are now looking into whether daily fantasy should be considered gambling. If it is, then it can’t be allowed to occur on the Internet thanks to the <a href="https://en.wikipedia.org/wiki/Federal_Wire_Act" target="_blank">Federal Wire Act</a> that, although its reach has been questioned, states that bets cannot be placed over communication channels like phone or Internet lines. As of this writing the commonwealth of Virginia has allowed daily fantasy to take place on its soil, so long as certain restrictions and regulations are in place. New York State originally filed an injunction to stop daily fantasy operations, then was overruled, but in the end FanDuel and Draftkings stood down on the issue, hoping that legislation will be passed allowing their sites to continue operating in the state. Yahoo! Daily Fantasy volunteered to do so as well, seemingly to remind the general public that they exist.</p> <p>The legal back and forth will be a very interesting one to watch, with many ramifications involved. The things is, if litigation and appeals and everything else involved in the process goes on as long as it looks like they will, none of this might even matter. If daily fantasy doesn’t burn out, it might just fade away.</p> <p>FanDuel and DraftKings will always have their loyal customers — those who spend lots of time and money on these sites and who will be watching in earnest as the rulings and laws come down state by state. These people aren’t who daily fantasy sites should worry about. They need to worry about the casual player, the person who gets the wild idea to drop $10 or $20 or $50 on a random contest one Sunday to try their luck. The common person. The square. This is who these sites need.</p> <p>Remember, none of these sites actually care about how any one player does. They don’t lose money if Andrew McCutchen has a better night than Mike Trout. They just let the players duke it out while they take their 10% off the top. The model is pretty much the same for sports betting at casinos. The casinos want an even amount of bets on either side. The losers pay the winners and the house gets the juice. DraftKings and FanDuel acutally have a better model. The casino can still get hosed on a one-in-million bet cashing in. Daily fantasy doesn’t give a crap. It just needs players. It needs bodies that are willing to pay a fee (and <a href="http://www.bloomberg.com/news/articles/2015-09-10/you-aren-t-good-enough-to-win-money-playing-daily-fantasy-football" target="_blank">forget</a> that the odds are stacked against them) so that it can take its share. But without Joe Sixpack kicking in his money, there is less of a pot to skim from.</p> <p>The big hitters and the sharps will still have their high-stakes games. If they live in a state where the contests are banned, they’ll find shady workarounds to keep playing. But your coworker or next-door neighbor won’t. If they can’t play, they’ll … just stop playing. And even if the laws are changed or massaged enough where they could theoretically start again, most won’t, or at least not as much. The thrill will be gone. Daily fantasy’s biggest enemy isn’t the law, it’s attrition.</p> <p>FanDuel and DraftKings aren’t just interested in a positive decision, they need a <em>fast</em> positive decision. Time is of the essence here, as they need to both counter rulings and legislation against them in some states while regaining the right to do business in other states all in a timely enough fashion that the public doesn’t forget about them. So far, it’s not looking good. Layoffs are happening. Funding and partnerships are being pulled. All this effort may end up being just some rearranging of deck chairs.</p> <p>This is not to say that these companies can’t make a comeback. If they laws fall in their favor, and cloud of doubt is blown away from the industry, the investment money and partnership deals will come rolling in right quick — no hard feelings, right? And maybe they can gain a second wind and intice people into coming back (now 100% legal!) And we may once again be carpet bombed with ad after ad regaling us with stories of average people becoming millionaires overnight. But some serious legal kung fu has to happen first. Luckily for these companies, they have the <a href="http://deadspin.com/damn-fanduel-and-draftkings-bring-in-shitloads-of-mone-1743825648" target="_blank">scratch</a> to spend on top-notch lawyers.</p> <script>var SERVER_DATA = Object.assign(SERVER_DATA || {});</script> </div> <br /> <!-- <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/"> <rdf:Description rdf:about="https://techgraphs.fangraphs.com/this-is-the-way-daily-fantasy-ends-not-with-a-bang-but-with-a-whimper/" dc:identifier="https://techgraphs.fangraphs.com/this-is-the-way-daily-fantasy-ends-not-with-a-bang-but-with-a-whimper/" dc:title="This is the Way Daily Fantasy Ends — Not With a Bang, but With a Whimper" trackback:ping="https://techgraphs.fangraphs.com/this-is-the-way-daily-fantasy-ends-not-with-a-bang-but-with-a-whimper/trackback/" /> </rdf:RDF> --> </div> <div class="post"> <h2 class=" posttitle " id="post-5507"><a href="https://techgraphs.fangraphs.com/techgraphs-news-roundup-3252016/" rel="bookmark" title="Permanent link to TechGraphs News Roundup: 3/25/2016">TechGraphs News Roundup: 3/25/2016</a></h2> <div class="postmeta"> <div class="postmeta_author">by <a href="https://techgraphs.fangraphs.com/author/ad/" title="Posts by Alec Denton" rel="author">Alec Denton</a> </div> <div>March 25, 2016</div> </div> <div class="fullpostentry"> <p>According to the solar calendar, spring arrived in the northern hemisphere this week. According to that regular calendar on your desk with the new Jeopardy! answer to tear off every morning, it’s just another Friday, which means it’s time for the weekly TechGraphs News Roundup, wherein we bring you the sports-tech stories from the past week that we found interesting.</p> <p>March Madness has been pretty wild this year, with the first two rounds of the NCAA men’s basketball tournament featuring a number of shocking upsets. The Sweet Sixteen tipped off last night, and the Maryland Terrapins, who advanced to that round for the first time since they left the ACC to join the Big Ten conference, lost a tight game to the favored Kansas Jayhawks. A disappointing on-court result for Maryland, to be sure, but not for a lack of technology-driven training off the court, <a href="http://www.sporttechie.com/2016/03/24/behind-scenes-maryland-basketball-sports-performance-team/" target="_blank">where</a> the Terps have been employing an array of biometric monitoring tools. Much of their technological application surrounds team practices, which begin with readings from the OmegaWave system’s monitoring of central nervous system activity. During practice, they incorporate the Zephyr system for heart-rate and G-force tracking. Coaches keep an eye on all of the data these systems collect in real time and adjust training regimens accordingly. Sure, we’re just <a href="https://www.youtube.com/watch?v=eGDBR2L5kzI" target="_blank">talking about practice, man</a>, but, at least in College Park, basketball practice in 2016 looks like it has a lot more A.I. in attendance than it did in Philadelphia in 2002.</p> <p><a href="http://www.nydailynews.com/sports/more-sports/fantasy-sports-ban-halt-yahoo-article-1.2572706" target="_blank">The latest chapter</a> in the daily fantasy sports legal saga finds FanDuel and DraftKings shutting down all of their paid contests in New York pursuant to the terms of a settlement agreement with the New York Attorney General’s office. We’ve called Yahoo! the “<a href="http://www.fangraphs.com/techgraphs/is-yahoo-daily-fantasy-the-third-wheel/" target="_blank">third wheel</a>” in the daily fantasy marketplace, but it was not a party to that settlement agreement and therefore appeared to be the big winner in the Empire State, at least temporarily. The New York Daily News reported that Yahoo! still was taking paid bets in New York on Monday after FanDuel and DraftKings had ceased such operations, but, <a href="http://www.nydailynews.com/sports/yahoo-halts-n-y-fantasy-sports-operations-article-1.2573412" target="_blank">on Tuesday</a>, Yahoo! agreed to join its DFS competitors in ceasing paid contests. The legal battle will continue in New York, with further court arguments set for later this year, but, for now, the New York Attorney General’s office appears to have won a substantial victory.</p> <p>PITCHf/x, the baseball pitch-tracking and mapping technology, has been a major boon to the study and analysis of America’s pastime, and it’s a foundational pillar of much of the crack baseball analysis you’ll find in the pages of FanGraphs. The recently introduced StatCast technology expands beyond PITCHf/x to track batted balls, defensive positioning and movement, and baserunner movement. “But what about cricket?”, you might have wondered. That worldly mixture of baseball, bocce, lawn darts, and fraternity-style hazing now has <a href="http://www.digit.in/general/sports-tech-meet-pitchvision-your-techie-cricket-coach-29540.html" target="_blank">PitchVision</a>, a camera-driven technology that tracks ball and player movement and can compile and analyze the collected data. PitchVision is designed to be portable and relatively cheap (kits start at around $52,000, if my Rupee-to-Dollar conversion was accurate), and the manufacturer, miSport, is marketing them to cricket training schools and teams.</p> <p>Even in its offseason, the NFL is never far from the daily news cycle, is it? The league’s owners’ meeting wrapped up this week in Florida, and, among the various rule tweaks and other minutiae announced came <a href="http://www.observer-reporter.com/20160322/new_stat_technology_will_be_available_to_nfl_teams_in_may" target="_blank">word</a> that data from the RFID chips embedded in each player’s shoulder pads last season (which we told you about back in <a href="http://www.fangraphs.com/techgraphs/techgraphs-news-roundup-9112015/" target="_blank">September</a>) will be available to teams beginning in May. What they’ll do with it is anybody’s guess, but you can be sure that Bill Belichick won’t reveal any clues.</p> <p>Australian researchers have <a href="http://www.newsmax.com/Health/Health-News/RugbyU-AUS-Sports-Technology/2016/03/24/id/720632/" target="_blank">created a prototype</a> of a concussion-monitoring headband athletes can wear to allow coaches and game officials to receive brain-trauma information in real time. The goal with the brainBAND technology is to both facilitate in-the-moment concussion diagnoses that should preclude players from returning to game action and measure the smaller hits that, cumulatively, can contribute to a substantial effect on the brain. So far, the brainBAND has been tested on amateur rugby players in Australia, but it would seem to have obvious applications for other sports, including (American) football as well.</p> <p>Before Oscar Pistorius became controversial for decidedly wrong reasons, his use of prosthetic legs in conventional running competitions raised deep ethical and competitive questions <a href="https://www.youtube.com/watch?v=dTWDNIgM2pA" target="_blank">with which many continue to grapple</a>. Research and development in the area of prosthetic technology, continues, of course, and <a href="http://medicalxpress.com/news/2016-03-prosthetic-legs-competitive-sports.html" target="_blank">a new research paper</a> from a university in the United Kingdom proposes guidelines for avoiding competitive advantage where prosthetic leg technology is used in sporting events. The paper’s central proposal is to apply a set of practical testing guidelines, including the use of the “dynamic drop technique,” designed to generate objective data on competitive advantages that can better inform future rules and regulations.</p> <p>In the moments leading up to a sporting event, athletes commonly don headphones and listen to music as part of a preparatory routine designed to aid focus, eliminate distractions, and, for those of us who really loved <a href="http://www.amazon.com/ESPN-Presents-Jock-Jams-Volume/dp/B000000HKM" target="_blank">Jock Jams</a>, get pumped up to come off the bench in a middle school B-league basketball game. When it comes to headphone technology, most of us just want to make sure we’re getting <a href="https://www.youtube.com/watch?v=PptInhacYgs" target="_blank">enough volume</a> to our ears. Now, a Bay-Area startup called Halo Neuroscience actually wants to turn up the <a href="https://www.technologyreview.com/s/601054/brain-zapping-headphones-could-make-you-a-better-athlete/" target="_blank">electricity</a> in athletes’ headphones in order to improve their athletic performance. Halo’s headphones, which <a href="https://d267cvn3rvuq91.cloudfront.net/i/images/headphones.2x2760.jpg?sw=590&cx=0&cy=0&cw=2760&ch=1680" target="_blank">look</a> suspiciously like Beats headphones with scalp massagers attached, actually contain neurostimulating electrodes designed to improve motor function through electrical interactivity with the brain’s motor cortex. The company’s own research suggests that their “transcranial direct current stimulation” can improve physical outcomes, but some neuroscientists are skeptical, and the company’s research has not yet been published in peer-reviewed publications. Still, the possibilities Halo Neuroscience’s headphones present have been enough to draw $9 million in venture capital funding.</p> <p>That’s all for this week. Whether you plan to spend the weekend hunting for Easter eggs or just watching your team hunt for a spot in the Final Four, please remember to be excellent to each other.</p> <script>var SERVER_DATA = Object.assign(SERVER_DATA || {});</script> </div> <br /> <!-- <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/"> <rdf:Description rdf:about="https://techgraphs.fangraphs.com/techgraphs-news-roundup-3252016/" dc:identifier="https://techgraphs.fangraphs.com/techgraphs-news-roundup-3252016/" dc:title="TechGraphs News Roundup: 3/25/2016" trackback:ping="https://techgraphs.fangraphs.com/techgraphs-news-roundup-3252016/trackback/" /> </rdf:RDF> --> </div> <div class="post"> <h2 class=" posttitle " id="post-5494"><a href="https://techgraphs.fangraphs.com/major-changes-for-valves-major/" rel="bookmark" title="Permanent link to Major Changes For Valve’s Major">Major Changes For Valve’s Major</a></h2> <div class="postmeta"> <div class="postmeta_author">by <a href="https://techgraphs.fangraphs.com/author/wiersnraf/" title="Posts by David Wiers" rel="author">David Wiers</a> </div> <div>March 25, 2016</div> </div> <div class="fullpostentry"> <p><span style="font-weight: 400;">On Tuesday we will see a major sporting event kick off in Ohio, with hundreds of thousands (if not millions) of people watching online. No, it’s not MLB opening day or the Columbus Crew (but has a soccer fan, I would love to see a crowd of that size for a domestic game). No, I’m talking about the first ever Valve-sponsored Major for Counter-Strike:Global Offensive here in the United States, <a href="http://www.majorleaguegaming.com/events/84/mlg-cs-go-major-championship-columbus" target="_blank">Major League Gaming’s Championship: Columbus</a>.</span></p> <p>While not the first Major, it’s the first one held in the States — all previous Majors have been held in Europe. The location isn’t the only notable change to the Major, as this also represents a record of four teams from the North American region qualifying, though a team from Europe — in particular, Fnatic — seem likely to take the championship. In addition to the solid North American representation in Columbus, Brazil is represented in team Luminosity Gaming, and if any team could challenge the EU region heavyweights, it might be LG. On top of the diverse lineup, the prize pool has been quadrupled from a notable $250,000 in previous Majors to an impressive <a href="http://blog.counter-strike.net/index.php/2016/02/13658/" target="_blank">$1,000,000 up for grabs</a>, with $500,000 going to the first place team. Beyond the massive increase in the cash, Valve has also made changes to the gameplay, <a href="http://blog.counter-strike.net/index.php/2015/12/13325/" target="_blank">specifically the clock</a>, and it is something that could play a role — for better or worse — in the upcoming matches.</p> <p><span style="font-weight: 400;">While the nature of CS:GO is quite different than any traditional sport, the teams of five simultaneously playing offense and defense lend at least a quick comparison to basketball. Rather than outscoring the enemy team when the game clock reads 0:00, CS:GO instead is a race to be the first side to win 16 rounds. A maximum of 15 rounds per half will be played, so one could consider it a best of 30, in a manner of speaking. The first half consists of the Counter-Terrorists (CT) side defending two bomb sites while the Terrorists (T) attacks and attempts to plant a bomb. CTs can win by </span><span style="font-weight: 400;"><br /> </span><span style="font-weight: 400;"><br /> </span><span style="font-weight: 400;">A. Holding both sites for the full 1:55 each round (an uncommon way to win)</span><span style="font-weight: 400;"><br /> </span><span style="font-weight: 400;">B. Eliminating the T’s before they can plant the bomb at one of the sites</span><span style="font-weight: 400;"><br /> </span><span style="font-weight: 400;">C. Defusing the bomb once it has been planted </span><span style="font-weight: 400;"><br /> </span><span style="font-weight: 400;"><br /> </span><span style="font-weight: 400;">While that’s the quick and dirty comparison, Valve — developers and sponsors of this Major — have decided to toy with what effectively is the “shot clock” in CS:GO. For years and years, heck, even since I played Counter-Strike 1.5 and 1.6, the universal standard* for each individual round was 1:45, or if the bomb was planted, a 35 second timer would begin. Last December, Valve implemented a significant change, shifting to the longer, previously mentioned 1:55 round and increasing the bomb detonation timer from 35 to 40 seconds. The key thing is that neither planting the bomb nor defusing is instantaneous. It takes approximately three seconds for the T side to plant the bomb, and for the CT side, defusing it varies based on whether or not the CT purchases a defuse kit. Without the kit, it’s a full 10-second defuse but with the kit it’s cut in half to five seconds.</span></p> <p><em><span style="font-weight: 400;">*Valve had a 45-second bomb timer in their official matchmaking until the December change, however this article is aiming to address competitive play.</span></em></p> <p><span style="font-weight: 400;">While leagues such as ESL/ESEA Pro League have adopted the longer round time and 40-second bomb detonation time as have <a href="http://open.dreamhack.se/news/328-changes-to-the-csgo-rulebook.html" target="_blank">DreamHack tournaments</a>, the change could absolutely affect rounds and thus matches. For example, imagine if the NBA changed a similar 10-percent increase in the shot clock, rather than 24 seconds it would get bumped to 26.4 seconds. Or overall game length from four 12-minute quarters to four 13:15 quarters. It isn’t hard to see just how drastically this would change things like player substitutions, shot selection, timeout usage and team fouls. Just like basketball, CS:GO is heavily reliant on the clock to force action. By changing what forces the action, I would argue the game has been changed as well.</span></p> <p>Rather than worry about player substitutions or shot selection like in basketball, the thing being juggled — especially on the CT side of things — in CS:GO is the in-game economy. Instead of needing to purchase a defuse kit, now the CTs can opt to spend that cash elsewhere, be it an upgraded weapon, grenade, body armor etc., and still have what almost equals the same amount of time. By choosing to not purchase a kit, there is no real difference between a full 10-second defuse on the 40-second bomb timer versus buying a kit to cut the time in half to five seconds on a 35-second timer. The kit itself a relatively small price to pay, just <a href="http://wiki.teamliquid.net/counterstrike/Defuse_Kit" target="_blank">$400 in-game dollars</a>, yet that same amount of currency is the same as <a href="http://wiki.teamliquid.net/counterstrike/Flashbang" target="_blank">two flash bangs</a>, <a href="http://wiki.teamliquid.net/counterstrike/Smoke_Grenade" target="_blank">one smoke</a> or one <a href="http://wiki.teamliquid.net/counterstrike/High_Explosive_Grenade" target="_blank">high explosive</a> grenade (with $100 left over). As one would suspect, this type of equipment can absolutely have a huge affect on how a round plays out as the longer bomb time opens up the CT arsenal considerably.</p> <p><span style="font-weight: 400;">On top of the in-game currency falling under scrutiny, the million dollar prize pool is something to cover in detail as well. To be honest, the $1 million is technically correct for the tournament itself, but it fails to account for one thing: <a href="http://blog.counter-strike.net/index.php/2016/03/13785/" target="_blank">stickers</a>. No, not actual, real life stickers, instead these stickers allow the purchaser to place the stickers on weapons if they so desire. The stickers cost just $0.99 with the money being split 50/50, half going to Valve and the other half to the teams.</span></p> <p><a href="http://www.fangraphs.com/techgraphs/wp-content/uploads/2016/03/teamstickers.png" rel="attachment wp-att-5496"><img loading="lazy" decoding="async" class="aligncenter wp-image-5496 size-large" src="http://www.fangraphs.com/techgraphs/wp-content/uploads/2016/03/teamstickers-1024x576.png" alt="teamstickers" width="1024" height="576" srcset="https://techgraphs.fangraphs.com/wp-content/uploads/sites/7/2016/03/teamstickers-1024x576.png 1024w, https://techgraphs.fangraphs.com/wp-content/uploads/sites/7/2016/03/teamstickers-300x169.png 300w, https://techgraphs.fangraphs.com/wp-content/uploads/sites/7/2016/03/teamstickers-768x432.png 768w, https://techgraphs.fangraphs.com/wp-content/uploads/sites/7/2016/03/teamstickers.png 1366w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></a></p> <p><span style="font-weight: 400;">For a glimpse of an older Cloud9 sticker, here is a screenshot of C9’s Jordan “n0thing” Gilbert in action in the MLG Columbus Qualifiers. The <a href="https://www.youtube.com/watch?v=vBrX8CyhfbI" target="_blank">full highlight video</a> can be found on <a href="https://www.youtube.com/channel/UCEkorHXUNJ5tpcH0VE77_fA" target="_blank">Cloud9’s YouTube page</a>.</span></p> <p><a href="http://www.fangraphs.com/techgraphs/wp-content/uploads/2016/03/nothingstickers.png" rel="attachment wp-att-5495"><img loading="lazy" decoding="async" class="aligncenter wp-image-5495 size-large" src="http://www.fangraphs.com/techgraphs/wp-content/uploads/2016/03/nothingstickers-1024x576.png" alt="nothingstickers" width="1024" height="576" srcset="https://techgraphs.fangraphs.com/wp-content/uploads/sites/7/2016/03/nothingstickers-1024x576.png 1024w, https://techgraphs.fangraphs.com/wp-content/uploads/sites/7/2016/03/nothingstickers-300x169.png 300w, https://techgraphs.fangraphs.com/wp-content/uploads/sites/7/2016/03/nothingstickers-768x432.png 768w, https://techgraphs.fangraphs.com/wp-content/uploads/sites/7/2016/03/nothingstickers.png 1366w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></a></p> <p><span style="font-weight: 400;">Count on yours truly among those watching the streams as 16 teams representing 18 countries decide who will take home the title.</span></p> <h6>(Header image via MLG)</h6> <script>var SERVER_DATA = Object.assign(SERVER_DATA || {});</script> </div> <br /> <!-- <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/"> <rdf:Description rdf:about="https://techgraphs.fangraphs.com/major-changes-for-valves-major/" dc:identifier="https://techgraphs.fangraphs.com/major-changes-for-valves-major/" dc:title="Major Changes For Valve’s Major" trackback:ping="https://techgraphs.fangraphs.com/major-changes-for-valves-major/trackback/" /> </rdf:RDF> --> </div> <div class="post"> <h2 class=" posttitle " id="post-5489"><a href="https://techgraphs.fangraphs.com/building-a-retrosheet-database-for-the-2016-season-part-2/" rel="bookmark" title="Permanent link to Building a Retrosheet Database for the 2016 Season, Part 2">Building a Retrosheet Database for the 2016 Season, Part 2</a></h2> <div class="postmeta"> <div class="postmeta_author">by <a href="https://techgraphs.fangraphs.com/author/fatfirstbaseman/" title="Posts by David G. Temple" rel="author">David G. Temple</a> </div> <div>March 22, 2016</div> </div> <div class="fullpostentry"> <p>Hi, folks. Below you will find Part 2 of our video series involving building a Retrosheet database. If you haven’t, make sure to check out <a href="http://www.fangraphs.com/techgraphs/building-a-retrosheet-database-for-the-2016-season-part-1/" target="_blank">Part 1</a> before digging into this.</p> <p><strong>*The video explains this, but you’ll need to re-download the files from our GitHub page. I found a couple of small errors there. No harm done, just make sure you have the updated files before continuing. The video explains how to do this.</strong></p> <p>Enjoy! Let me know in the comments or on <a href="http://www.twitter.com/davidgtemple" target="_blank">Twitter</a> if you have any questions or problems.</p> <p><iframe loading="lazy" width="560" height="315" src="https://www.youtube.com/embed/P9S8bYt9JZY" frameborder="0" allowfullscreen></iframe></p> <script>var SERVER_DATA = Object.assign(SERVER_DATA || {});</script> </div> <br /> <!-- <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/"> <rdf:Description rdf:about="https://techgraphs.fangraphs.com/building-a-retrosheet-database-for-the-2016-season-part-2/" dc:identifier="https://techgraphs.fangraphs.com/building-a-retrosheet-database-for-the-2016-season-part-2/" dc:title="Building a Retrosheet Database for the 2016 Season, Part 2" trackback:ping="https://techgraphs.fangraphs.com/building-a-retrosheet-database-for-the-2016-season-part-2/trackback/" /> </rdf:RDF> --> </div> <div class="post"> <h2 class=" posttitle " id="post-5483"><a href="https://techgraphs.fangraphs.com/alert-t-mobile-customers-can-get-mlb-tv-for-free-this-season/" rel="bookmark" title="Permanent link to ALERT: T-Mobile Customers Can Get MLB.tv for Free This Season">ALERT: T-Mobile Customers Can Get MLB.tv for Free This Season</a></h2> <div class="postmeta"> <div class="postmeta_author">by <a href="https://techgraphs.fangraphs.com/author/fatfirstbaseman/" title="Posts by David G. Temple" rel="author">David G. Temple</a> </div> <div>March 17, 2016</div> </div> <div class="fullpostentry"> <p>T-Mobile is still pushing hard on its “Un-carrier” campaign, and their newest venture is a huge boon to baseball fans. T-Mobile and MLB have <a href="https://newsroom.t-mobile.com/news/mlb-2016.htm" target="_blank">extended</a> their partnership another three years. This means a lot of T-Mobile branding will be seen on various MLB properties — including things like the All Star Game — but the “celebration” of the partnership brings some big-time savings.</p> <p>Any T-Mobile customer on the Simple Choice plan will have the opportunity to sign up for a <em>free</em> year of MLB.tv. And from what I’m reading, that doesn’t really include a lot of red tape or hoops to jump through. There is one slight catch, however. The deal isn’t available until April 3rd. This is all well and good for the start of the season, but not so much if one is interested in streaming Spring Training games. To counteract that slight bummer, T-Mobile and MLB are sweetening the pot a little.</p> <p>The free subscription also comes with complimentary access to the MLB At Bat Premium so that users can get all the additional features of At Bat on their smartphones and tablets. The inclusion of the app usually comes with MLB.tv regardless, but it’s nice to know that there won’t be any sneaky gotchas after signing up.</p> <p>Also, MLB.tv qualifies for T-Mobile’s (somewhat <a href="https://www.eff.org/deeplinks/2016/01/eff-confirms-t-mobiles-bingeon-optimization-just-throttling-applies" target="_blank">controversial</a>) Bing On <a href="https://www.t-mobile.com/offer/binge-on-streaming-video.html" target="_blank">program</a>, wherein customers can stream MLB.tv (along with many other video services) via their cellular connections without it counting toward their plan’s data allotment. T-Mobile customers are free to watch games on the bus, in church, during work, or anywhere else they don’t have access to WiFi without worry of data overages.</p> <p>The kicker to the deal is that a user’s MLB.tv subscription will be valid for any device, not just their T-Mobile phone. This means fans can still watch on their smart TVs, gaming consoles, or other connected devices using their MLB account. This is a nice pivot from other offerings like Verizon’s NFL package, which allows fans to watch certain NFL content (mainly Red Zone) for free, but only via their Verizon device. T-Mobile’s deal will let people watch via their PlayStation or Roku with no extra strings and, theoretically, they’ll never have to even watch on their phones if they don’t want to.</p> <p>MLB has seen some big <a href="http://www.fangraphs.com/blogs/mlb-settles-tv-lawsuit-preserves-blackouts/" target="_blank">changes</a> recently in terms of their MLB.tv offering. It’s hard to say whether this T-Mobile partnership is an extension of that or not, but it’s certainly a nice added bonus. There are some lingering questions, however. If I purchased MLB.tv already, can I cancel and sign on via T-Mobile? If I cancel my T-Mobile account, does my MLB.tv go away? Details on this are fuzzy right now, so it might be best to stop into a store or call T-Mobile yourself to get the best answers.</p> <p>Wireless providers are pulling out all the stops these days to convince customers to switch, and if a baseball fan were shopping around for a new carrier, this might be the very thing that puts them over. I doubt the offer will be good next year, but for current T-Mobile customers or people who were already looking to switch, saving over $100 is always a good way to start the season.</p> <script>var SERVER_DATA = Object.assign(SERVER_DATA || {});</script> </div> <br /> <!-- <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/"> <rdf:Description rdf:about="https://techgraphs.fangraphs.com/alert-t-mobile-customers-can-get-mlb-tv-for-free-this-season/" dc:identifier="https://techgraphs.fangraphs.com/alert-t-mobile-customers-can-get-mlb-tv-for-free-this-season/" dc:title="ALERT: T-Mobile Customers Can Get MLB.tv for Free This Season" trackback:ping="https://techgraphs.fangraphs.com/alert-t-mobile-customers-can-get-mlb-tv-for-free-this-season/trackback/" /> </rdf:RDF> --> </div> <div class="post"> <h2 class=" posttitle " id="post-5466"><a href="https://techgraphs.fangraphs.com/techgraphs-news-roundup-3112016/" rel="bookmark" title="Permanent link to TechGraphs News Roundup: 3/11/2016">TechGraphs News Roundup: 3/11/2016</a></h2> <div class="postmeta"> <div class="postmeta_author">by <a href="https://techgraphs.fangraphs.com/author/ad/" title="Posts by Alec Denton" rel="author">Alec Denton</a> </div> <div>March 11, 2016</div> </div> <div class="fullpostentry"> <p>The volatile month of March is upon us, and in comes this TechGraphs News Roundup, surely the lion of the sporting blogosphere and the FG family (check out our colors!), to deliver the sports-tech stories from the past week that we found interesting, along with just the right amount of bluster.</p> <p>The baseball <a href="https://days.to/until/mlb-season-opening-day" target="_blank">countdown clock</a>’s still ticking, measuring our ever-closing temporal gap between the now and the start of the baseball season. One thing that might happen in the 2016 season is that Mike Trout, extremely good hitter, becomes Mike Trout, even-better-than-before hitter. If that thing happens, it might be due, in part, to his use of a new “smart bat” he helped develop. Our own Bryan Cole has some of the details over at Beyond the Box Score, where he <a href="http://www.beyondtheboxscore.com/2016/3/7/11169408/zepp-old-hickory-smart-bat-mike-trout-sensor-in-bat" target="_blank">reports</a> that Trout, together with sports sensor manufacturer Zepp and Old Hickory Bats, the company that makes Trout’s in-game bats, have created a bat that houses a Zepp sensor– comprised of gyroscopes and accelerometers– right inside the handle of the bat itself. The idea behind this bat, which will be available for sale to the public this summer, is that increased measuring and monitoring of a player’s swing from the 1,000 data points the bat collects, can be used to help improve a player’s swing. Zepp is seeking approval for in-game use of these smart bats.</p> <p>Baseball bats are getting smarter, and so too is the way MLB teams are using social media to interact with their fans. For at least a few teams, including the Tigers, Dodgers, and Giants, this digital interaction has expanded to encompass <a href="http://digiday.com/publishers/mlb-teams-embrace-facebook-live-streaming-spring-training/" target="_blank">live video streaming during spring training activities</a>. We have covered the live-streaming capabilities of video apps such as Periscope and Meerkat here before, but the MLB teams moving in this direction seem to be favoring Facebook Live, the Facebook-integrated live video app. While Periscope’s ready integration with Twitter means it probably will remain a strong player in the live video streaming space, it also makes sense for teams to bring their content to where most of their fans already exist. For now, that appears to be good old Facebook.com.</p> <p>Baseball fans aren’t the only ones who are into live video streaming, and with less than a month remaining in the regular season, the NHL playoff race is in full swing, making this an especially timely moment for the news that <a href="http://www.reuters.com/article/us-yahoo-streaming-nhl-idUSKCN0WC1QE" target="_blank">Yahoo’s new partnership with the NHL</a> will include free live streams of real NHL games. Yahoo plans to stream four games each week, and they will make the streams available on <a href="http://sports.yahoo.com/" target="_blank">sports.yahoo.com</a> and on <a href="http://yahoosports.tumblr.com/" target="_blank">the Yahoo Sports Tumblr page</a> (which I just had to Google) to out-of-market viewers at no cost. The first such game is tonight’s Flyers-Lightning matchup.</p> <p>Did you know that the twenty-first season of Major League Soccer just kicked off? It’s true: MLS finally can share a beers with its fans. In addition to a new drinking buddy in the form of an anthropomorphic sporting league, MLS fans also can look forward to <a href="http://www.sporttechie.com/2016/03/08/audi-and-mls-debut-player-tracking-system-for-2016-season/" target="_blank">implementation of the Audi Player Index</a>, player-tracking technology designed by an automotive company to collect near-real-time movement and secondary statistical data for every player on the pitch. The <a href="http://www.mlssoccer.com/audi/faq" target="_blank">goal</a> of the Index appears to be to boil all of this data down to a single number for each player that represents the degree to which the player contributed to or detracted from the player’s team’s win or loss. According to MLS, a top individual game Index score could fall between 500 and 1600 Index points, with the highest individual game score awarded to date being 3330 for a player who scored five goals in the game. At the end of the season, MLS will recognize the player with the highest per-game Play Index average. Fans of new and advanced baseball statistics are likely to recognize some principles of WAR and win-probability added at work here, and, depending upon how effective MLS and its broadcasters are at disseminating this information, the Audi Player Index could offer an engaging entry point for new fans.</p> <p>For the NBA, player tracking is mere surface-level stuff, with player biometric monitoring continually advancing in that sport. While <a href="http://www.techgraphs.com/jason-pierre-paul-didnt-start-the-fire-how-athletes-could-lose-control-over-their-health-data-2/" target="_blank">such monitoring soon may push up against ethical boundaries</a>, if it hasn’t already, the teams do not appear to be slowing down in this department. According to a <a href="http://www.sporttechie.com/2016/03/07/kinduct-technologies-signs-indiana-pacers-and-expands-its-presence-in-professional-sports/" target="_blank">press release</a> issued Monday, Kinduct, a Halifax-based company, has registered the Indiana Pacers as a new client and will be providing the team its “athlete management software . . . to collect performance and health data for smoother visualization and analysis within a centralized location.” Does Paul George sleep well at night? Team President Larry Bird soon may be able to answer that question with a quick glance at his tablet device.</p> <p>In case the sudden absence of advertising made you forget, daily fantasy sports remains a thing that exists, and, in a surprising move in light of the nationwide legal landscape, <a href="http://thecomeback.com/blog/fantasy-sports/virginia-legalizes-daily-fantasy-dfs.html" target="_blank">Virginia</a> recently became the first state to legalize DFS via the Fantasy Contest Act. DFS operators badly needed a legal victory, but, like most legal victories, this one comes at a price. DFS may be expressly permitted in Virginia, but it’s not unregulated, and the regulatory costs, which include a $50,000 operating fee and an annual auditing requirement, may be enough to sink some smaller providers. On the other hand, this sort of regime is exactly what larger providers, like FanDuel and Draft Kings, want, because it shields them from both legal challenges (in the Old Dominion, anyway) and upstart competitors that can’t afford to comply with the regulations.</p> <p>The annual MIT Sloan Sports Analytics Conference runs <a href="http://www.sloansportsconference.com/?page_id=17746" target="_blank">today and tomorrow</a> in Boston, where a number of potentially interesting topics are on tap. The SXSW conference also begins today in Austin, and the conference has <a href="http://schedule.sxsw.com/tags/SXsports" target="_blank">its own sports segment</a>, with many events and panel discussions scheduled over the coming days. For those who won’t be on the ground in Boston or Austin this year, check next week’s roundup for any pertinent highlights that emerge from these hip gatherings.</p> <p>Whether you’re spending this weekend at a sports-tech conference or just trying to enjoy some springtime weather, please do remember to be excellent to each other.</p> <script>var SERVER_DATA = Object.assign(SERVER_DATA || {});</script> </div> <br /> <!-- <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/"> <rdf:Description rdf:about="https://techgraphs.fangraphs.com/techgraphs-news-roundup-3112016/" dc:identifier="https://techgraphs.fangraphs.com/techgraphs-news-roundup-3112016/" dc:title="TechGraphs News Roundup: 3/11/2016" trackback:ping="https://techgraphs.fangraphs.com/techgraphs-news-roundup-3112016/trackback/" /> </rdf:RDF> --> </div> <div class="post"> <h2 class=" posttitle " id="post-5456"><a href="https://techgraphs.fangraphs.com/building-a-retrosheet-database-for-the-2016-season-part-1/" rel="bookmark" title="Permanent link to Building a Retrosheet Database for the 2016 Season, Part 1">Building a Retrosheet Database for the 2016 Season, Part 1</a></h2> <div class="postmeta"> <div class="postmeta_author">by <a href="https://techgraphs.fangraphs.com/author/fatfirstbaseman/" title="Posts by David G. Temple" rel="author">David G. Temple</a> </div> <div>March 7, 2016</div> </div> <div class="fullpostentry"> <p>Baseball season is almost upon us. Soon, people will flood to ballparks in cities all over our great nation in search of entertainment and meaning, while baseball bloggers will continue their search for relevance and the mysterious Full Time Gig. If you fall into the latter camp (or if you just like having this kind of data handy), then it’s time to get your Retrosheet database installed/updated.</p> <p>For those not in the know, <a href="http://retrosheet.org/" target="_blank">Retrosheet</a> is a magnificent project that essentially looks to turn box scores into computer records. And they’ve done a great job of it. They have all box scores from games since 1914, and play-by-play data since around 1940. What we’ll want to do is convert their records into an easily-searchable database that we can query for fun and profit.</p> <p>Below is a video walking you through how to get your machine set up. We won’t actually be loading the data yet — that will come in Part 2 — but we’ll make sure your computer is prepped and has all the files and utilities is needs.</p> <p>If you already installed a Retrosheet database using our instructions from last year, most of this won’t apply to you, but feel free to follow along. You’ll certainly need the links to the new packages that are now up on our GitHub page, but most of what you’ll need is in Part 2.</p> <p>(Mac people: as I mentioned in the video, your instructions are coming)</p> <p><strong>Links mentioned in the video:</strong></p> <p>TechGraphs GitHub: <a class="yt-uix-sessionlink " href="https://github.com/techgraphs/2016RetrosheetSQLWindows" target="_blank" rel="nofollow" data-sessionlink="ei=CI_dVtrxJYTxuwLcm46QDA">https://github.com/techgraphs/2016Ret…</a></p> <p>MySQL Server: <a class="yt-uix-sessionlink " href="https://dev.mysql.com/downloads/mysql/" target="_blank" rel="nofollow" data-sessionlink="ei=CI_dVtrxJYTxuwLcm46QDA">https://dev.mysql.com/downloads/mysql/</a></p> <p>Wget: <a class="yt-uix-sessionlink " href="http://gnuwin32.sourceforge.net/packages/wget.htm" target="_blank" rel="nofollow" data-sessionlink="ei=CI_dVtrxJYTxuwLcm46QDA">http://gnuwin32.sourceforge.net/packa…</a></p> <p>7-Zip: <a class="yt-uix-sessionlink " href="http://www.7-zip.org/" target="_blank" rel="nofollow" data-sessionlink="ei=CI_dVtrxJYTxuwLcm46QDA">http://www.7-zip.org/</a></p> <p>SQLyog: <a class="yt-uix-sessionlink " href="https://github.com/webyog/sqlyog-community" target="_blank" rel="nofollow" data-sessionlink="ei=CI_dVtrxJYTxuwLcm46QDA">https://github.com/webyog/sqlyog-comm…</a></p> <p><iframe loading="lazy" width="580" height="350" src="https://www.youtube.com/embed/qqLJm9wIuvw" frameborder="0" allowfullscreen></iframe></p> <script>var SERVER_DATA = Object.assign(SERVER_DATA || {});</script> </div> <br /> <!-- <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/"> <rdf:Description rdf:about="https://techgraphs.fangraphs.com/building-a-retrosheet-database-for-the-2016-season-part-1/" dc:identifier="https://techgraphs.fangraphs.com/building-a-retrosheet-database-for-the-2016-season-part-1/" dc:title="Building a Retrosheet Database for the 2016 Season, Part 1" trackback:ping="https://techgraphs.fangraphs.com/building-a-retrosheet-database-for-the-2016-season-part-1/trackback/" /> </rdf:RDF> --> </div> <div class="post"> <h2 class=" posttitle " id="post-5431"><a href="https://techgraphs.fangraphs.com/how-to-use-r-for-sports-stats-visualizing-projections/" rel="bookmark" title="Permanent link to How To Use R For Sports Stats: Visualizing Projections">How To Use R For Sports Stats: Visualizing Projections</a></h2> <div class="postmeta"> <div class="postmeta_author">by <a href="https://techgraphs.fangraphs.com/author/kilroyslepthere/" title="Posts by Brice Russ" rel="author">Brice Russ</a> </div> <div>March 1, 2016</div> </div> <div class="fullpostentry"> <p>If you’re reading TechGraphs right now, there’s a good chance you’re <a href="http://www.techgraphs.com/to-fill-a-mocking-board/" target="_blank">prepping for fantasy baseball</a>, and if you’re doing <em>that</em>, there’s a good chance you’re making use of <a href="http://www.fangraphs.com/library/principles/projections/" target="_blank">projection systems</a> like Steamer or ZiPS. In this post, we’ll explore some basic tools that might help you look at these projections in a new way — and brush up on <a href="http://www.techgraphs.com/how-to-use-r-for-sports-stats-part-1-the-absolute-basics/" target="_blank">those R skills that you probably haven’t touched since last fall</a>.</p> <p>(From a skills perspective, this post will assume that you’ve previously read through the “<a href="http://www.techgraphs.com/how-to-use-r-for-sports-stats-part-1-the-absolute-basics/" target="_blank">How To Use R For Sports Stats</a>” series. Even if you haven’t, the insights below will hopefully still be worth your while. I’d also be terribly remiss if I didn’t point you towards <a href="http://www.hardballtimes.com/developing-the-baseballr-package-for-r/" target="_blank">Bill Petti’s recent THT post</a> unveiling his baseballr R package.)</p> <p>We’ll use Steamer projections for this post, though the methods we’ll look at can be used with ZiPS, FG Depth Charts, or, for that matter, actual by-season data. Download <a href="http://www.fangraphs.com/projections.aspx?pos=all&stats=bat&type=steamer" target="_blank">Steamer’s 2016 batting projections from FanGraphs</a>, rename the file to “steamer16.csv”, and load it up in R. We’ll remove players projected for fewer than 100 AB to clean up the data a bit:</p> <pre><strong>steamer = read.csv("steamer16.csv")</strong> <strong>steamer = subset(steamer, PA > 100)</strong></pre> <h3>Visualizing Tiers</h3> <p>As fantasy baseball managers, we all have an innate ability to estimate a player’s value from their stats, judging how good a 30/10/.285 player is vs. a 15/15/.280. We get pretty good at this if we want to do well in our leagues — but we can still develop blind spots in our assessments, or hold on to an outdated idea of quality as MLB trends change. (For example, <a href="http://www.fangraphs.com/leaders.aspx?pos=all&stats=bat&lg=all&qual=0&type=8&season=2015&month=0&season1=2005&ind=0&team=0,ss&rost=0&age=0&filter=&players=0" target="_blank">the average AVG in MLB has dropped from the high .260s 10 years ago to the low .250s today; </a>if you’re still thinking a .255 hitter is below average, you might want to reconsider.)</p> <p>The point, then, is that if you’re getting a sense of how good a player will be by looking at their projections, it can be helpful to step back and recalibrate your thinking from time to time by looking at the broader trends in an image or two.</p> <p>Let’s look at Steamer’s projections for stolen bases, for example. We’ll draw on what we learned <a href="http://www.techgraphs.com/how-to-use-r-for-sports-stats-part-2-visualization-and-analysis/" target="_blank">back in part 2</a> to make a quick-and-hasty histogram counting the number of MLB players who are projected for different SB totals:</p> <pre><strong>hist(steamer$SB, breaks = 30)</strong></pre> <p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-5438" src="http://www.techgraphs.com/wp-content/uploads/2016/02/hist1.png" alt="Basic histograph of SB projections" width="592" height="588" srcset="https://techgraphs.fangraphs.com/wp-content/uploads/sites/7/2016/02/hist1.png 592w, https://techgraphs.fangraphs.com/wp-content/uploads/sites/7/2016/02/hist1-150x150.png 150w, https://techgraphs.fangraphs.com/wp-content/uploads/sites/7/2016/02/hist1-300x298.png 300w" sizes="auto, (max-width: 592px) 100vw, 592px" /></p> <p>Most of these players are projected for fewer than 10 SB. This is sort of interesting, but their huge counts are keeping us from seeing the trends on the right side. Let’s zoom in a bit:</p> <pre><strong>hist(subset(steamer, SB > 10)$SB, breaks=30)</strong></pre> <p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-5439" src="http://www.techgraphs.com/wp-content/uploads/2016/02/hist2.png" alt="Histograph of SB projections for > 10 SB" width="592" height="588" srcset="https://techgraphs.fangraphs.com/wp-content/uploads/sites/7/2016/02/hist2.png 592w, https://techgraphs.fangraphs.com/wp-content/uploads/sites/7/2016/02/hist2-150x150.png 150w, https://techgraphs.fangraphs.com/wp-content/uploads/sites/7/2016/02/hist2-300x298.png 300w" sizes="auto, (max-width: 592px) 100vw, 592px" /></p> <p>Even among this crowd of speedsters, it’s uncommon to see someone projected for more than 20 SB, and incredibly rare to have more than 30.</p> <p>You probably didn’t need to be reminded that the two folks on the far right (spoiler alert: <a href="http://www.fangraphs.com/statss.aspx?playerid=10199&position=OF" target="_blank"><strong>Billy Hamilton</strong></a> and <a href="http://www.fangraphs.com/statss.aspx?playerid=8203&position=2B/SS" target="_blank"><strong>Dee Gordon</strong></a>) would stand out, though it’s useful to see just how distant they are from everyone else. But if you were thinking that players like <a href="http://www.fangraphs.com/statss.aspx?playerid=4866&position=OF" target="_blank"><strong>Jarrod Dyson</strong></a> (35 projected SB) or <strong><a href="http://www.fangraphs.com/statss.aspx?playerid=12701&position=OF" target="_blank">Billy Burns</a> </strong>(32) are solid, but not elite, on the basepaths, it may be time to reassess. (Did I mention that SB totals in MLB dropped 25% between 2011 and 2015?)</p> <p>If you’re the kind of person who prefers boxplots instead, R’s got just the thing:</p> <pre><strong>boxplot(steamer$SB)</strong></pre> <p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-5437" src="http://www.techgraphs.com/wp-content/uploads/2016/02/box1.png" alt="Boxplot of SB projections" width="592" height="588" srcset="https://techgraphs.fangraphs.com/wp-content/uploads/sites/7/2016/02/box1.png 592w, https://techgraphs.fangraphs.com/wp-content/uploads/sites/7/2016/02/box1-150x150.png 150w, https://techgraphs.fangraphs.com/wp-content/uploads/sites/7/2016/02/box1-300x298.png 300w" sizes="auto, (max-width: 592px) 100vw, 592px" />This makes it as plain as possible that any player projected for more than about 15 SB is, quite literally, a statistical outlier.</p> <h3>20/20 Vision</h3> <p>The same idea goes for getting a grasp on multi-category players. Most of us are looking for players who can bring in both HR and SB, but how many of those are really available? Let’s do a quick 2D plot:</p> <pre><strong>plot(steamer$SB, steamer$HR)</strong></pre> <p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-5440" src="http://www.techgraphs.com/wp-content/uploads/2016/02/plot1.png" alt="Basic plot of HR vs. SB projections" width="592" height="588" srcset="https://techgraphs.fangraphs.com/wp-content/uploads/sites/7/2016/02/plot1.png 592w, https://techgraphs.fangraphs.com/wp-content/uploads/sites/7/2016/02/plot1-150x150.png 150w, https://techgraphs.fangraphs.com/wp-content/uploads/sites/7/2016/02/plot1-300x298.png 300w" sizes="auto, (max-width: 592px) 100vw, 592px" />This isn’t bad, but unfortunately it doesn’t give us a good sense of how many players fall into each category, since there’s only one dot for all of the 5 HR/3 SB players, one dot for all the 2 HR/4 SB players, etc. A quick workaround for this is the <em>jitter()</em> command, which moves the points around by tiny increments to get rid of some of the overlap:</p> <pre><strong>plot(jitter(steamer$SB), jitter(steamer$HR))</strong></pre> <p>And, for good measure, let’s add a grid on top:</p> <pre><strong>grid()</strong></pre> <p>Your plot should now look something like (but not <em>exactly</em> like) this:</p> <p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-5441" src="http://www.techgraphs.com/wp-content/uploads/2016/02/plot2.png" alt="Detailed plot of HR vs. SB projections" width="592" height="588" srcset="https://techgraphs.fangraphs.com/wp-content/uploads/sites/7/2016/02/plot2.png 592w, https://techgraphs.fangraphs.com/wp-content/uploads/sites/7/2016/02/plot2-150x150.png 150w, https://techgraphs.fangraphs.com/wp-content/uploads/sites/7/2016/02/plot2-300x298.png 300w" sizes="auto, (max-width: 592px) 100vw, 592px" /></p> <p>From the chart, we can see that it’s not impossible to find players projected for 30/10 or 10/30, but it looks like there’s only one 20/20 guy in Steamer’s projections:</p> <pre><strong>subset(steamer, (SB >= 20 & HR >= 20)) Name Team PA AB H X2B X3B HR R RBI BB SO HBP SB CS X.1 AVG OBP SLG OPS 40 Carlos Correa Astros 636 571 157 33 3 22 80 82 54 110 4 20 11 NA 0.275 0.339 0.458 0.797 </strong></pre> <p>Of course. As if being a 21-year-old SS with plus average wasn’t enough.</p> <h3>Fun With Subsets</h3> <p>Let’s close this out by doing a bit more with <em>subset() </em>— possibly one of R’s most useful tools for our purposes because it’s just so much quicker and more customizable than online tools or Excel.</p> <p>Say you want to find the prospective “five-category players”; you may have a sense of who some of the candidates are, but you might be surprised by what the numbers actually suggest. How many players, for example, are projected to do better than 10/80/80/10/.275?</p> <pre><strong>subset(steamer, (HR > 10 & SB > 10 & R > 80 & RBI > 80 & AVG > .275)) Name Team PA AB H X2B X3B HR R RBI BB SO HBP SB CS X.1 AVG OBP SLG OPS</strong> <strong>1 Mike Trout Angels 647 542 166 32 5 36 104 104 90 138 8 15 6 NA 0.307 0.410 0.585 0.995</strong> <strong>5 Paul Goldschmidt Diamondbacks 652 543 158 36 2 30 93 93 100 142 3 14 7 NA 0.290 0.401 0.531 0.931</strong> <strong>7 Andrew McCutchen Pirates 653 554 165 34 3 23 88 87 84 123 9 12 6 NA 0.297 0.395 0.496 0.891</strong> <strong>25 Manny Machado Orioles 663 597 170 35 2 27 91 87 53 99 4 14 8 NA 0.285 0.345 0.484 0.829</strong></pre> <p>Fewer than you may expect–which could well make them all the more valuable.</p> <h3>Conclusion</h3> <p>Projections, of course, are just projections, and you shouldn’t take one set — or even a combination of sets — to be a true predictor of what will happen this season. But if you typically look up projections player-by-player, or if you’re disinclined to take in a huge wall of stats at a single glance, looking at the broader trends in individual visualizations can help keep you on the right track as you prep for this fantasy season.</p> <p><a href="https://github.com/techgraphs/visualizeprojectionsR" target="_blank">Here</a>*, as always, is the code used for this post. If you have anything else you’d like to see us do with R as the new season comes near — or any suggestions with what <em>you’ve</em> used R for — let us know in the comments!</p> <h5>*download the ZIP and extract the R file.</h5> <script>var SERVER_DATA = Object.assign(SERVER_DATA || {});</script> </div> <br /> <!-- <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/"> <rdf:Description rdf:about="https://techgraphs.fangraphs.com/how-to-use-r-for-sports-stats-visualizing-projections/" dc:identifier="https://techgraphs.fangraphs.com/how-to-use-r-for-sports-stats-visualizing-projections/" dc:title="How To Use R For Sports Stats: Visualizing Projections" trackback:ping="https://techgraphs.fangraphs.com/how-to-use-r-for-sports-stats-visualizing-projections/trackback/" /> </rdf:RDF> --> </div> <div class="bnavigation"> <div class="alignleft"><a href="https://techgraphs.fangraphs.com/page/2/" >« Previous entries</a></div> <div class="alignright"><a href="https://techgraphs.fangraphs.com/page/2/" >Next Page »</a></div> </div> </div> <div id="root-side-bar" class="side-bar"></div> <script> window.FGWebsite_head_section.buildSideBar(); </script> </div> <!-- </div> --> <div id="footer"> <!-- </div> --> <form method="post" action="./extfooter.aspx?itype=1" id="form1"> <input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="/wEPDwULLTIwNDg1MDE0MTBkZCgTKNI5sehcMni7aZ38EDeTPFBw" /> <input type="hidden" name="__VIEWSTATEGENERATOR" id="__VIEWSTATEGENERATOR" value="D019FFD7" /> <div id="member_pops"></div> <div class="ra-wide box-ra ra-member-hide"> <div id="ezoic-pub-ad-placeholder-124" class="catchall728" style=''></div> </div> <br /> <div class="footer-bar"> <div class="footer-bar-item"> <span class="mobile-hide">Updated: Saturday, November 30, 2024 6:55 AM ET</span><span class="mobile-show">Updated: 11/30/2024 6:55 AM ET</span> </div> </div> <div class="footer-bar-item__links" style="text-align: center; margin: auto;"> <a href="https://twitter.com/fangraphs">@fangraphs</a> - <a href="https://blogs.fangraphs.com/contact/">Contact Us</a> - <a href="https://blogs.fangraphs.com/advertise/">Advertise</a> - <a href="https://www.fangraphs.com/about/terms-of-service">Terms of Service</a> - <a href="https://www.fangraphs.com/about/privacy-policy">Privacy Policy</a> </div> <div class="footer-credits"> <div class="footer-credits-item item-half-wide"> <a href="https://www.sportsinfosolutions.com/" class="footer-credits-item-name"> <img src="//www.fangraphs.com/images/sis_logo_100.png" alt="sis_logo" /></a> <div class="footer-credits-item-text"> All major league baseball data including pitch type, velocity, batted ball location, and play-by-play data provided by Sports Info Solutions. </div> </div> <div class="footer-credits-item item-half-wide"> <a href="http://www.mlb.com" class="footer-credits-item-name"> <img src="//www.fangraphs.com/images/mlb_logo.png" alt="mlb logo" /></a> <div class="footer-credits-item-text"> Major League and Minor League Baseball data provided by Major League Baseball. </div> </div> <div class="footer-credits-item"> <div class="footer-credits-item-name">Mitchel Lichtman</div> <div class="footer-credits-item-text">All UZR (ultimate zone rating) calculations are provided courtesy of Mitchel Lichtman.</div> </div> <div class="footer-credits-item"> <a href="http://www.tangotiger.com" class="footer-credits-item-name">TangoTiger.com</a> <div class="footer-credits-item-text">All Win Expectancy, Leverage Index, Run Expectancy, and Fans Scouting Report data licenced from TangoTiger.com</div> </div> <div class="footer-credits-item"> <a href="http://www.retrosheet.org" class="footer-credits-item-name">Retrosheet.org</a> <div class="footer-credits-item-text"> Play-by-play data prior to 2002 was obtained free of charge from and is copyrighted by Retrosheet. </div> </div> </div> <div id="footer-membership"> </div> <div class="ra-wide box-ra ra-member-hide"> <div id="ezoic-pub-ad-placeholder-113" class="catchall728" style=''></div> </div> <!-- Quantcast Tag --> <script type="text/javascript"> window._qevents = window._qevents || []; (function () { var elem = document.createElement('script'); elem.src = (document.location.protocol == "https:" ? "https://secure" : "http://edge") + ".quantserve.com/quant.js"; elem.async = true; elem.type = "text/javascript"; var scpt = document.getElementsByTagName('script')[0]; scpt.parentNode.insertBefore(elem, scpt); })(); window._qevents.push({ qacct: "p-8dBx9wgQFa1M6" }); </script> <noscript> <div style="display:none;"> <img src="//pixel.quantserve.com/pixel/p-8dBx9wgQFa1M6.gif" border="0" height="1" width="1" alt="Quantcast"/> </div> </noscript> <!-- End Quantcast tag --> <!-- Clicky Tag --> <script type="text/javascript"> var clicky_site_ids = clicky_site_ids || []; clicky_site_ids.push(100553825); (function () { var s = document.createElement('script'); s.type = 'text/javascript'; s.async = true; s.src = '//static.getclicky.com/js'; (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(s); })(); </script> <noscript> <p> <img alt="Clicky" width="1" height="1" src="//in.getclicky.com/100553825ns.gif" /> </p> </noscript> <script> FGWebsite_head_section.buildEzoicAds(); FGWebsite_head_section.buildEzoicAdsData(); </script> <script async src="https://www.googletagmanager.com/gtag/js?id=G-757YGY2LKP"></script> <script> fetch( "//plus.fangraphs.com/?fgapi_ajax", { credentials: "include" }).then(response => response.json()) .then(json => { userType = json.group; if (userType == '4') {userType = 'Member Ad Free';} else if (userType == '3') {userType = 'Member';} else if (!!window.ezstandalone == false && !!window.ayManagerEnv == false) { if (userType == '1') {userType = 'Registered Ad Block';} else {userType = 'Ad Block'} } else if (userType == '1') {userType = 'Registered';} else {userType = 'Visitor';} //Google Tags window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', 'G-757YGY2LKP'); gtag('set', 'user_properties', {'member_user': userType }); } ); </script> </form> </div> </body> </html>