Introduction

Hi, my name is Saketh Vangara, and I am a Statistics and Computer Science student at the University of Virginia. For the past few years, I have played in a fantasy football league with some of my friends, in which we draft NFL players and compete weekly based on their real-life performances. Like many fantasy leagues, ours is fully of strategy, rivalry, luck, and a lot of time and emotional investment. After multiple seasons, I started to wonder how much of fantasy success is actually based on skillful drafting and consistent scoring, or whether good luck in scheduling and matchups played a larger role than I would have liked to admit.

This project analyzes the previous three seasons (2022, 2023, 2024) from my fantasy league, using three datasets that I have compiled:

By comparing draft outcomes, weekly scoring patterns, and overall season performance, my goal is to understand what actually contributes to success in my league, and in fantasy football as a whole. Do the strongest teams earn their results through strategy, do they benefit from favorable circumstances, or is there a healthy balance of the two? Throughout this project, I will be following my team (Saketh’s team) and the league’s history to determine the answers to these questions and try to gain a better understanding and appreciation for the inner workings of fantasy football.

It should be noted here that my league, for each of the three seasons, drafted in an auction-draft format. In short, managers were allotted a $200 budget (not real money) in Yahoo Fantasy to draft a 16-man roster. Managers could nominate players during each pick, but whoever bid the most money on a nominated player would have that player drafted to their team. This would continue until all managers had completed drafting their 16-man roster. Hence, the strategies exhibited in the auction style draft may have been different compared to a typical, ordered snake draft. Following the draft, managers were allotted a $100 budget (again, not real money) for the entire season to claim players from waivers if they choose to do so.

Research Questions

  1. How much does draft performance influence season outcomes?

  2. Are winning teams more consistent week-to-week, or do they simply have more high-scoring outbursts?

  3. How big of a role does luck play in the final standings?

Visualization 1: Total Points Scored per Team by Season

My first visualization compares the total fantasy points scored by each team across the three seasons and highlights whether each team made the playoffs. Teams are sorted from highest scoring (top) to lowest scoring (bottom), and a vertical dashed line provides a general indication of the league-wide scoring average for a given year. Teams that are well above this dashed line are clearly outperforming the league baseline, while teams below the line fall short of the average, visually showing which teams produced enough scoring to compete for playoff spots.

Across each season, this visualization provides early insight into just how predictive scoring is for postseason success. It seems that the majority of playoff teams sit above (or close to) the league-average line, while teams that missed the playoffs generally fall further to the left of the line and toward the bottom of the chart. One point to note is that across the three seasons, at least one team misses the playoffs even though it scores higher than the league average in the season in question. For example, Sai’s team in 2022, Sujay’s Wonderous Team in 2023, and the team ‘Nico Collins’ in 2024 all scored more than the season average, and some teams that made the postseason, but did not make it in themselves. Similarly, Nag’s team in 2023 and the team ‘sincere mccormick’ in 2024 both made the playoffs despite scoring a decent amount below the season averages. This immediately suggests that other factors besides scoring, such as weekly matchups or luck, may influence winning outcomes.

This led me to wonder about the effectiveness of how those points were built. Instead of just looking at final scoring totals, the second visualization evaluates draft efficiency, which I define as how well each team converted draft picks into fantasy production. While the first visualization highlights the importance of raw scoring, the next one begins to explain why some teams are positioned at the top or bottom of the scoring rankings in the first place.

Visualization 2: Draft Efficiency by Season

Because my league uses an auction draft format, every manager has complete flexibility in how they construct their roster. Some managers may allocate most of their budget to a few star, high-value players, while others attempt to spread value evenly across positions. To quantify how well each team converted their draft spending into actual scoring output, this visualization measures draft efficiency, which is defined as the average fantasy points per drafted player. The dashed vertical line in each chart represents the league median for that season. Teams positioned to the right drafted more efficiently than the league as a whole, while teams to the left drafted below the league median.

Across the three seasons, this visualization highlights how much draft results can vary. In 2022 and 2024, most teams clustered near the league median, indicating relatively similar levels of draft performance. By contrast, 2023 shows a wider spread, with some managers significantly outperforming others in converting their draft capital into points. Looking specifically at my team, my draft efficiency declined from 2022 through 2024, eventually falling below the median. This suggests that I was not consistently extracting the same level of value from our draft spending as some of the top teams. At the same time, despite my draft efficiency declining and not being on the higher end of teams, I still made the playoffs in the 2023 season, scoring the third most points that year.

While draft efficiency is a strong indicator of how well a roster was constructed at the start of the season, it does not explain everything about team performance on its own. However, it provides helpful context for how much a season’s foundation can influence later results. To understand how this draft value translates to positional scoring trends and whether certain roster-building strategies repeatedly generate strong outcomes, the next visualization takes a deeper look at how value varies by draft slot, position, and season.

Visualization 4: Treemap of Positional Share of League-Wide Fantasy Points

