Analyzing how valuable Linus Ullmark has been to the Senators

Long-suffering Ottawa Senators fans are rejoicing after the team clinched its first playoff berth in eight years. How much did Linus Ullmark have to do with it? Adam Vingan breaks it down.

Apr 11, 2025 - 20:55
 0
Analyzing how valuable Linus Ullmark has been to the Senators

Long-suffering Ottawa Senators fans are rejoicing after the team clinched its first playoff berth in eight years, ending the third-longest drought in the NHL.  

There are many reasons the Senators finally broke through after a near-decade of failed promise. Perhaps the simplest one is Linus Ullmark.  

The Senators had been wandering through the goaltending wasteland before acquiring Ullmark from the Boston Bruins last summer. His traditional numbers this season (2.68 goals-against average and .911 save percentage) are modest, but compared to those posted by his predecessors, they are a vast improvement.   

The 12 goaltenders who played games for the Senators between longtime starter Craig Anderson’s final season with the club (2019-20) and Ullmark’s first season recorded a collective 3.18 GAA and .902 save percentage.  

/* if ( "1" == true && 'undefined' !== typeof window.getIndexAds ) { var so = {preroll:{1:{1:{siteID:191888},2:{siteID:191889}}}}; adServerUrl = window.getIndexAds( 'http://pubads.g.doubleclick.net/gampad/ads?sz=640x360&cust_params=domain%3Dsportsnet.ca&iu=%2F7326%2Fen.sportsnet.web%2FVideo&ciu_szs=300x250&impl=s&gdfp_req=1&env=vp&output=vast&unviewed_position_start=1&ad_rule=1&vid=6370001791112&cmsid=384', so, permalink); } else { adServerUrl = "http://pubads.g.doubleclick.net/gampad/ads?sz=640x360&cust_params=domain%3Dsportsnet.ca&iu=%2F7326%2Fen.sportsnet.web%2FVideo&ciu_szs=300x250&impl=s&gdfp_req=1&env=vp&output=vast&unviewed_position_start=1&ad_rule=1&vid=6370001791112&cmsid=384"; } */ adServerUrl = "http://pubads.g.doubleclick.net/gampad/ads?sz=640x360&cust_params=domain%3Dsportsnet.ca&iu=%2F7326%2Fen.sportsnet.web%2FVideo&ciu_szs=300x250&impl=s&gdfp_req=1&env=vp&output=vast&unviewed_position_start=1&ad_rule=1&vid=6370001791112&cmsid=384"; var adServerUrl_result = adServerUrl.includes("cust_params"); var queryString=''; if(adServerUrl_result){ var gettheDUFI = false; if (localStorage.getItem("consent") !== null && localStorage.getItem("consent-targeting") !== null) gettheDUFI = localStorage.getItem("theRED_loc");

if(gettheDUFI){ queryString += "dufiid=" + gettheDUFI + '&'; queryString += "ppid=" + gettheDUFI + '&'; var ppid = "ppid=" + gettheDUFI + '&'; }

var DUFI_IP = false; if (localStorage.getItem("consent") !== null && localStorage.getItem("consent-targeting") !== null) DUFI_IP = sessionStorage.getItem("DUFI_IP");

if(DUFI_IP){ queryString += "dufiip=" + DUFI_IP + '&'; }

adServerUrl = adServerUrl.replace(/cust_params=/, ppid + 'cust_params=' + encodeURIComponent(queryString) ); }

$el.after( unescape("%3Cscript src=\"" + (document.location.protocol == "https:" ? "https://sb" : "http://b") + ".scorecardresearch.com/beacon.js\" %3E%3C/script%3E") );

