Loading player profile…
Make it yours
Table-specific density choices remain available in each table.Loading player profile…

Vancouver Canucks · LD · shoots L · 33
No usable production record is available. The dated roster identity and lane screen remain available; production stays unknown.
The all-team median is . VAN’s farm system sits #14 in the maintained two-board consensus.
Checking this snapshot’s availability…
Source: NHL public statistical record · attributed retained snapshot
Retained declarations only. Sampling, language and population coverage, name matching, missing-input treatment, original reporting window and use permission are unverified. Scores and ranks are not validated comparisons; no effect on play is established.
Reported move field: 0; injury-listing flag: false. No current state inferred.
6 retained declared posts (7-day field); network scope Bluesky; declared engagement 0; declared relative indicator 0.55×; coverage and identity mapping unverified
No contract for this player has been sourced yet. CapOrCup does not estimate it.
These ranges summarize 1,000 simulated rankings, treating players independently and scaling normal draws separately below and above each stored estimate. Shared errors between players are not modeled, and no extra allowance for source or model uncertainty is added here. The middle 80% is a simulation result, not demonstrated coverage of a true or future rank.
Simulation: a top-400 skater at the median; middle 80% from 170th to 434th.
In 0 of 100 simulated rankings, he is in the top ten.
Preseason, regular season and playoffs are kept apart. Each row links to the NHL's own highlight page; no video is hosted here. Where a clip has been reviewed, the reading of it is a model judgement of the frames, not a measurement.
Loading…
Each dot is one season. The amber bar is what his earlier seasons and his age predicted for that season (), so a dot far above its bar is a season the numbers did not see coming. The shaded band is where most players at his position sit at each age.
Careers are compared as league-adjusted points per game by age, over the same ages. The comparables below are the closest lines, and what matters is the spread of what they did next, not any single name.
This player so far:
| Player | Distance (lower is closer) | What he did afterwards |
|---|---|---|
| Vladimir DraveckyD · matched at ages | ||
| Brenden DillonD · matched at ages | ||
| Chris TanevD · matched at ages | ||
| Radko GudasD · matched at ages | ||
| Tyler MyersD · matched at ages | ||
| Brayden McNabbD · matched at ages | ||
| Nick JensenD · matched at ages | ||
| Ryan McDonaghD · matched at ages |
What the shift charts say about Jamie Oleksiak's role and his club's game, and what the rules allow. No fit number is shown: fit: not yet validated.
Rules that travel with him: blocked. Club-specific rules (50 contracts, 23-man roster, the two front offices) are on each team's Moves tab.
No qualified headline reference; coverage unknown.
Simulation: a top-500 skater at the median; middle 80% from 227th to 607th.
In 0 of 100 simulated rankings, he is in the top ten.
Simulation: a top-150 skater at the median; middle 80% from 35th to 392nd.
In 1 of 100 simulated rankings, he is in the top ten.
Simulation: a top-600 skater at the median; middle 80% from 419th to 661st.
In 0 of 100 simulated rankings, he is in the top ten.
Simulation: a top-200 skater at the median; middle 80% from 43rd to 404th.
In 1 of 100 simulated rankings, he is in the top ten.
CapOrCup's shot model (distance, angle, shot type, strength, rebounds, rushes), trained on 2023-24 and 2024-25 and tested on unseen games (AUC ). Finishing is goals minus expected goals; it is noisy in one season.
Measured from the league's play-by-play and shift charts, not from the scoresheet. Expected goals are counted for every player on the ice, and a goal is credited to whoever was on the ice when the sequence began, including players who had changed off before it was scored.
Every goal counts the win probability it added, scaled so the average goal is 1.0: a late tying goal counts several, a goal at 6-1 or into an empty net late counts little. Plus/minus also credits the players on the ice when the goal's sequence began.
Every unblocked shot placed by distance, angle and shot type. His rate from each spot is set against the league's rate for the same shot from the same spot, so the edge is against everyone else taking that shot, not against an average.
Read from the league's free condensed games ( game so far): entries, exits, battles and turnovers the model could see and attribute to his jersey number. A condensed game is a sample of the game, so these are observations, not season counts.
From the NHL's own player-tracking data. Percentiles are the NHL's: the share of the league below this player.
Position band: .
No shipped label applies. A label is a measured finding about a run of seasons (for example, a spike that came back to the old level), and it is shown only for label types that passed their test on held-out seasons.
At the draft the model expected through his age-25 season (80% band ). He logged , between the 10th percentile and the median.
era-adjusted points per 82 games. Position references use the exact recorded age; no interpolation or missing-to-zero replacement. Expected endpoints and position percentiles describe different populations.
| Season | Age | Level · era-adjusted points per 82 games | Details |
|---|---|---|---|
| 2012-13 | |||
| 2013-14 | |||
| 2014-15 | |||
| 2015-16 | |||
| 2016-17 | |||
| 2017-18 | |||
| 2018-19 | |||
| 2019-20 | |||
| 2020-21 | |||
| 2021-22 | |||
| 2022-23 | |||
| 2023-24 | |||
| 2024-25 | |||
| 2025-26 | |||
| 2026-27 |
The same reference band as the chart, including ages with no player season. These rows describe the position; they do not create a season or result for this player.
| Recorded age | 50th percentile · era-adjusted points per 82 games | Details |
|---|---|---|
| 20 | ||
| 21 | ||
| 22 | ||
| 23 | ||
| 24 | ||
| 25 | ||
| 26 | ||
| 27 | ||
| 28 | ||
| 29 | ||
| 30 | ||
| 31 | ||
| 32 | ||
| 33 | ||
| 34 |
Source: CapOrCup careers desk (method and league curves) · as of 2026-10-18
Injury and lineup records are interpreted separately. Retained declarations do not verify current availability, tonight’s lineup, complete coverage or current use entitlement.
Retained injury listing · No qualified retained listing; availability unknown.
Retained lineup reference · No qualified retained slot; current lineup unknown.
Matches to the retained source ID, without inferring current roster state. Coverage, canonical identity and same-day event order are unverified.
No qualified retained report, or relationship held for validation; history completeness and current state unknown.
The NHL publishes no injury feed. This counts games his club played while he did not dress, for any reason: injury, illness, a healthy scratch, a suspension or a trade gap. No cause is claimed.
Either side of that absence: points per 60 in the ten games before, in the ten after. A rate change over a small sample, not evidence of a lingering injury.
If most comparables became NHL regulars and their later peak sits well above this player's current line, the numbers say there is room to grow. If most did not, the numbers say the odds are against it. Either way it is what the data shows, not a name chosen to flatter.
as of 2026-04-16
Projected slot from a retained provider depth chart; use entitlement is unverified; props from the model's learned layer on shots, finishing and the opposing starter; ratings are last season's until this one has enough games. Information, not a recommendation.
No qualified latest retained report; roster state unknown.
Injury listing: Not on file (No qualified retained listing; availability unknown.)