This visualization uses a treemap to show the total fantasy points scored by each position across all three seasons in the league. Each box represents a position, and its size reflects that position’s total scoring output (the larger the box, the greater share that position had in terms of points). This gives us an immediate sense of which positions contribute the most to league scoring overall without being tied to individual seasons or individual managers.

Wide receivers and running backs generate the bulk of total scoring, followed by quarterbacks, while tight ends (TEs), kickers, and defenses combine for a much smaller share of total points. Based on my league format, it made sense that running backs (RBs) had the greatest share of points, since they have a higher likelihood of scoring in any possible way on offense (usually receiving or rushing, though). Furthermore, my league’s scoring system provided bonus points for 40+ yard rushes or receptions, which adds to their potential totals significantly. On the other hand, I was surprised that quarterbacks (QBs) had a lower positional share than wide receivers (WRs), since my league was super-flex (meaning that ideally, a team would start two quarterbacks instead of one each week, which is different from the generic Yahoo Fantasy league). QBs traditionally outscore WRs, even though managers have the ability to start up to three WRs on a given week (two WR slots, plus a regular flex position that can be allotted to a WR, RB, or TE), and our league was points-per-reception (PPR). Despite the bonuses, it felt like QBs would typically perform better than WRs historically, based on my fantasy football experience, but that doesn’t appear to be the case. It seems, from the treemap alone, that WRs carry more value than QBs in my league.

The heavy concentration of points from the RB and WR positions suggests why these positions are highly contested in drafts and often determine whether a team has a competitive roster. Similarly, the lower-scoring outputs from kickers and defenses reinforce why those positions are usually saved for later picks or filled through free agency. With an understanding of the overall scoring distribution across positions, I want to shift our focus from draft outcomes and positional value to how teams actually performed throughout the season. The next visualization moves from season-long totals to week-to-week scoring performance, allowing us to see the rhythm, volatility, and consistency of teams as the year unfolds.

Visualization 5: Heatmap of Teams’ Weekly Scoring Efforts

This visualization displays each team’s weekly scoring performance using a heatmap. Every cell represents a team’s point total in a given week, and the color scale indicates the relative strength of that performance: darker blue cells reflect stronger weeks, and warmer orange tones indicate below-average outputs. Users can switch between seasons and view a range of seasons at once. When more seasons are included, the score range becomes wider because new teams appear and weekly totals are accumulated across years, creating a clearer picture of long-term consistency (some teams may have this because they are under the same manager and team name, while others won’t because they existed for a single season).

Looking at the individual seasons reveals streaks, slumps, and timing. A team may not score the most points overall in a season, but can still secure crucial wins by performing well in the right weeks. For example, my team tended to show pockets of strong performances rather than a single sustained dominant stretch. Compared to some of the more top-heavy teams, my scoring patterns often hovered near the league middle before surging in key weeks, illustrating how competitive my roster was on a week-to-week basis rather than strictly by season totals.

The cumulative-season views highlight broader trends in stability. Teams that consistently appear in the blue range across multiple seasons often maintain competitive scoring windows regardless of roster changes, while orange-heavy rows may suggest long-term scoring struggles or variability. This is where the value of this visualization becomes more strategic: it allows us to see not just who scored the most, but when teams were peaking, how streaky they were, and whether a team’s season came down to reliable scoring or a few well-timed spike weeks.

This insight sets the stage for the next visualization. A team’s win-loss record does not always match its scoring power, which raises an important question about variance in fantasy results. The next visualization explores that idea directly by comparing actual wins to expected wins and evaluating the role of luck versus skill in how each season played out.

Visualization 6: Actual vs Expected Win Rates by Team

This visualization compares each team’s actual win rate to their expected win rate for a given season (or multiple-season range). Expected win rate is based on how often a team outscores other teams in the league, so it provides a more neutral measure of performance independent of matchup luck. Every team has two bars: one for actual win rate and one for expected win rate. If the actual win rate is greater than the expected value, a team likely benefited from favorable matchups, better scheduling, or fortunate outcomes. Conversely, if the actual win rate falls below the expected rate, it typically signals tougher matchups or unlucky timing. Hovering over a bar also reveals a luck index, where positive values indicate more good fortune and negative values indicate the opposite.

In most seasons, we see clear examples of teams outperforming their expected pace and others finishing below where their talent or weekly scoring should have placed them. Across the three individual seasons and the combined ranges, my team appears to be luckier than not, as in 2022 and 2023, my actual win rate was higher than my expected win rate. In contrast, several teams across different seasons show big discrepancies, as the expected win rate is higher than their actual win rate, which points toward teams that scored well but lost close or poorly timed matchups.

A major takeaway from this visualization is that skill and scoring ability are only part of the story. Teams with a strong expected win rate but a poor record could be competitive yet penalized by bad matchup luck, and teams with strong records might have benefited from advantageous timing rather than pure dominance. This provides a different perspective than earlier visuals focused on scoring and drafting. In other words, it shifts the analysis from how strong a team is to whether their results actually reflect that strength.

