Hockey Terminal
Be a GM

← All players

Photo of Robert Thomas

Robert Thomas

#18 · Centre · St. Louis Blues

Born Jul 2, 1999 in Aurora, Ontario, CAN (age 27) · 6'0", 213 lb · Shoots right · Drafted 20th overall in 2017 by STL (round 1)

Trophy case

Stanley Cup NHL Champion 2018-19

Compare with a similar player

The forwards closest to him in points in 2019-20. Pick one to see the two side by side, or choose someone else.

Matt Duchene NSH · 42 P in 66 GP Jean-Gabriel Pageau NYI · 42 P in 67 GP Rickard Rakell ANA · 42 P in 65 GP Ryan Getzlaf ANA · 42 P in 69 GP Gustav Nyquist CBJ · 42 P in 70 GP

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.

0204060802018-19: 33 points3318-192019-20: 42 points4219-202020-21: 12 points1220-212021-22: 77 points7721-222022-23: 65 points6522-232023-24: 86 points8623-242024-25: 81 points8124-252025-26: 64 points6425-262026-27: 1 points126-27

Points by season. The darker bar is the season shown below.

Season Team GP G A P +/- PIM Shots Hits P/GP Cap hit
2018-19 STL 70 9 24 33 -2 14 80 13 0.47 $894K
2019-20 STL 66 10 32 42 9 18 87 13 0.64 $894K
2020-21 STL 33 3 9 12 1 10 22 5 0.36 $894K
2021-22 STL 72 20 57 77 17 16 115 13 1.07 $2.8M
2022-23 STL 73 18 47 65 -8 22 106 15 0.89 $2.8M
2023-24 STL 82 26 60 86 9 48 170 16 1.05 $8.125M
2024-25 STL 70 21 60 81 20 20 145 13 1.16 $8.125M
2025-26 STL 64 25 39 64 22 24 102 10 1.00 $8.125M
2026-27 STL 5 0 1 1 -2 2 5 1 0.20 $8.125M
9 seasons Career 535 132 329 461 66 174 832 99 0.86

Playoffs

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

Season Team GP G A P +/- PIM Shots Hits P/GP
2018-19 STL 21 1 5 6 -2 10 30 6 0.29
2019-20 STL 6 0 2 2 -1 0 6 2 0.33
2020-21 STL 4 0 3 3 -1 2 2 1 0.75
2021-22 STL 12 2 4 6 -6 10 20 14 0.50
2024-25 STL 7 2 6 8 0 4 8 11 1.14
5 seasons Playoffs 50 5 20 25 -10 26 66 34 0.50

2019-20 season totals

GP G A P +/- PIM Shots Hits P/GP Shooting % Avg TOI
66 10 32 42 9 18 87 13 0.64 11.5 14:34

Contract

$894KCap hitends in 2021, then RFA
$21KCap dollars per point42 points in 66 games
$129KCap dollars per goal above replacement7.0 goals above replacement
$6.5MWorth at the going ratewhat teams paid for a season like his
+$5.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 668 ranked skaters whose contract is known. How value is worked out.

The contract

Signed by the St. Louis Blues on Sep 28, 2017, as an entry-level contract: 3 years and $3.625M, beginning in 2018-19. It runs through 2020-21, with 1 season left after this one, and he is then a restricted free agent.

Season Cap hit Base salary Signing bonus Performance bonuses Paid in all Clause
2018-19 $894K $833K $93K $925K
2019-20 $894K $833K $93K $425K $925K
2020-21 $894K $833K $0 $425K $833K

Each season of the contract, with this one marked. The cap hit is the same every year; what he is paid is not. The pay is as written when the contract was recorded in October 2024, so a later change, such as the rise in the lowest salary for 2026-27, is not shown.

Contracts he has signed

Signed Signed by Kind Seasons Years In all Cap hit
Jul 13, 2022 St. Louis Blues Extension 2023-24 to 2030-31 8 $65M $8.125M
Sep 21, 2021 St. Louis Blues New contract 2021-22 to 2022-23 2 $5.6M $2.8M
Sep 28, 2017 St. Louis Blues Entry-level 2018-19 to 2020-21 signed for 2017-18, slid 3 $3.625M $894K

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 2019-20 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.

2019-20 analytics

Regular season Playoffs

Rating

+7.0Goals above replacement108th of 670 skaters, 81st of 439 forwards
+1.2Wins above replacementgoals above replacement divided by six
+4.3Goals above averagethe five parts below added up

Each number is coloured by where it ranks among the 439 ranked forwards: 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.

Even-strength offence+3.1 80th percentileEven-strength defence+1.8 86th percentilePower play-0.4 21st percentilePenalty kill-0.2 21st percentilePenalties+0.1 40th percentile

