\n\n","providerName":"Twitter","providerUrl":"https://twitter.com","thumbnail_url":null,"type":"oembed","width":550,"contentType":"rich"},{"__typename":"Markdown","content":"Ray’s changeup isn’t anything like Skubal’s -- it’s significantly slower with less break -- but the two southpaws have comparable arm angles, which fueled Ray's curiosity. In the offseason, Skubal showed Ray how to throw a changeup while still being on the outside of the ball, without altering his wrist/forearm orientation; he creates movement by catching a seam -- a phenomenon called seam-shifted wake.\n\n“It’s something that I’ve never really been able to do,” Ray said. “My fastball, I stay behind it so it gets ride through the zone. But if you have that with a changeup, it’s just going to be a flat changeup. For me, it’s almost like throwing it like a slider. And it’s going to have a different action than the slider. It’s going to kind of catch a seam and go away.\n\n“... The changeup, it’s helped out my fastball, too, because it’s a pitch that I have to get good extension with and get my hand out in front. They just kind of complement each other really well.”\n\nAnd it's allowed Ray, not long ago a question mark, to shine atop the Giants rotation as one of baseball’s best pitchers, once again.","type":"text"}],"relativeSiteUrl":"/news/robbie-ray-statcast-analysis-and-breakdown","contentType":"news","subHeadline":null,"summary":"Across the board, aces are reinventing themselves. Jacob deGrom lowered his arm slot. Paul Skenes added a new pitch to round out an arsenal that's straight out of a video game. Tarik Skubal honed a nastier four-seamer.\nThen there's 33-year-old Robbie Ray, whose evolution is more of a revival than","tagline({\"formatString\":\"none\"})":null,"tags":[{"__typename":"InternalTag","slug":"storytype-article","title":"Article","type":"article"},{"__typename":"PersonTag","slug":"playerid-592662","title":"Robbie Ray","person":{"__ref":"Person:592662"},"type":"player"},{"__typename":"TeamTag","slug":"teamid-137","type":"team","title":"San Francisco Giants","team":{"__ref":"Team:137"}},{"__typename":"TaxonomyTag","slug":"savant","title":"savant","type":"taxonomy"},{"__typename":"TaxonomyTag","slug":"player-tracking","title":"Statcast","type":"taxonomy"},{"__typename":"ContributorTag","slug":"jared-greenspan","title":"Jared Greenspan","type":"contributor"},{"__typename":"TaxonomyTag","slug":"apple-news","title":"Apple News","type":"taxonomy"}],"type":"story","thumbnail":"https://img.mlbstatic.com/mlb-images/image/upload/{formatInstructions}/mlb/mqwy14wolwtcitr1xnxx","title":"Robbie Ray Statcast analysis and breakdown"},"getTeamsBySportId({\"ids\":[1]})":[{"__ref":"Team:133"},{"__ref":"Team:134"},{"__ref":"Team:135"},{"__ref":"Team:136"},{"__ref":"Team:137"},{"__ref":"Team:138"},{"__ref":"Team:139"},{"__ref":"Team:140"},{"__ref":"Team:141"},{"__ref":"Team:142"},{"__ref":"Team:143"},{"__ref":"Team:144"},{"__ref":"Team:145"},{"__ref":"Team:146"},{"__ref":"Team:147"},{"__ref":"Team:158"},{"__ref":"Team:108"},{"__ref":"Team:109"},{"__ref":"Team:110"},{"__ref":"Team:111"},{"__ref":"Team:112"},{"__ref":"Team:113"},{"__ref":"Team:114"},{"__ref":"Team:115"},{"__ref":"Team:116"},{"__ref":"Team:117"},{"__ref":"Team:118"},{"__ref":"Team:119"},{"__ref":"Team:120"},{"__ref":"Team:121"}],"getHeaderFromForgePath({\"contentSource\":\"MLB\",\"headerPath\":\"/_navs/header/mlb/global-nav\",\"locale\":\"en-US\",\"paletteKey\":\"mlb-base-palette\",\"propertiesKey\":\"mlb-global-properties\"})":{"__typename":"Header","navigation":[{"__typename":"NavItem","customPropertiesString":"align:right;","icon":null,"linkTarget":null,"linkText":"MLB.TV","linkUrl":"https://www.mlb1.net/tv?&affiliateId=mlbMENUtv","placement":"right","visible":"true","subNav":[{"__typename":"SubnavColumn","title":null,"navigation":[{"__typename":"NavItem","placement":null,"linkText":"Buy MLB.TV","linkUrl":"/live-stream-games/subscribe?&affiliateId=mlbMENUtv","linkTarget":null,"visible":"true","icon":null,"tooltip":null,"customPropertiesString":null},{"__typename":"NavItem","placement":null,"linkText":"Buy At Bat","linkUrl":"/live-stream-games/subscribe/at-bat?&affiliateId=mlbMENUtv","linkTarget":null,"visible":null,"icon":null,"tooltip":null,"customPropertiesString":null},{"__typename":"NavItem","placement":null,"linkText":"All Packages","linkUrl":"/live-stream-games/products?&affiliateId=mlbMENUtv","linkTarget":null,"visible":null,"icon":null,"tooltip":null,"customPropertiesString":null},{"__typename":"NavItem","placement":null,"linkText":"Watch & Listen","linkUrl":"/live-stream-games?&affiliateID=mlbMENUtv","linkTarget":null,"visible":"true","icon":null,"tooltip":null,"customPropertiesString":null},{"__typename":"NavItem","placement":null,"linkText":"Help Center","linkUrl":"https://support.mlb.com/s/?&affiliateID=mlbMENUtv","linkTarget":null,"visible":"true","icon":null,"tooltip":null,"customPropertiesString":null}]}]},{"__typename":"NavItem","customPropertiesString":"align:right;","icon":null,"linkTarget":null,"linkText":"Tickets","linkUrl":"/tickets","placement":"right","visible":null,"subNav":[{"__typename":"SubnavColumn","title":null,"navigation":[{"__typename":"NavItem","placement":null,"linkText":"All-Star Tickets","linkUrl":"/all-star/tickets","linkTarget":null,"visible":"true","icon":null,"tooltip":null,"customPropertiesString":"expires:1752631200;"},{"__typename":"NavItem","placement":null,"linkText":"East-West Classic","linkUrl":"/events/rickwood/tickets","linkTarget":null,"visible":null,"icon":null,"tooltip":null,"customPropertiesString":"expires:1750359600;"},{"__typename":"NavItem","placement":null,"linkText":"Spring Training","linkUrl":"/tickets/spring-training","linkTarget":null,"visible":"true","icon":null,"tooltip":null,"customPropertiesString":"expires:1742958000;"},{"__typename":"NavItem","placement":null,"linkText":"Postseason Tickets","linkUrl":"/tickets/postseason","linkTarget":null,"visible":"false","icon":null,"tooltip":null,"customPropertiesString":null},{"__typename":"NavItem","placement":null,"linkText":"Buy on SeatGeek","linkUrl":"https://seatgeek.com/mlb-tickets?aid=15994&pid=integration&rid=1&utm_medium=partnership&utm_source=mlb_sponsorship&utm_campaign=integration","linkTarget":"_blank","visible":"true","icon":null,"tooltip":null,"customPropertiesString":null},{"__typename":"NavItem","placement":null,"linkText":"Sell on SeatGeek","linkUrl":"https://seatgeek.com/sell/mlb-tickets?aid=15994&pid=integration&rid=15&utm_medium=partnership&utm_source=mlb_sponsorship&utm_campaign=integration","linkTarget":"_blank","visible":null,"icon":null,"tooltip":null,"customPropertiesString":null},{"__typename":"NavItem","placement":null,"linkText":"Season Tickets","linkUrl":"/tickets/season-tickets","linkTarget":null,"visible":null,"icon":null,"tooltip":null,"customPropertiesString":null},{"__typename":"NavItem","placement":null,"linkText":"Single Game Tickets","linkUrl":"/schedule","linkTarget":null,"visible":null,"icon":null,"tooltip":null,"customPropertiesString":null},{"__typename":"NavItem","placement":null,"linkText":"Group Tickets","linkUrl":"/tickets/group-tickets","linkTarget":null,"visible":null,"icon":null,"tooltip":null,"customPropertiesString":null},{"__typename":"NavItem","placement":null,"linkText":"Special Ticket Offers","linkUrl":"/tickets/fan-value","linkTarget":null,"visible":null,"icon":null,"tooltip":null,"customPropertiesString":null},{"__typename":"NavItem","placement":null,"linkText":"MLB Speedway Classic","linkUrl":"/events/speedway-classic/tickets","linkTarget":null,"visible":null,"icon":null,"tooltip":null,"customPropertiesString":null},{"__typename":"NavItem","placement":null,"linkText":"VIP Ticket Packages","linkUrl":"/tickets/on-location-experiences","linkTarget":null,"visible":null,"icon":null,"tooltip":null,"customPropertiesString":null},{"__typename":"NavItem","placement":null,"linkText":"MLB Students","linkUrl":"/tickets/students","linkTarget":null,"visible":"true","icon":null,"tooltip":null,"customPropertiesString":null},{"__typename":"NavItem","placement":null,"linkText":"MLB Tourism","linkUrl":"/tourism","linkTarget":null,"visible":null,"icon":null,"tooltip":null,"customPropertiesString":null},{"__typename":"NavItem","placement":null,"linkText":"MLB World Tour","linkUrl":"/international/events","linkTarget":null,"visible":"false","icon":null,"tooltip":null,"customPropertiesString":null},{"__typename":"NavItem","placement":null,"linkText":"Ticket Terms & Conditions","linkUrl":"/tickets/terms-and-conditions","linkTarget":null,"visible":null,"icon":null,"tooltip":null,"customPropertiesString":null}]}]},{"__typename":"NavItem","customPropertiesString":"align:right;","icon":"shopping-cart","linkTarget":null,"linkText":"Shop","linkUrl":"https://www.mlbshop.com/?_s=bm-mlbcom-hp","placement":"right","visible":null,"subNav":[{"__typename":"SubnavColumn","title":null,"navigation":[{"__typename":"NavItem","placement":null,"linkText":"MLB Online Shop","linkUrl":"https://www.mlbshop.com/?_s=bm-mlbcom-hp","linkTarget":null,"visible":null,"icon":null,"tooltip":null,"customPropertiesString":""},{"__typename":"NavItem","placement":null,"linkText":"Auction","linkUrl":"https://auctions.mlb.com/iSynApp/showHomePage.action?sid=1101001&isynsharedsession=9mislq-18JnZhOEp-FeGzvUB3G6zxwkeKqwX99MKAttEdaSACl02r4aCDzYhNvUm","linkTarget":null,"visible":"true","icon":null,"tooltip":null,"customPropertiesString":null},{"__typename":"NavItem","placement":null,"linkText":"Gift Cards","linkUrl":"https://www.mlbshop.com/gift-cards/x-462351+z-94899005-3509039474?_s=bm-mlbcom-Home","linkTarget":null,"visible":null,"icon":null,"tooltip":null,"customPropertiesString":""},{"__typename":"NavItem","placement":null,"linkText":"MLB NYC Flagship Store","linkUrl":"/shop/nyc-retail-store","linkTarget":null,"visible":null,"icon":null,"tooltip":null,"customPropertiesString":null},{"__typename":"NavItem","placement":null,"linkText":"European Shop","linkUrl":"http://www.mlbshopeurope.com/stores/mlb/en?portal=MLTS66FS&CMP=PSC-MLTS66FS","linkTarget":null,"visible":null,"icon":null,"tooltip":null,"customPropertiesString":""},{"__typename":"NavItem","placement":null,"linkText":"Photo Store","linkUrl":"https://photostore.mlb.com/","linkTarget":null,"visible":"false","icon":null,"tooltip":null,"customPropertiesString":null}]}]},{"__typename":"NavItem","customPropertiesString":"amp:true;mobile:true","icon":null,"linkTarget":null,"linkText":"News","linkUrl":"/news","placement":"mobile","visible":null,"subNav":[{"__typename":"SubnavColumn","title":null,"navigation":[{"__typename":"NavItem","placement":null,"linkText":"Probable Pitchers","linkUrl":"/probable-pitchers/","linkTarget":null,"visible":"true","icon":null,"tooltip":null,"customPropertiesString":null},{"__typename":"NavItem","placement":null,"linkText":"Starting Lineups","linkUrl":"/starting-lineups","linkTarget":null,"visible":null,"icon":null,"tooltip":null,"customPropertiesString":null},{"__typename":"NavItem","placement":null,"linkText":"Transactions","linkUrl":"https://www.mlb1.net/transactions","linkTarget":null,"visible":null,"icon":null,"tooltip":null,"customPropertiesString":null},{"__typename":"NavItem","placement":null,"linkText":"Injury Report","linkUrl":"/injury-report","linkTarget":null,"visible":"true","icon":null,"tooltip":null,"customPropertiesString":null},{"__typename":"NavItem","placement":null,"linkText":"World Baseball Classic","linkUrl":"/world-baseball-classic","linkTarget":null,"visible":null,"icon":null,"tooltip":null,"customPropertiesString":null},{"__typename":"NavItem","placement":null,"linkText":"MLB Draft","linkUrl":"/draft/2025","linkTarget":null,"visible":"true","icon":null,"tooltip":null,"customPropertiesString":null},{"__typename":"NavItem","placement":null,"linkText":"All-Star Game","linkUrl":"/all-star/","linkTarget":null,"visible":"true","icon":null,"tooltip":null,"customPropertiesString":null},{"__typename":"NavItem","placement":null,"linkText":"MLB Life","linkUrl":"/fans/mlb-life","linkTarget":null,"visible":null,"icon":null,"tooltip":null,"customPropertiesString":null},{"__typename":"NavItem","placement":null,"linkText":"MLB Pipeline","linkUrl":"https://www.mlb1.net/pipeline","linkTarget":null,"visible":null,"icon":null,"tooltip":null,"customPropertiesString":null},{"__typename":"NavItem","placement":null,"linkText":"Postseason History","linkUrl":"/postseason/history","linkTarget":null,"visible":null,"icon":null,"tooltip":null,"customPropertiesString":null},{"__typename":"NavItem","placement":null,"linkText":"Great Stories","linkUrl":"/news/topic/longform","linkTarget":null,"visible":"false","icon":null,"tooltip":null,"customPropertiesString":null},{"__typename":"NavItem","placement":null,"linkText":"Podcasts","linkUrl":"/fans/podcasts","linkTarget":null,"visible":null,"icon":null,"tooltip":null,"customPropertiesString":null},{"__typename":"NavItem","placement":null,"linkText":"Free-to-play Games","linkUrl":"https://www.mlb1.net/play","linkTarget":null,"visible":null,"icon":null,"tooltip":null,"customPropertiesString":null}]}]},{"__typename":"NavItem","customPropertiesString":null,"icon":null,"linkTarget":null,"linkText":"Watch","linkUrl":"/tv?&affiliateId=mlbMENU","placement":null,"visible":null,"subNav":[{"__typename":"SubnavColumn","title":"Video","navigation":[{"__typename":"NavItem","placement":null,"linkText":"Search","linkUrl":"/video","linkTarget":null,"visible":null,"icon":null,"tooltip":null,"customPropertiesString":null},{"__typename":"NavItem","placement":null,"linkText":"Statcast","linkUrl":"/video/topic/statcast","linkTarget":null,"visible":null,"icon":null,"tooltip":null,"customPropertiesString":null},{"__typename":"NavItem","placement":null,"linkText":"MLB Network","linkUrl":"/network","linkTarget":null,"visible":null,"icon":null,"tooltip":null,"customPropertiesString":null}]},{"__typename":"SubnavColumn","title":"MLB.TV","navigation":[{"__typename":"NavItem","placement":null,"linkText":"Buy MLB.TV","linkUrl":"/live-stream-games/subscribe?&affiliateId=mlbMENU","linkTarget":null,"visible":"true","icon":null,"tooltip":null,"customPropertiesString":null},{"__typename":"NavItem","placement":null,"linkText":"Watch & Listen","linkUrl":"/live-stream-games?&affiliateID=mlbMENU","linkTarget":null,"visible":"true","icon":null,"tooltip":null,"customPropertiesString":null},{"__typename":"NavItem","placement":null,"linkText":"Help Center","linkUrl":"https://support.mlb.com/s/?&affiliateID=mlbMENU","linkTarget":null,"visible":null,"icon":null,"tooltip":null,"customPropertiesString":null}]}]},{"__typename":"NavItem","customPropertiesString":"mobile:true;amp:true;","icon":null,"linkTarget":null,"linkText":"Scores","linkUrl":"/scores/","placement":"mobile","visible":"true","subNav":[{"__typename":"SubnavColumn","title":null,"navigation":[]}]},{"__typename":"NavItem","customPropertiesString":"amp:true;mobile:true;","icon":null,"linkTarget":null,"linkText":"Schedule","linkUrl":"/schedule/","placement":"mobile","visible":null,"subNav":[{"__typename":"SubnavColumn","title":null,"navigation":[{"__typename":"NavItem","placement":null,"linkText":"2025 Regular Season","linkUrl":"/schedule","linkTarget":null,"visible":"true","icon":null,"tooltip":null,"customPropertiesString":null},{"__typename":"NavItem","placement":null,"linkText":"2025 Spring Training","linkUrl":"/schedule/2025-02-20","linkTarget":null,"visible":"true","icon":null,"tooltip":null,"customPropertiesString":null},{"__typename":"NavItem","placement":null,"linkText":"2024 Regular Season","linkUrl":"/schedule/2024-03-20","linkTarget":null,"visible":null,"icon":null,"tooltip":null,"customPropertiesString":null},{"__typename":"NavItem","placement":null,"linkText":"2024 Postseason","linkUrl":"/postseason","linkTarget":null,"visible":null,"icon":null,"tooltip":null,"customPropertiesString":null},{"__typename":"NavItem","placement":null,"linkText":"MLB Events","linkUrl":"/events","linkTarget":null,"visible":null,"icon":null,"tooltip":null,"customPropertiesString":null},{"__typename":"NavItem","placement":null,"linkText":"Team by Team Schedule","linkUrl":"/schedule/team-by-team","linkTarget":null,"visible":null,"icon":null,"tooltip":null,"customPropertiesString":null},{"__typename":"NavItem","placement":null,"linkText":"Sync Schedules","linkUrl":"https://mlb.ecal.com/","linkTarget":"_blank","visible":null,"icon":null,"tooltip":null,"customPropertiesString":null},{"__typename":"NavItem","placement":null,"linkText":"National Broadcasts","linkUrl":"/live-stream-games/national-broadcast-schedule","linkTarget":null,"visible":"false","icon":null,"tooltip":null,"customPropertiesString":null}]}]},{"__typename":"NavItem","customPropertiesString":"mobile:true;amp:true;","icon":null,"linkTarget":null,"linkText":"Stats","linkUrl":"/stats","placement":"mobile","visible":null,"subNav":[{"__typename":"SubnavColumn","title":null,"navigation":[{"__typename":"NavItem","placement":null,"linkText":"Statcast Leaders","linkUrl":"https://baseballsavant.mlb.com/statcast_leaderboard","linkTarget":null,"visible":null,"icon":null,"tooltip":null,"customPropertiesString":null},{"__typename":"NavItem","placement":null,"linkText":"MLB Statcast","linkUrl":"/statcast","linkTarget":"","visible":null,"icon":null,"tooltip":null,"customPropertiesString":null},{"__typename":"NavItem","placement":null,"linkText":"Baseball Savant","linkUrl":"https://baseballsavant.mlb.com/","linkTarget":null,"visible":null,"icon":null,"tooltip":null,"customPropertiesString":null},{"__typename":"NavItem","placement":null,"linkText":"Top Prospect Stats","linkUrl":"/prospects/stats/top-prospects?type=all&minPA=1","linkTarget":null,"visible":null,"icon":null,"tooltip":null,"customPropertiesString":null},{"__typename":"NavItem","placement":null,"linkText":"Winter Leagues Stats","linkUrl":null,"linkTarget":"https://www.mlb1.net/ligas-invernales/stats/","visible":"false","icon":null,"tooltip":null,"customPropertiesString":null}]}]},{"__typename":"NavItem","customPropertiesString":"amp:true;","icon":null,"linkTarget":null,"linkText":"Standings","linkUrl":"/standings","placement":null,"visible":null,"subNav":[{"__typename":"SubnavColumn","title":null,"navigation":[]}]},{"__typename":"NavItem","customPropertiesString":"","icon":"group","linkTarget":null,"linkText":"Players","linkUrl":"/players","placement":null,"visible":"true","subNav":[{"__typename":"SubnavColumn","title":null,"navigation":[{"__typename":"NavItem","placement":null,"linkText":"Prospect Rankings","linkUrl":"/prospects","linkTarget":null,"visible":null,"icon":null,"tooltip":null,"customPropertiesString":null},{"__typename":"NavItem","placement":null,"linkText":"Depth Charts","linkUrl":"/team/roster/depth-chart","linkTarget":null,"visible":null,"icon":null,"tooltip":null,"customPropertiesString":null},{"__typename":"NavItem","placement":null,"linkText":"MLB Players Association","linkUrl":"https://www.mlbplayers.com","linkTarget":null,"visible":null,"icon":null,"tooltip":null,"customPropertiesString":null},{"__typename":"NavItem","placement":null,"linkText":"Negro Leagues","linkUrl":"/history/negro-leagues","linkTarget":null,"visible":null,"icon":null,"tooltip":null,"customPropertiesString":null}]}]},{"__typename":"NavItem","customPropertiesString":null,"icon":null,"linkTarget":null,"linkText":"MLB Play","linkUrl":"/play","placement":null,"visible":null,"subNav":[{"__typename":"SubnavColumn","title":null,"navigation":[{"__typename":"NavItem","placement":null,"linkText":"Beat the Streak","linkUrl":"/play?gameId=BeatTheStreak2022","linkTarget":null,"visible":null,"icon":null,"tooltip":null,"customPropertiesString":null},{"__typename":"NavItem","placement":null,"linkText":"Immaculate Grid","linkUrl":"/play?gameId=ImmaculateGrid2024","linkTarget":null,"visible":null,"icon":null,"tooltip":null,"customPropertiesString":null},{"__typename":"NavItem","placement":null,"linkText":"Trivia","linkUrl":"/play?gameId=SporcleTrivia2024","linkTarget":null,"visible":null,"icon":null,"tooltip":null,"customPropertiesString":null},{"__typename":"NavItem","placement":null,"linkText":"Spinball","linkUrl":"https://www.mlb1.net/apps/spinball/game","linkTarget":null,"visible":null,"icon":null,"tooltip":null,"customPropertiesString":null},{"__typename":"NavItem","placement":null,"linkText":"Pickle","linkUrl":"/play?gameId=Pickle2023","linkTarget":null,"visible":null,"icon":null,"tooltip":null,"customPropertiesString":null},{"__typename":"NavItem","placement":null,"linkText":"By the Numbers","linkUrl":"/play?gameId=ByTheNumbers2022","linkTarget":null,"visible":null,"icon":null,"tooltip":null,"customPropertiesString":null},{"__typename":"NavItem","placement":null,"linkText":"Diamond Decisions","linkUrl":"/play?gameId=DiamondDecisions2024","linkTarget":null,"visible":null,"icon":null,"tooltip":null,"customPropertiesString":null},{"__typename":"NavItem","placement":null,"linkText":"Bingo","linkUrl":"/play?gameId=Bingo2023","linkTarget":null,"visible":null,"icon":null,"tooltip":null,"customPropertiesString":null}]}]},{"__typename":"NavItem","customPropertiesString":null,"icon":null,"linkTarget":null,"linkText":"Youth","linkUrl":"/youth-baseball-softball","placement":null,"visible":null,"subNav":[{"__typename":"SubnavColumn","title":null,"navigation":[{"__typename":"NavItem","placement":null,"linkText":"Play Ball","linkUrl":"/play-ball","linkTarget":null,"visible":null,"icon":null,"tooltip":null,"customPropertiesString":null},{"__typename":"NavItem","placement":null,"linkText":"Youth Baseball & Softball","linkUrl":"/youth-baseball-softball","linkTarget":null,"visible":null,"icon":null,"tooltip":null,"customPropertiesString":null}]}]},{"__typename":"NavItem","customPropertiesString":null,"icon":"milb","linkTarget":null,"linkText":"MiLB","linkUrl":"/milb","placement":null,"visible":null,"subNav":[{"__typename":"SubnavColumn","title":null,"navigation":[]}]},{"__typename":"NavItem","customPropertiesString":"expires:1720022400;","icon":null,"linkTarget":null,"linkText":"Vote","linkUrl":"/all-star/ballot?affiliateId=asb-topnav-mlb-2024","placement":null,"visible":null,"subNav":[{"__typename":"SubnavColumn","title":null,"navigation":[]}]},{"__typename":"NavItem","customPropertiesString":"amp:true;module:teammodule;align:right;","icon":null,"linkTarget":null,"linkText":"Teams","linkUrl":"/team","placement":"right","visible":null,"subNav":[{"__typename":"SubnavColumn","title":null,"navigation":[{"__typename":"NavItem","placement":null,"linkText":"Team Module","linkUrl":null,"linkTarget":null,"visible":null,"icon":null,"tooltip":null,"customPropertiesString":"module:teammodule;"}]}]},{"__typename":"NavItem","customPropertiesString":"align:right;label:Language","icon":null,"linkTarget":null,"linkText":"Lang","linkUrl":"/language","placement":"right","visible":null,"subNav":[{"__typename":"SubnavColumn","title":null,"navigation":[{"__typename":"NavItem","placement":null,"linkText":"Español","linkUrl":"/es","linkTarget":null,"visible":null,"icon":null,"tooltip":null,"customPropertiesString":"lang:es"},{"__typename":"NavItem","placement":null,"linkText":"日本語","linkUrl":"http://www.mlb.jp/","linkTarget":null,"visible":"true","icon":null,"tooltip":null,"customPropertiesString":"lang:ja"},{"__typename":"NavItem","placement":null,"linkText":"한국어","linkUrl":"https://www.mlbkor.com/","linkTarget":null,"visible":"true","icon":null,"tooltip":null,"customPropertiesString":"lang:ko"}]}]}],"cfPalette":{"__typename":"CF_Palette","headerMastheadBackgroundColor":"#002D72","headerMastheadTextColor":"#ffffff","headerNavigationBackgroundColor":"#041E42","headerNavigationBorderColor":"#057AFF","headerNavigationTextColorHover":"#ffffff","headerNavigationTextColor":"#ffffff"},"cfEntityWebProperties":{"__typename":"CF_Entity_WebProperties","urlLogo":null,"headerMastheadTagline":null,"headerPrimaryLogo":{"__typename":"CF_Asset","url":null,"description":null},"headerMastheadSponsorImage":{"__typename":"CF_Asset","url":null,"description":null},"headerMastheadTaglineContainerWidth":"512px","headerMastheadTaglineContainerHeight":"56px"}}},"Team:137":{"__typename":"Team","id":137,"sport":{"__ref":"Sport:1"},"teamName":"Giants","division":{"__ref":"Division:203"},"name":"San Francisco Giants","shortName":"San Francisco"},"Person:592662":{"__typename":"Person","id":592662,"initLastName":"R Ray","team":{"__typename":"Team","sport":{"__ref":"Sport:1"}}},"Sport:1":{"__typename":"Sport","id":"1"},"Division:200":{"__typename":"Division","id":"200"},"Team:133":{"__typename":"Team","division":{"__ref":"Division:200"},"id":133,"name":"Athletics","shortName":"Athletics","teamName":"Athletics"},"Division:205":{"__typename":"Division","id":"205"},"Team:134":{"__typename":"Team","division":{"__ref":"Division:205"},"id":134,"name":"Pittsburgh Pirates","shortName":"Pittsburgh","teamName":"Pirates"},"Division:203":{"__typename":"Division","id":"203"},"Team:135":{"__typename":"Team","division":{"__ref":"Division:203"},"id":135,"name":"San Diego Padres","shortName":"San Diego","teamName":"Padres"},"Team:136":{"__typename":"Team","division":{"__ref":"Division:200"},"id":136,"name":"Seattle Mariners","shortName":"Seattle","teamName":"Mariners"},"Team:138":{"__typename":"Team","division":{"__ref":"Division:205"},"id":138,"name":"St. Louis Cardinals","shortName":"St. Louis","teamName":"Cardinals"},"Division:201":{"__typename":"Division","id":"201"},"Team:139":{"__typename":"Team","division":{"__ref":"Division:201"},"id":139,"name":"Tampa Bay Rays","shortName":"Tampa Bay","teamName":"Rays"},"Team:140":{"__typename":"Team","division":{"__ref":"Division:200"},"id":140,"name":"Texas Rangers","shortName":"Texas","teamName":"Rangers"},"Team:141":{"__typename":"Team","division":{"__ref":"Division:201"},"id":141,"name":"Toronto Blue Jays","shortName":"Toronto","teamName":"Blue Jays"},"Division:202":{"__typename":"Division","id":"202"},"Team:142":{"__typename":"Team","division":{"__ref":"Division:202"},"id":142,"name":"Minnesota Twins","shortName":"Minnesota","teamName":"Twins"},"Division:204":{"__typename":"Division","id":"204"},"Team:143":{"__typename":"Team","division":{"__ref":"Division:204"},"id":143,"name":"Philadelphia Phillies","shortName":"Philadelphia","teamName":"Phillies"},"Team:144":{"__typename":"Team","division":{"__ref":"Division:204"},"id":144,"name":"Atlanta Braves","shortName":"Atlanta","teamName":"Braves"},"Team:145":{"__typename":"Team","division":{"__ref":"Division:202"},"id":145,"name":"Chicago White Sox","shortName":"Chi White Sox","teamName":"White Sox"},"Team:146":{"__typename":"Team","division":{"__ref":"Division:204"},"id":146,"name":"Miami Marlins","shortName":"Miami","teamName":"Marlins"},"Team:147":{"__typename":"Team","division":{"__ref":"Division:201"},"id":147,"name":"New York Yankees","shortName":"NY Yankees","teamName":"Yankees"},"Team:158":{"__typename":"Team","division":{"__ref":"Division:205"},"id":158,"name":"Milwaukee Brewers","shortName":"Milwaukee","teamName":"Brewers"},"Team:108":{"__typename":"Team","division":{"__ref":"Division:200"},"id":108,"name":"Los Angeles Angels","shortName":"LA Angels","teamName":"Angels"},"Team:109":{"__typename":"Team","division":{"__ref":"Division:203"},"id":109,"name":"Arizona Diamondbacks","shortName":"Arizona","teamName":"D-backs"},"Team:110":{"__typename":"Team","division":{"__ref":"Division:201"},"id":110,"name":"Baltimore Orioles","shortName":"Baltimore","teamName":"Orioles"},"Team:111":{"__typename":"Team","division":{"__ref":"Division:201"},"id":111,"name":"Boston Red Sox","shortName":"Boston","teamName":"Red Sox"},"Team:112":{"__typename":"Team","division":{"__ref":"Division:205"},"id":112,"name":"Chicago Cubs","shortName":"Chi Cubs","teamName":"Cubs"},"Team:113":{"__typename":"Team","division":{"__ref":"Division:205"},"id":113,"name":"Cincinnati Reds","shortName":"Cincinnati","teamName":"Reds"},"Team:114":{"__typename":"Team","division":{"__ref":"Division:202"},"id":114,"name":"Cleveland Guardians","shortName":"Cleveland","teamName":"Guardians"},"Team:115":{"__typename":"Team","division":{"__ref":"Division:203"},"id":115,"name":"Colorado Rockies","shortName":"Colorado","teamName":"Rockies"},"Team:116":{"__typename":"Team","division":{"__ref":"Division:202"},"id":116,"name":"Detroit Tigers","shortName":"Detroit","teamName":"Tigers"},"Team:117":{"__typename":"Team","division":{"__ref":"Division:200"},"id":117,"name":"Houston Astros","shortName":"Houston","teamName":"Astros"},"Team:118":{"__typename":"Team","division":{"__ref":"Division:202"},"id":118,"name":"Kansas City Royals","shortName":"Kansas City","teamName":"Royals"},"Team:119":{"__typename":"Team","division":{"__ref":"Division:203"},"id":119,"name":"Los Angeles Dodgers","shortName":"LA Dodgers","teamName":"Dodgers"},"Team:120":{"__typename":"Team","division":{"__ref":"Division:204"},"id":120,"name":"Washington Nationals","shortName":"Washington","teamName":"Nationals"},"Team:121":{"__typename":"Team","division":{"__ref":"Division:204"},"id":121,"name":"New York Mets","shortName":"NY Mets","teamName":"Mets"}}}
window.adobeAnalytics = {"reportingSuiteId":"mlbglobal08,mlbcom08","linkInternalFilters":"mlb"}
window.globalState = {"tracking_title":"Major League Baseball","lang":"en"}
window.appId = ''
/*-->*/
The Giants are contenders -- and this Cy winner's comeback is a big reason why
Then there's 33-year-old Robbie Ray, whose evolution is more of a revival than a reinvention, four years removed from winning the AL Cy Young Award in 2021 with the Blue Jays. Tommy John surgery limited Ray to just eight starts over the past two seasons, and the Mariners flipped him to the Giants last January in a quasi-salary dump. His career seemed at a crossroads.
Instead, something funny happened: Ray showed up to Spring Training fully healthy, dominated, and hasn't slowed down since. The veteran left-hander carries a 2.43 ERA into Thursday's start against the Padres. San Francisco -- surprise contenders in the vaunted NL West -- is 10-2 in Ray's 12 starts.
“I’m feeling really good,” Ray said on May 25, after pitching six innings of one-run ball against the Nationals. “... I’m just looking to keep it rolling.”
So far, so good: Ray tossed seven innings of one-run ball with nine strikeouts in his last start against the Marlins on May 31. In May, he pitched to a 1.38 ERA across six starts -- winning NL Pitcher of the Month honors in the process. Let's take a closer look at what's driving Ray's resurgence.
All stats below are through Monday.
A fastball that 'jumps' on hitters
Ray has long been a fastball-dominant pitcher, and this year is no exception: He's throwing his four-seamer 50.7% of the time, the fourth-highest rate among left-handed starters (min. 250 pitches thrown).
Velocity isn't the key here -- Ray's four-seamer clocks in at 93.6 mph, on average, which rates in the 39th percentile. What matters is that Ray's four-seamer averages 18.9 inches of induced vertical break, 2.9 in. more than the average left-handed pitcher. Thanks to an over-the-top arm angle (46 degrees), Ray generates sufficient backspin so that the baseball drops less on its way to the plate, minimizing the effects of gravity. That creates an illusion of rise for the hitter, who anticipates the pitch to drop more than it actually does.
That explains why Ray's four-seamer is overpowering, even when the radar gun may indicate otherwise.
Lowest xBA allowed on 4-seamers, SP, 2025 Min. 200 4-seamers thrown
1. Charlie Morton (BAL): .119 2. Hunter Brown (HOU): .150 3. Zack Wheeler (PHI): .167 4-T. Joe Ryan (MIN): .184 4-T. Andrew Abbott (CIN): .184 6. Robbie Ray (SF): .191
“It’s just hard for the hitter to kind of figure out where that top is,” Giants manager Bob Melvin said of Ray’s fastball. “On certain days, the vert is a little better than others, and it just kind of jumps on you. It looks good and then you start your swing and you just can’t get to it.”
When Melvin says that hitters “can’t get to it,” he’s also talking about location, which works in conversation with the idea of a rising fastball. Ray peppers the pitch up in the zone, which is where four-seamers with plus carry play best.
Of regular left-handed starters, only Shota Imanaga, Cole Ragans, and MacKenzie Gore -- three hurlers known for good fastballs -- are throwing more four-seamers in the middle of the zone or higher so far in 2025. Ray is elevating his four-seamer 53.7% of the time, creating an increasingly uncomfortable at-bat for the hitter.
Ray hasn’t always looked like this, but he’s adapted over time. He arrived in the Majors in 2014 with a slow four-seamer (91.8 mph) that he kept down in the zone; from 2015-17 with the D-backs, he elevated the pitch at a 37.3% clip. His four-seamer complemented a hard sinker, which he reintroduced into his arsenal in ‘22. Since then, he’s scrapped the pitch, placing the onus back on his four-seamer. Each decision is calculated.
“When I started throwing the four-seamer more, the velo started to creep up,” Ray told MLB.com Giants beat reporter Maria Guardado. “As I started doing that, I found that I was able to pitch more up in the zone. … I kind of lost my feel for my four-seam at the top of the zone when I was throwing [a two-seamer] more often. That’s obviously a pitch that’s been really good for me, so I just didn’t want to lose that.”
A two-strike weapon
There's more to Ray's fastball than its physical characteristics. Take this from Giants catcher Sam Huff:
“I think he just attacks,” Huff said. “Some guys are afraid to get in there and they want to spin. But he establishes the fastball and lets everyone know he’s going to throw it. He doesn’t care if you’re going to hit it or not. He’s going to keep throwing it.”
Huff is right: Ray excels at establishing his fastball. It's a lesson that was preached to Ray coming up through the Minors. But the way he goes about it is slightly unconventional.
Last month, Ben Clemens of Fangraphs pointed out that Ray pitches backwards, saving his four-seamer for later in the at-bat -- especially as a putaway pitch. Only three qualified starting pitchers throw a greater percentage of two-strike fastballs than Ray. With two strikes, he's throwing his four-seamer 53.6% of the time, his highest single-season usage rate in these scenarios since 2017.
Below, we can see Ray's pitch usage on a per-count basis for each of his last two healthy seasons, 2022 and 2025. In '22, Ray leaned heavily on his slider (yellow) in two-strike offerings; this season, he's changed his attack plan. You'll see more red (four-seamer) in two-strike counts on the image on the right than the left.
The new strategy is working. Ray has racked up 44 strikeouts on his four-seamer so far this season while running a PutAway% of 24.7%; both metrics rank among the game's best.
Most strikeouts on 4-seam fastballs, 2025
1. Joe Ryan (MIN): 53 2. Robbie Ray (SF): 44 3. Hunter Brown (HOU): 41 4. Nick Pivetta (SD): 39 5. Zack Wheeler (PHI): 38
Highest PutAway%, SP, 2025 Min. 100 4-seamers thrown with two strikes
1. Nick Pivetta (SD): 28.5% 2. Kris Bubic (KC): 27.9% 3. Tylor Megill (NYM): 27.8% 4. Hunter Brown (HOU): 27.0% 5. Zack Wheeler (PHI): 26.4% 6. Will Warren (NYY): 25.7% 7. Robbie Ray (SF): 24.7%
Changing it up
For much of his career, Ray operated with a limited arsenal. In some facets, he still does -- against left-handed batters, for instance, he deploys his four-seamer/slider combo 98% of the time. But against right-handers, Ray is more versatile, throwing his four-seamer/slider combo at its lowest single-season rate since 2019.
In ‘22, Ray was a three-pitch pitcher, forced to expose his fastball early in counts -- especially since his slider functioned as his primary putaway pitch. That’s not the case anymore. Ray has worked a knuckle curve and a changeup back into his arsenal, two pitches that he’s used in spurts throughout his career.
The big development here is the changeup, brandished over the offseason with help from Skubal, who wields one of baseball's best changeups. In his last start on Saturday against the Marlins, Ray threw 32 changeups -- his highest single-start total since his rookie season in 2014. Miami hitters went 0-for-9 with five strikeouts against the pitch.
Ray’s changeup isn’t anything like Skubal’s -- it’s significantly slower with less break -- but the two southpaws have comparable arm angles, which fueled Ray's curiosity. In the offseason, Skubal showed Ray how to throw a changeup while still being on the outside of the ball, without altering his wrist/forearm orientation; he creates movement by catching a seam -- a phenomenon called seam-shifted wake.
“It’s something that I’ve never really been able to do,” Ray said. “My fastball, I stay behind it so it gets ride through the zone. But if you have that with a changeup, it’s just going to be a flat changeup. For me, it’s almost like throwing it like a slider. And it’s going to have a different action than the slider. It’s going to kind of catch a seam and go away.
“... The changeup, it’s helped out my fastball, too, because it’s a pitch that I have to get good extension with and get my hand out in front. They just kind of complement each other really well.”
And it's allowed Ray, not long ago a question mark, to shine atop the Giants rotation as one of baseball’s best pitchers, once again.