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 2015-16. Pick one to see the two side by side, or choose someone else.

Cam Ward CAR · 52 GP, 0.909 Petr Mrazek DET · 54 GP, 0.921 Steve Mason PHI · 54 GP, 0.918 Antti Niemi DAL · 48 GP, 0.905 Mike Condon MTL · 55 GP, 0.903

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

2015-16 season totals

GP Starts WLOTLSO Shots against Saves Goals against GAA Save %
51 51 172491 1634 1497 137 2.70 0.916

Contract

$6MCap hitends in 2017, then UFA
$377KCap dollars per goal above replacement15.9 goals above replacement
$4.4MWorth at the going ratewhat teams paid for a season like his
-$1.6MValueworth 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 58 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, with 1 season left after this one, and he is then an unrestricted free agent.

Season Cap hit
2015-16 $6M
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 2015-16 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.

2015-16 analytics

Rating

+15.9Goals above replacement18th of 58 goalies
+2.6Wins above replacementgoals above replacement divided by six
+1.8Goals above averagehis goals saved above expected

Each number is coloured by where it ranks among the 58 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

+1.8Goals saved above expectedexpected goals minus goals against
138.8Expected goals againstfrom 2,194 unblocked attempts
137Goals againstwhile he was in net
0.916Save %0.915 expected from his shots

Goals saved above expected, taken per 60 minutes, and save % are coloured by where they rank among the 57 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.03 above expected per 60 minutes53rd
Shot difficulty 6.3% chance per attempt faced67thA higher bar means his team gives up more dangerous shots.

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

050100Game 10Game 20Game 30Game 40Game 50Expected 138.8Allowed 137

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 7, 2016 @ CGY L 3-7 L 43 36 7 0.837 59:39
Apr 4, 2016 vs LAK W 3-2 W 42 40 2 0.952 60:00
Mar 31, 2016 @ SJS W 4-2 W 34 32 2 0.941 59:58
Mar 27, 2016 vs CHI L 2-3 L 32 29 3 0.906 59:10
Mar 24, 2016 @ NSH L 2-3 (SO) OTL 32 30 2 0.938 65:00
Mar 19, 2016 vs STL L 0-3 L 49 47 2 0.959 58:56
Mar 16, 2016 vs COL L 1-3 L 34 31 3 0.912 57:34
Mar 12, 2016 vs NSH W 4-2 W 37 35 2 0.946 59:58
Mar 7, 2016 @ LAK L 1-5 L 28 24 4 0.857 58:22
Mar 3, 2016 vs SJS L 2-3 L 30 27 3 0.900 57:27
Feb 28, 2016 vs SJS L 1-4 L 27 24 3 0.889 57:01
Feb 25, 2016 vs OTT W 5-3 W 30 27 3 0.900 60:00
Feb 21, 2016 vs COL W 5-1 W 38 37 1 0.974 60:00
Feb 18, 2016 vs ANA L 2-5 L 32 28 4 0.875 59:15
Feb 13, 2016 vs TOR L 2-5 L 36 33 3 0.917 58:14
Feb 10, 2016 @ ARI W 2-1 W 34 33 1 0.971 60:00
Feb 6, 2016 vs CGY L 1-4 L 28 26 2 0.929 58:23
Feb 4, 2016 vs CBJ L 1-2 (SO) OTL 28 27 1 0.964 65:00
Jan 26, 2016 vs NSH L 1-2 L 19 17 2 0.895 58:31
Jan 23, 2016 @ PIT L 4-5 L 29 25 4 0.862 59:09
Jan 19, 2016 @ NYR L 2-3 (OT) OTL 49 46 3 0.939 63:54
Jan 17, 2016 @ NYI W 2-1 (SO) W 48 47 1 0.979 65:00
Jan 14, 2016 @ WSH L 1-4 L 39 36 3 0.923 58:05
Dec 20, 2015 @ FLA L 4-5 (SO) 42 38 4 0.905 65:00
Dec 18, 2015 @ DET W 4-3 (SO) W 28 25 3 0.893 65:00
Dec 15, 2015 @ MIN L 2-6 L 36 30 6 0.833 40:00
Dec 13, 2015 @ CHI L 0-4 L 29 26 3 0.897 57:22
Dec 9, 2015 vs NYR W 2-1 W 33 32 1 0.970 59:22
Dec 7, 2015 vs BUF W 5-2 W 34 32 2 0.941 59:58
Dec 3, 2015 vs DAL L 2-4 L 33 30 3 0.909 58:19
Nov 30, 2015 @ ANA L 0-4 L 29 25 4 0.862 48:39
Nov 27, 2015 @ DAL L 2-3 (SO) OTL 25 23 2 0.920 65:00
Nov 25, 2015 @ MIN W 3-2 W 33 31 2 0.939 60:00
Nov 21, 2015 vs CHI W 6-3 W 29 26 3 0.897 60:00
Nov 18, 2015 @ WPG L 1-4 L 33 30 3 0.909 59:42
Nov 14, 2015 @ TOR L 2-4 L 40 36 4 0.900 56:37
Nov 12, 2015 @ OTT L 2-3 L 25 22 3 0.880 58:16
Nov 8, 2015 @ NJD L 3-4 (OT) OTL 28 24 4 0.857 63:07
Nov 7, 2015 @ BUF L 2-3 L 22 19 3 0.864 59:43
Nov 4, 2015 vs PIT L 2-3 L 23 20 3 0.870 57:29
Nov 2, 2015 vs PHI W 4-1 W 28 27 1 0.964 60:00
Oct 29, 2015 @ DAL L 3-4 (OT) OTL 29 25 4 0.862 62:17
Oct 27, 2015 vs MTL W 5-1 W 26 25 1 0.962 59:54
Oct 24, 2015 vs DET L 2-3 (OT) OTL 28 25 3 0.893 63:50
Oct 22, 2015 vs WSH L 2-3 L 35 32 3 0.914 58:11
Oct 18, 2015 vs EDM L 1-2 (OT) OTL 24 22 2 0.917 61:46
Oct 16, 2015 vs STL L 3-4 L 32 28 4 0.875 57:41
Oct 13, 2015 @ LAK W 3-0 W, SO 15 15 0 1.000 60:00
Oct 12, 2015 @ ANA W 2-1 (SO) W 29 28 1 0.966 65:00
Oct 10, 2015 vs CGY L 2-3 (OT) OTL 38 35 3 0.921 63:03
Oct 7, 2015 @ CGY W 5-1 W 30 29 1 0.967 59:37