The goals he added to his team's goal difference, compared with a spare-part player given the same ice time. Each part is measured against the league, so zero is an average skater, and the rank beside it is among forwards. A full season is about two-thirds the player and one-third chance. 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.

0510152018-192020-212022-232024-252026-27Goals above replacementGoals above replacement, by season

On the ice

What happened at five-on-five while he was on the ice. What these numbers mean

51.7Corsi for %707 attempts for, 661 against
+0.6CF% relative to teamagainst the team without him
52.7Expected goals for %32.0 expected for, 28.7 against
+1.2xGF% relative to teamagainst the team without him
50.5Fenwick for %unblocked attempts
63.9Goals for %46 for, 26 against
103.8PDO11.1% shooting + 92.7% saves
120Attempts takenhis own shot attempts

Each share is coloured by where it ranks among the 583 skaters 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. PDO and attempts taken are left plain, since neither is good or bad on its own.

Who he played with

Forward lineGPTimeCF%xGF%Goals
Alexander Steen · Tyler Bozak · Robert Thomas28186:0348.645.812-4
Brayden Schenn · Jaden Schwartz · Robert Thomas32170:5050.647.75-2
David Perron · Zachary Sanford · Robert Thomas1597:3753.554.04-3
Tyler Bozak · Ivan Barbashev · Robert Thomas835:3050.854.33-1

The lines he spent the most time in at five-on-five, with the team's share of the shot attempts and expected goals, and the goals for and against, while they were out. The two shares are coloured as above, against the league's lines that played a fair amount together. Hover over one for its percentile.

Chances and finishing

Expected goals adds up how likely each of his shots was to go in, judged by where it came from, what kind of shot it was and whether it was a rebound. All situations, leaving out shots at an empty net. 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.

10Goalsnot counting empty-netters
9.9Expected goalsfrom 114 unblocked attempts
+0.1Goals above expectedgoals minus expected goals
Chances created 0.62 expected goals per 60 minutes27th
Shot quality 8.7% chance per attempt72nd
Finishing +0.1 goals above expected57thOne season of finishing is mostly luck.

Each bar shows the share of forwards he is ahead of, among the 410 who played 300 minutes or more this season.

0246810Game 20Game 40Game 60Goals 10Expected 9.9

His goals and his expected goals as the season went on. When the goals line pulls away above, he is scoring more than his chances were worth; below, less.

Where he shot from

Every attempt he took this season, in all situations, attacking the net on the right. There is a dot for each attempt, bigger for a better chance. "Show as heat map" shades the ice by where the attempts came from. Click a goal for its details.

Game log

