Hockey Terminal
Be a GM

← All players

Photo of Ryan Miller

Ryan Miller

#30 · Goalie · Anaheim Ducks

Born Jul 17, 1980 in East Lansing, Michigan, USA · 6'2", 170 lb · Catches left · Drafted 138th overall in 1999 by BUF (round 5)

Trophy case

Vezina Trophy Top Goaltender 2009-10

Compare with a similar player

The goalies closest to him in games played in 2016-17. Pick one to see the two side by side, or choose someone else.

Corey Crawford CHI · 55 GP, 0.918 Mike Smith ARI · 55 GP, 0.914 Connor Hellebuyck WPG · 56 GP, 0.907 John Gibson ANA · 52 GP, 0.924 Henrik Lundqvist NYR · 57 GP, 0.910

Career

Regular season games only. Pick a season to see its game log below. Cap hit is what he counted against the salary cap that season, where it is known.

02040602002-03: 15 games1502-032003-04: 3 games32005-06: 48 games4805-062006-07: 63 games632007-08: 76 games7607-082008-09: 59 games592009-10: 69 games6909-102010-11: 66 games662011-12: 61 games6111-122012-13: 40 games402013-14: 59 games5913-142014-15: 45 games452015-16: 51 games5115-162016-17: 54 games542017-18: 28 games2817-182018-19: 20 games202019-20: 23 games2319-202020-21: 16 games16

Games played by season. The darker bar is the season shown below.

Season Team GP WLTOTLSO Shots against Saves Goals against GAA Save % Cap hit
2002-03 BUF 15 68101 410 370 40 2.63 0.902
2003-04 BUF 3 03000 73 58 15 5.06 0.795
2005-06 BUF 48 3014031 1440 1316 124 2.60 0.914 $502K
2006-07 BUF 63 4016062 1886 1718 168 2.73 0.911 $2.667M
2007-08 BUF 76 36270103 2104 1907 197 2.64 0.906 $2.667M
2008-09 BUF 59 3418065 1773 1628 145 2.53 0.918 $2.667M
2009-10 BUF 69 4118085 2098 1948 150 2.22 0.929 $6.25M
2010-11 BUF 66 3422085 1964 1799 165 2.59 0.916 $6.25M
2011-12 BUF 61 3121076 1788 1638 150 2.54 0.916 $6.25M
2012-13 BUF 40 1717050 1270 1162 108 2.81 0.915 $6.25M
2013-14 BUF 40 1522030 1411 1303 108 2.72 0.923 $6.25M
2013-14 STL 19 108011 474 428 46 2.47 0.903
2014-15 VAN 45 2915016 1198 1091 107 2.53 0.911 $6M
2015-16 VAN 51 1724091 1634 1497 137 2.70 0.916 $6M
2016-17 VAN 54 1829064 1737 1587 150 2.80 0.914 $6M
2017-18 ANA 28 126064 739 686 53 2.35 0.928 $2M
2018-19 ANA 20 87021 578 527 51 2.76 0.912 $2M
2019-20 ANA 23 96040 685 621 64 3.10 0.907 $1.125M
2020-21 ANA 16 48020 432 381 51 3.51 0.882 $1M
18 seasons Career 796 39128918745 23694 21665 2029 2.64 0.914

Playoffs

Playoff games only. Pick a season to see that year's bracket.

Season Team GP WLOTLSO Shots against Saves Goals against GAA Save %
2005-06 BUF 18 11701 522 474 48 2.56 0.908
2006-07 BUF 16 9700 489 451 38 2.22 0.922
2009-10 BUF 6 2400 204 189 15 2.35 0.926
2010-11 BUF 7 3402 242 222 20 2.93 0.917
2013-14 STL 6 2400 185 166 19 2.70 0.897
2014-15 VAN 3 1100 67 61 6 2.31 0.910
2017-18 ANA 1 0000 12 9 3 9.00 0.750
7 seasons Playoffs 57 282703 1721 1572 149 2.52 0.913

2016-17 season totals

GP Starts WLOTLSO Shots against Saves Goals against GAA Save %
54 54 182964 1737 1587 150 2.80 0.914

Contract

$6MCap hitends in 2017, then UFA
$662KCap dollars per goal above replacement9.1 goals above replacement
$2.5MWorth at the going ratewhat teams paid for a season like his
-$3.5MValueworth minus cap hit; below zero is overpaid