This takeaway made me curious about the margin of wins for each team, which can tell us how close the matchup spread was within a season. The margin distribution helps show how decisive those wins and losses actually were and whether the league’s games are typically close or lopsided. Hence, my next visualization will explore exactly that.

Visualization 7: Distribution of Winning Margins

This visualization uses boxplots to show the distribution of weekly winning margins for the 2022, 2023, and 2024 seasons. Each box represents how close or lopsided typical matchups were in that season. The center line in each box shows the median winning margin, the box itself represents the middle 50 percent of margins, and the whiskers represent the range of most results. Outliers appear as individual points above the whiskers. A higher median or more spread-out box indicates a season with larger or more inconsistent margins between winning and losing teams.

A key insight from this visualization is that the level of competitiveness shifted slightly from season to season. For example, 2023 shows the widest spread in winning margins and a slightly higher median margin, suggesting it was a season with more mismatches and more extreme blowouts. In contrast, 2022 and 2024 appear slightly more compressed, meaning the matchups tended to stay a bit closer. This also helps contextualize league parity: years with slightly narrower margins suggest a more competitive and tightly matched league, while wider margins reflect a higher degree of variance and unpredictability. The crucial point, in hindsight, is that the 2023 season had the greatest spread of winning margins, which again goes to show how much more volatility existed that year.

The purpose of this visualization is to get a sense of how competitive matchups were across the three seasons. Earlier visualizations looked at factors like draft value and how much luck or skill influenced win rates, but this one focuses on the game-level outcomes themselves. By examining the spread of winning margins in each season, we can see whether matchups tended to be close or whether blowouts were common, and whether that pattern changed from year to year. When we view this in the context of the Actual vs Expected Win Rate visualization, it helps clarify whether certain teams benefited from close wins or consistently found themselves in wide-score games.

This leads into my final visualization. Now that we saw how my league behaved as a whole, both in terms of competitive balance and how wins were earned, I would like to zoom in on my team’s weekly scoring patterns over time and how I stacked up against the league environment each season.

Visualization 8: My Team vs. the League - Weekly Performance Animation

The last visualization of my analysis is an animated Shiny app that compares my weekly fantasy scores to the league average. Users can select a season and watch the two lines build over time, revealing how my team performed in relation to the rest of the league from week to week. I have also included an option that allows the viewer to toggle between showing my raw scores against the league average in a given week or seeing the point differential in my matchup compared to the league benchmark (shown as a dashed line). Note: It may take about a minute or two for the animation and plot to generate initially. It will also take about a minute or two to generate the plot if you toggle different features.

My goal with this visualization was to demonstrate the trends my team exhibited and place it in the broader picture of the league. To do so, I tried to make interpreting it easy. My team is shown in purple, and the comparison line is shown in dark blue. Points above the comparison line indicate weeks where my team performed better than the benchmark and points below reflect weeks where scoring strength was weaker. When the chart is animated, streaks and momentum become much easier to see than they would in a static plot. Again, the viewer is able to switch seasons to see how weekly performance patterns changed from year to year.

The results reinforce a pattern that has appeared throughout the project. That is, my team tends to be more volatile than the league baseline. In some seasons, strong scoring weeks stand well above the benchmark, while others fall noticeably below it. This matches what we saw from earlier visuals about scoring margins and expected performance. Large peaks and deep drops suggest that week-to-week outcomes matter just as much as season totals. Some seasons show steady improvement and competitive scoring, while others highlight inconsistency and close losses.

This visualization brings together many of the themes of the project by giving a week-by-week perspective of performance. Rather than looking only at final standings, draft value, or season totals, this view shows how a season actually unfolds and where the turning points occur. It closes the project by grounding all earlier analysis in what ultimately determines success in fantasy football: consistent scoring and the ability to outperform the league when it matters most.

Conclusion

Across three seasons of league results, draft data, and weekly matchup scoring, several patterns become clear about what drives success in fantasy football. The draft plays a meaningful but not exclusive role in shaping outcomes. Teams that drafted efficiently often started the season from a stronger position and were more likely to finish toward the top of league standings, but it was never enough on its own to guarantee success. The weekly scoring trends and distribution of matchup margins showed that consistency and the ability to outperform the league average are just as important as early draft performance. Luck also influenced results to a degree. Teams sometimes finished above or below their expected win totals simply based on matchups, scoring timing, or opponent performance.

Overall, we can see that winning teams tend to score reliably, avoid low-scoring weeks, and make enough correct roster decisions to stay ahead of the average. Draft performance, consistency, and luck matter, but none of these elements explains everything by itself. Additionally, it is important to recognize that this study did not include injuries, waiver wire pickups, or in-season trades due to a lack of available data, as Yahoo league history is limited in what it shows. These factors are a significant part of fantasy football and likely would have shifted the results and findings of this study if they were included. Despite these limitations, this analysis provides clarity on how teams succeed season after season and offers a deeper understanding of the balance between preparation, in-season decisions, and randomness in fantasy football outcomes both in my league and, generally speaking, in auction-draft leagues that follow a similar format as a whole.