$( document ).one( 'ready', function() { $( "#video_container-808735" ).SNPlayer( { bc_account_id: "1704050871", bc_player_id: "JCdte3tMv", //autoplay: true, //is_has_autoplay_switch: false, bc_videos: 6370001791112, is_has_continuous_play: "false", adserverurl: adServerUrl, section: "", thumbnail: "https://www.sportsnet.ca/wp-content/uploads/2025/03/6370001791112-1024x576.jpg", direct_url: "https://www.sportsnet.ca/nhl/video/gotta-see-it-senators-ullmark-makes-incredible-diving-stop-on-lohrei/" }); });

As strange as it sounds, the 2023 Vezina Trophy winner arrived in Ottawa with something to prove. He was half of an excellent tandem in Boston with Jeremy Swayman, so he made fewer than 40 starts twice in three seasons with the Bruins. Ullmark also started just one of the Bruins’ 13 playoff games last spring as they leaned on Swayman against the Toronto Maple Leafs and Florida Panthers.  

At the end of last season, a motivated Ullmark told Boston reporters that he intended to go on “a little bit of a revenge tour” after being cast aside in the playoffs. Ullmark thought he would be doing it with the Bruins, but he still made good on his promise in the regular season. (Boston, by the way, missed the post-season for the first time since 2016, and Swayman struggled mightily without his “brother for life.”)  

/* if ( "1" == true && 'undefined' !== typeof window.getIndexAds ) { var so = {preroll:{1:{1:{siteID:191888},2:{siteID:191889}}}}; adServerUrl = window.getIndexAds( 'http://pubads.g.doubleclick.net/gampad/ads?sz=640x360&cust_params=domain%3Dsportsnet.ca&iu=%2F7326%2Fen.sportsnet.web%2FVideo&ciu_szs=300x250&impl=s&gdfp_req=1&env=vp&output=vast&unviewed_position_start=1&ad_rule=1&vid=6371250590112&cmsid=384', so, permalink); } else { adServerUrl = "http://pubads.g.doubleclick.net/gampad/ads?sz=640x360&cust_params=domain%3Dsportsnet.ca&iu=%2F7326%2Fen.sportsnet.web%2FVideo&ciu_szs=300x250&impl=s&gdfp_req=1&env=vp&output=vast&unviewed_position_start=1&ad_rule=1&vid=6371250590112&cmsid=384"; } */ adServerUrl = "http://pubads.g.doubleclick.net/gampad/ads?sz=640x360&cust_params=domain%3Dsportsnet.ca&iu=%2F7326%2Fen.sportsnet.web%2FVideo&ciu_szs=300x250&impl=s&gdfp_req=1&env=vp&output=vast&unviewed_position_start=1&ad_rule=1&vid=6371250590112&cmsid=384"; var adServerUrl_result = adServerUrl.includes("cust_params"); var queryString=''; if(adServerUrl_result){ var gettheDUFI = false; if (localStorage.getItem("consent") !== null && localStorage.getItem("consent-targeting") !== null) gettheDUFI = localStorage.getItem("theRED_loc");

if(gettheDUFI){ queryString += "dufiid=" + gettheDUFI + '&'; queryString += "ppid=" + gettheDUFI + '&'; var ppid = "ppid=" + gettheDUFI + '&'; }

var DUFI_IP = false; if (localStorage.getItem("consent") !== null && localStorage.getItem("consent-targeting") !== null) DUFI_IP = sessionStorage.getItem("DUFI_IP");

if(DUFI_IP){ queryString += "dufiip=" + DUFI_IP + '&'; }

adServerUrl = adServerUrl.replace(/cust_params=/, ppid + 'cust_params=' + encodeURIComponent(queryString) ); }

$el.after( unescape("%3Cscript src=\"" + (document.location.protocol == "https:" ? "https://sb" : "http://b") + ".scorecardresearch.com/beacon.js\" %3E%3C/script%3E") );

$( document ).one( 'ready', function() { $( "#video_container-772023" ).SNPlayer( { bc_account_id: "1704050871", bc_player_id: "JCdte3tMv", //autoplay: true, //is_has_autoplay_switch: false, bc_videos: 6371250590112, is_has_continuous_play: "false", adserverurl: adServerUrl, section: "", thumbnail: "https://www.sportsnet.ca/wp-content/uploads/2025/04/6371250590112-1024x576.jpg", direct_url: "https://www.sportsnet.ca/nhl/video/cant-wait-to-get-in-the-dance-senators-chabot-on-clinching-playoffs/" }); });

Even in an up-and-down season, Ullmark has stolen eight games for the Senators, trailing only Anaheim’s Lukas Dostal and Minnesota’s Filip Gustavsson (nine each). Ullmark’s most recent steal came last week, when he saved 3.74 goals above expected in the Senators’ 2-1 win against the Tampa Bay Lightning. He stopped 25 of 26 slot shots on net, including 11 of 12 from the inner slot. 

Ullmark has recorded a steal roughly every five starts — the second-highest percentage among goaltenders who have started at least 25 games this season. (Coincidentally, the goaltenders directly behind Ullmark, Cam Talbot and Gustavsson, are both former Senators.) 

“Oh my God, he’s such a stud,” Senators defenceman Tyler Kleven told reporters last month. “He’s such a big part of this team. And he wins us a lot of games. You don’t win the Vezina Trophy for no reason.”


Last season, Senators goaltenders combined for just five steals. They also led the league with 14 blown starts — two more than the next-closest team (Philadelphia). A goaltender is credited with a blown start when the number of goals saved below expected is greater than the score differential. Put simply, it is the opposite of a steal. (For example, Ullmark gave up 3.32 goals below expected in a 5-2 loss to the Montreal Canadiens on Feb. 22.)  

Ullmark (two blown starts) and Anton Forsberg, who has recorded three steals and two blown starts this season, have stabilized the position. Ottawa has gone from worst in the league last season to 10th this season in total goals saved above expected. (Leevi Merilainen deserves some love as well for keeping the Senators afloat while Ullmark was sidelined with a back injury.) 

Ullmark’s teammates have kept him on his toes, as the defensive play in front of him has been spotty. He has faced 14.7 slot shots on net per 60 minutes, which ranks 50th out of 61 goaltenders who have played a minimum of 1,000 minutes this season. His 18.3 individual goals saved above expected are 10th most in the league.  

In a delicious twist, the Senators’ first playoff series since 2017 will likely be against the hated Maple Leafs. There is a 72.8 per cent chance of a Battle of Ontario matchup, which has not been seen in the post-season since 2004.  

Ullmark could make things interesting in that potential series.  

“This core group hasn’t experienced this. I’m really excited for them,” Senators general manager Steve Staios told reporters. “The playoffs are a different animal. I believe that our group has the mettle to be able to rise up to that occasion.  

“We’re coming in as underdogs. … And we’re OK with that.” 

if (!res.ok) { throw new Error('Failed to fetch odds data'); }

const data = await res.json(); const oddsData = data?.data?.game?.details?.current_line; const visitingTeam = data?.data?.game?.visiting_team; const visitingTeamLogo = data?.data?.game?.visiting_team?.image_url_90; const homeTeam = data?.data?.game?.home_team; const homeTeamLogo = data?.data?.game?.home_team?.image_url_90; const gameTimestamp = data?.data?.game?.details?.timestamp;

return { oddsData, visitingTeam, visitingTeamLogo, homeTeam, homeTeamLogo, gameTimestamp }; }

async function renderBetMGM(componentId, league, gameId) { let oddsData, visitingTeam, visitingTeamLogo, homeTeam, homeTeamLogo, gameTimestamp, error;

const container = document.getElementById(componentId + '-odds'); if (!container) return;

try { ({ oddsData, visitingTeam, visitingTeamLogo, homeTeam, homeTeamLogo, gameTimestamp } = await fetchOddsData(league, gameId)); } catch (err) { error = err.message; }

if (error) { container.innerHTML = `

Error: ${error}

`; return; }

if (!oddsData) { container.innerHTML = `

Odds data not available

`; return; }

let gameDate = new Date(gameTimestamp * 1000); const gameDateFormatted = gameDate.toLocaleDateString('en-US', { year: 'numeric', month: 'long', day: 'numeric' });

container.innerHTML = `

BetMGM Odds
Moneyline
${visitingTeam.short_name}
${oddsData.away_money > 0 ? `+${oddsData.away_money}` : oddsData.away_money}
${homeTeam.short_name}
${oddsData.home_money > 0 ? `+${oddsData.home_money}` : oddsData.home_money}
Spread
${oddsData.fav_id === visitingTeam.id ? oddsData.fav_points : oddsData.fav_points > 0 ? `-${oddsData.fav_points}` : `+${Math.abs(oddsData.fav_points)}`}
${oddsData.fav_id === visitingTeam.id ? oddsData.fav_money > 0 ? `+${oddsData.fav_money}` : oddsData.fav_money : oddsData.underdog_money > 0 ? `+${oddsData.underdog_money}` : oddsData.underdog_money}
${oddsData.fav_id === homeTeam.id ? oddsData.fav_points : oddsData.fav_points > 0 ? `-${oddsData.fav_points}` : `+${Math.abs(oddsData.fav_points)}`}
${oddsData.fav_id === homeTeam.id ? oddsData.fav_money > 0 ? `+${oddsData.fav_money}` : oddsData.fav_money : oddsData.underdog_money > 0 ? `+${oddsData.underdog_money}` : oddsData.underdog_money}
Over/Under
O ${oddsData.total}
${oddsData.over_money > 0 ? `+${oddsData.over_money}` : oddsData.over_money}
U ${oddsData.total}
${oddsData.under_money > 0 ? `+${oddsData.under_money}` : oddsData.under_money}

`; }

// Example usage renderBetMGM('block_0c6cd1bb6edcf84ee12740b594975267', 'NHL', 'e73c8243-8f56-410a-a21b-fa315a71aff0');