His cap hit for the whole season, set against what he did in the regular season. Lower is better value. In a season still being played the cost per point starts high and falls as the games add up. Value is coloured by where it ranks among the 53 ranked goalies whose contract is known. How value is worked out.

The contract

Who signed him to it, and when, are not on record. It runs through 2016-17, so this is its last season, after which he is an unrestricted free agent.

Season Cap hit
2016-17 $6M

Each season left on the contract. Only its cap hit and its end are known: how the pay is split by season, and any signing bonus, are not.

Contracts he has signed

Signed Signed by Kind Seasons Years In all Cap hit
2020-21 to 2020-21 $1M
2019-20 to 2019-20 $1.125M
2017-18 to 2018-19 $2M
2014-15 to 2016-17 $6M
2009-10 to 2013-14 $6.25M
2006-07 to 2008-09 $2.667M
2005-06 to 2005-06 $502K

Every contract on record for him, newest first, with the team that signed him to it and the day it was signed. The one covering 2016-17 is marked. An extension is signed while the contract before it is still running, often a year ahead. A row with no team or date is a contract known only by its cap hit, most often one signed since October 2024.

2016-17 analytics

Rating

+9.1Goals above replacement34th of 53 goalies
+1.5Wins above replacementgoals above replacement divided by six
-5.7Goals above averagehis goals saved above expected

Each number is coloured by where it ranks among the 53 ranked goalies: green is in the top fifth and red the bottom fifth, with paler shades in between and amber for the middle. Hover over a tile for its percentile. Goals above average is coloured as it is under Shots faced below, where it is taken per 60 minutes.

The goals he saved for his team, compared with a spare-part goalie facing the same shots. A goalie's season is about one-third the goalie and two-thirds chance, so read one year lightly. Before 2023-24 the NHL timed events less exactly, and differently from rink to rink, so expected goals for this season are rougher than for recent ones.

-1001020302010-112012-132014-152016-172018-192020-21Goals above replacementGoals above replacement, by season

Shots faced

Expected goals adds up how likely each shot he faced was to go in, judged by where it came from, what kind of shot it was and whether it was a rebound. A goalie who lets in fewer than that has saved goals above expected. Only shots taken while he was in net count, and the league's goalies as a whole come out at zero. Before 2023-24 the NHL timed events less exactly, and differently from rink to rink, so expected goals for this season are rougher than for recent ones. What these numbers mean

-5.7Goals saved above expectedexpected goals minus goals against
144.3Expected goals againstfrom 2,315 unblocked attempts
150Goals againstwhile he was in net
0.914Save %0.917 expected from his shots

Goals saved above expected, taken per 60 minutes, and save % are coloured by where they rank among the 55 goalies who played enough to be ranked: green is in the top fifth and red the bottom fifth, with paler shades in between and amber for the middle. Hover over a tile for its percentile. The two goals against tiles are left plain, since they follow how much he played.

Goals saved -0.11 above expected per 60 minutes24th
Shot difficulty 6.2% chance per attempt faced45thA higher bar means his team gives up more dangerous shots.

Each bar shows the share of goalies he is ahead of, among the 55 who played at least a quarter as much as the busiest this season.

050100150Game 10Game 20Game 30Game 40Game 50Allowed 150Expected 144.3

The goals he was expected to let in and the goals he did, as the season went on. When the allowed line runs below the expected line, he is saving more than his shots were worth.

Where he was shot at

Every unblocked attempt he faced this season, with his net on the right. Darker red means more attempts from that spot, and each dot is a goal. "Show every shot" switches to a dot for each attempt, bigger for a better chance. Click a goal for its details.

Game log