Date Opponent Result G A P +/- PIM Shots Hits TOI
Mar 11, 2020 @ ANA W 4-2 0 0 0 0 0 3 1 12:16
Mar 9, 2020 vs FLA L 1-2 0 1 1 1 0 1 0 18:06
Mar 8, 2020 @ CHI W 2-0 0 0 0 0 0 2 1 13:02
Mar 6, 2020 @ NJD L 2-4 0 1 1 -2 0 0 0 17:06
Mar 3, 2020 @ NYR W 3-1 0 0 0 0 0 0 0 13:53
Feb 29, 2020 vs DAL W 4-3 (SO) 0 1 1 0 0 0 0 17:32
Feb 27, 2020 vs NYI W 3-2 (OT) 0 0 0 1 0 1 0 18:37
Feb 25, 2020 vs CHI W 6-5 1 2 3 1 0 2 0 15:46
Feb 23, 2020 @ MIN W 4-1 0 0 0 -1 0 4 0 13:05
Feb 21, 2020 @ DAL W 5-1 0 2 2 2 0 3 0 13:42
Feb 20, 2020 vs ARI W 1-0 0 0 0 0 0 5 0 15:05
Feb 18, 2020 vs NJD W 3-0 0 0 0 2 6 1 0 15:49
Feb 16, 2020 @ NSH L 1-2 0 0 0 -1 0 1 0 13:43
Feb 15, 2020 vs NSH L 3-4 0 1 1 1 0 0 0 14:50
Feb 13, 2020 @ VGK L 5-6 (OT) 0 0 0 0 0 1 0 15:39
Feb 8, 2020 vs DAL L 2-3 (OT) 0 1 1 0 0 1 1 16:36
Feb 6, 2020 vs WPG L 2-4 0 1 1 -1 0 1 0 19:49
Feb 4, 2020 vs CAR W 6-3 0 1 1 1 0 0 0 16:10
Feb 1, 2020 @ WPG L 2-5 0 1 1 -1 0 3 0 16:51
Jan 31, 2020 @ EDM L 2-4 1 0 1 -2 0 2 0 16:01
Jan 28, 2020 @ CGY W 5-4 (SO) 0 1 1 0 0 1 0 16:30
Jan 27, 2020 @ VAN L 1-3 0 0 0 -3 0 1 0 14:05
Jan 18, 2020 @ COL L 3-5 0 0 0 -2 0 0 0 15:26
Jan 15, 2020 vs PHI L 3-4 (OT) 0 2 2 1 0 1 0 15:47
Jan 13, 2020 vs ANA W 4-1 0 1 1 1 0 0 0 14:15
Jan 11, 2020 vs NYR W 5-2 0 0 0 0 0 2 0 14:48
Jan 9, 2020 vs BUF W 5-1 1 2 3 3 0 1 0 14:27
Jan 7, 2020 vs SJS W 3-2 0 0 0 0 0 0 0 14:58
Jan 4, 2020 @ VGK L 4-5 (OT) 0 0 0 -2 2 1 1 17:03
Jan 2, 2020 @ COL L 3-7 2 0 2 1 0 4 2 14:25
Dec 31, 2019 @ ARI L 1-3 0 1 1 1 0 1 1 13:41
Dec 29, 2019 vs WPG W 4-1 1 0 1 0 0 2 0 13:47
Dec 27, 2019 @ WPG W 5-4 (OT) 0 1 1 1 2 2 0 10:45
Dec 23, 2019 @ LAK W 4-1 0 0 0 0 0 0 0 11:44
Dec 21, 2019 @ SJS W 5-2 0 0 0 0 0 1 0 12:34
Dec 18, 2019 vs EDM W 2-1 0 0 0 0 2 1 0 12:10
Dec 16, 2019 vs COL W 5-2 0 0 0 0 0 3 0 15:02
Dec 14, 2019 vs CHI W 4-3 0 3 3 3 0 1 1 13:08
Dec 12, 2019 vs VGK W 4-2 1 0 1 0 0 2 0 10:43
Dec 10, 2019 @ BUF L 2-5 0 1 1 -1 0 0 0 13:09
Dec 7, 2019 vs TOR L 2-5 0 1 1 1 0 1 0 17:34
Dec 4, 2019 @ PIT L 0-3 0 0 0 -1 0 3 0 14:40
Dec 2, 2019 @ CHI W 4-0 0 0 0 1 0 1 1 14:27
Nov 30, 2019 vs PIT W 5-2 0 1 1 1 0 0 0 13:58
Nov 29, 2019 @ DAL W 3-1 0 0 0 0 0 2 0 16:58
Nov 27, 2019 @ TBL W 4-3 0 0 0 0 2 0 0 15:13
Nov 25, 2019 @ NSH L 2-3 (SO) 0 1 1 1 0 1 0 16:47
Nov 23, 2019 vs NSH L 2-4 0 0 0 0 0 0 0 12:12
Nov 21, 2019 vs CGY W 5-0 0 3 3 4 0 1 0 12:42
Nov 19, 2019 vs TBL W 3-1 0 1 1 0 0 1 0 15:01
Nov 16, 2019 vs ANA L 1-4 0 0 0 -1 0 2 0 13:29
Nov 15, 2019 @ CBJ L 2-3 (OT) 0 0 0 0 0 4 0 17:00
Nov 12, 2019 vs ARI L 2-3 (SO) 0 0 0 1 0 1 0 18:30
Nov 9, 2019 @ CGY W 3-2 (OT) 0 0 0 0 0 1 0 16:08
Nov 6, 2019 @ EDM W 5-2 1 0 1 1 2 1 3 16:21
Nov 5, 2019 @ VAN W 2-1 (OT) 0 0 0 0 0 0 0 13:04
Nov 2, 2019 @ MIN W 4-3 (OT) 0 1 1 0 0 0 0 14:00
Nov 1, 2019 vs CBJ W 4-3 (OT) 1 0 1 1 0 3 1 12:10
Oct 30, 2019 vs MIN W 2-1 0 0 0 -1 0 0 0 13:43
Oct 27, 2019 @ DET W 5-4 (OT) 0 0 0 -1 0 1 0 14:50
Oct 26, 2019 @ BOS L 0-3 0 0 0 -1 0 1 0 15:03
Oct 24, 2019 vs LAK W 5-2 1 0 1 1 0 2 0 15:35
Oct 21, 2019 vs COL W 3-1 0 0 0 0 0 3 0 10:09
Oct 19, 2019 vs MTL L 2-5 0 0 0 -1 0 2 0 10:58
Oct 17, 2019 vs VAN L 3-4 (SO) 0 0 0 0 2 0 0 08:50
Oct 2, 2019 vs WSH L 2-3 (OT) 0 0 0 -1 0 1 0 09:45