Introducing the WR Prospect Similarity App

A primer on my latest app creation around NFL Draft prospects

It has been a little quiet from me on the prospect analysis end of things, but that has been because I’ve been in the Shiny lab working on my best project yet: the WR Prospect Similarity App.

This app will drive most of my WR analysis this season, as it holds all of the information I want in one useful place. Even better, it gives a range of outcomes on what to expect from each NFL hopeful based on similar prospects. This should prove to be more effective than simple linear modeling, which produces only a single number as an outcome.

There are a lot of components to this app, so let’s run through them.

The Inputs

The left side of the app is the hub for everything it creates, starting with the user inputs.

You can, of course, select the prospect you are looking to investigate. There are also 87 different variables to choose from to base your similarity search on. They can be selected in any amount or order (though I would caution against using too many at once). The variables consist of everything you’d find in the CFB Stat-Finder — sans passing stats — as well as some age and experience data I’ve computed:

years - total years spent in college

byear - year of breakout

x85BY - weighted average of total years and breakout year (85% lean towards breakout)

fage - age on 12/31 of final season

bage - age on 12/31 of breakout season

x85BA - weighted average of fage and bage (85% lean towards bage)

broke_out_wr - binary variable stating if a WR broke out (1) or not (0)

Draft position is included in the options, and I have some default expected positions based on prospect rankings online (expect these to be updated as time goes on). The user can also choose to manually adjust the given prospect’s draft position by changing the 0 to any number ranging to 257 (undrafted).

What is nice about the app is that it will automatically adjust the weights of the variables based on which you choose by using principal component analysis (PCA). The defaults are based on some tree analysis I’ve done, plus draft position.

If you enjoy In the Aggregate, consider a subscription now to help support the newsletter!

Top Comps

At the top of the app are four tabs, each presenting something different about the prospect. The first relates to the player’s top comparable players, and is the one that is selected upon opening the app. This tab is exactly what it sounds like, first presenting the selected data points for the chosen prospect and his top 10 most similar prospects (in order).

The app also spits out a heatmap of the above information, useful for getting a quick comparison of the players listed.

Ranges of Outcomes

The first range of outcomes I wanted to view is what we can expect from the WR in his rookie year. The sidebar automatically populates with this information in table form — showing the 25th, 50th, and 75th percentiles.

I know, I know, it needs to be centered.

The “Rookie Plot” tab will present the 10 most similar players who have already played their rookie years in a bar graph.

The dashed line represents the average number of points per game for the PPR WR36 over the past five seasons. This seemed like a reasonable bar to set for rookie usefulness.

I repeated this process for the three-year maximum production of comparable players. This information can be found again both in the sidebar and the “3-Year Plot” tab.

This time, the dashed line represents WR2 production, our ideal production point for WRs within their first three seasons (in my opinion). Please note that only WRs who have played at least three seasons are considered as comparables here, so there may be some name changes from the rookie plot.


Perhaps my favorite feature of the app is that it can help you find potential values in your rookie drafts. At the bottom of the side-panel, you’ll see the five most similar players within the 2021 class, as well as their similarity ranks within the entire player sample.

On the “Arbitrage” tab, you’ll get another heat map of these players and the chosen prospect.

Who doesn’t love arbitrage?

I sincerely hope that you enjoy using this app as much as I did creating it. Let’s have a great draft season!