Date Opponent Result Decision Shots against Saves Goals against Save % TOI
Apr 8, 2017 vs EDM L 2-3 L 35 32 3 0.914 57:45
Apr 6, 2017 @ ARI L 3-4 L 22 18 4 0.818 58:15
Apr 2, 2017 vs SJS L 1-3 L 24 22 2 0.917 58:01
Mar 31, 2017 vs LAK L 0-2 L 26 24 2 0.923 57:17
Mar 28, 2017 vs ANA L 1-4 L 39 35 4 0.897 60:00
Mar 26, 2017 @ WPG L 1-2 L 32 30 2 0.938 57:32
Mar 23, 2017 @ STL L 1-4 L 33 30 3 0.909 59:07
Mar 21, 2017 @ CHI W 5-4 (OT) W 44 40 4 0.909 62:12
Mar 16, 2017 vs DAL L 2-4 L 36 32 4 0.889 57:04
Mar 13, 2017 vs BOS L 3-6 L 42 37 5 0.881 58:25
Mar 11, 2017 vs PIT L 0-3 L 47 45 2 0.957 59:11
Mar 9, 2017 vs NYI L 3-4 (OT) OTL 28 24 4 0.857 60:34
Mar 7, 2017 vs MTL L 1-2 (OT) OTL 38 36 2 0.947 61:12
Mar 4, 2017 @ LAK W 4-3 W 44 41 3 0.932 60:00
Mar 2, 2017 @ SJS L 1-3 L 32 29 3 0.906 58:59
Feb 28, 2017 vs DET L 2-3 (OT) OTL 28 25 3 0.893 62:31
Feb 25, 2017 vs SJS L 1-4 L 26 22 4 0.846 60:00
Feb 19, 2017 vs PHI L 2-3 L 28 25 3 0.893 57:52
Feb 18, 2017 vs CGY W 2-1 (OT) W 36 35 1 0.972 60:34
Feb 14, 2017 @ PIT L 0-4 L 42 38 4 0.905 60:00
Feb 11, 2017 @ BOS L 3-4 L 30 26 4 0.867 58:47
Feb 9, 2017 @ CBJ W 3-0 W, SO 33 33 0 1.000 60:00
Feb 4, 2017 vs MIN L 3-6 L 39 33 6 0.846 60:00
Feb 2, 2017 vs SJS L 1-4 L 32 28 4 0.875 60:00
Jan 26, 2017 @ ARI L 0-3 L 30 28 2 0.933 58:49
Jan 22, 2017 @ CHI L 2-4 L 34 31 3 0.912 59:30
Jan 20, 2017 vs FLA W 2-1 W 35 34 1 0.971 60:00
Jan 17, 2017 vs NSH W 1-0 W, SO 30 30 0 1.000 60:00
Jan 12, 2017 @ PHI L 4-5 (SO) OTL 35 31 4 0.886 64:27
Jan 10, 2017 @ NSH L 1-2 (OT) OTL 26 24 2 0.923 63:47
Jan 6, 2017 vs CGY W 4-2 W 46 44 2 0.957 60:00
Jan 4, 2017 vs ARI W 3-0 W, SO 22 22 0 1.000 60:00
Jan 2, 2017 vs COL W 3-2 W 26 24 2 0.923 60:00
Dec 30, 2016 vs ANA W 3-2 (OT) W 26 24 2 0.923 64:01
Dec 28, 2016 vs LAK W 2-1 W 37 36 1 0.973 60:00
Dec 22, 2016 vs WPG L 1-4 L 25 21 4 0.840 60:00
Dec 18, 2016 vs CBJ L 3-4 (OT) OTL 25 21 4 0.840 60:27
Dec 16, 2016 vs TBL W 4-2 W 27 25 2 0.926 60:00
Dec 13, 2016 @ CAR L 6-8 30 24 6 0.800 45:56
Dec 8, 2016 @ TBL W 5-1 W 39 38 1 0.974 53:58
Dec 3, 2016 vs TOR W 3-2 (SO) W 40 38 2 0.950 64:56
Dec 1, 2016 vs ANA L 1-3 L 24 21 3 0.875 58:23
Nov 29, 2016 vs MIN W 5-4 W 42 38 4 0.905 60:00
Nov 25, 2016 @ DAL L 1-2 L 28 26 2 0.929 58:37
Nov 23, 2016 @ ARI W 4-1 W 36 35 1 0.972 60:00
Nov 13, 2016 vs DAL W 5-4 (OT) W 21 17 4 0.810 61:21
Nov 10, 2016 @ DET L 1-3 L 27 24 3 0.889 58:36
Nov 7, 2016 @ NYI L 2-4 L 32 28 4 0.875 57:49
Nov 5, 2016 @ TOR L 3-6 L 42 36 6 0.857 54:52
Nov 2, 2016 @ MTL L 0-3 L 21 19 2 0.905 59:45
Oct 28, 2016 vs EDM L 0-2 L 26 25 1 0.962 58:16
Oct 25, 2016 vs OTT L 0-3 L 27 25 2 0.926 59:06
Oct 23, 2016 @ ANA L 2-4 L 37 33 4 0.892 59:00
Oct 15, 2016 vs CGY W 2-1 (SO) W, SO 25 25 0 1.000 64:57