Tight end is a little tricky compared to other skill positions for when projecting in dynasty fantasy football leagues. The position has a steeper learning curve than wide receiver or running back, and a small handful of all-time greats have created an illusion that tight ends age gracefully. The reality—as we’ll see—is more complicated, and more important to understand if you’re building a dynasty roster.
In this study, we’ll examine the peak age for NFL tight ends since 2000, then dig into the most important wrinkle in the data: the outsized impact of a few generational talents. We’ve already published similar studies for wide receivers and running backs, which we update each offseason.
Estimated Reading Time: 6 minutes
TL;DR:
- The average peak TE season occurs at age 27.4
- Five players (Gonzalez, Kelce, Gates, Witten, Gronkowski) account for 29% of all qualifying seasons
- Removing those five drops the average peak age to 26.8—closer to wide receiver range
- 47% of qualifying TEs hit the threshold in just one season
- Tight ends do take longer to develop, but they age out faster than the raw averages suggest
Dynasty takeaway: Unless you have a generational talent, the typical TE aging curve looks more like a wide receiver than a Tony Gonzalez. Don’t pay Kelce prices for non-elite tight ends.
Defining a Peak Tight End Season
To define a peak tight end season, we need a threshold that captures genuine TE1 production. About seven tight ends per season score more than 11 PPR fantasy points per game, so we’ll use that as our floor.
Our peak seasons include all tight end campaigns since 2000 with at least 11 PPR points per game and a minimum of seven games played. This gives us 183 qualifying seasons, compiled using data from Pro Football Reference.
| Player | Season | Age | Team | G | PPR | PPR/G |
|---|---|---|---|---|---|---|
| Travis Kelce | 2020 | 31 | KAN | 15 | 312.8 | 20.85 |
| Rob Gronkowski | 2011 | 22 | NWE | 16 | 330.9 | 20.68 |
| Jimmy Graham | 2013 | 27 | NOR | 16 | 303.5 | 18.97 |
| Antonio Gates | 2010 | 30 | SDG | 10 | 188.2 | 18.82 |
| Travis Kelce | 2022 | 33 | KAN | 17 | 316.3 | 18.61 |
| Trey McBride | 2025 | 26 | ARI | 17 | 315.9 | 18.58 |
| Travis Kelce | 2018 | 29 | KAN | 16 | 294.6 | 18.41 |
| Jimmy Graham | 2011 | 25 | NOR | 16 | 294 | 18.38 |
| Rob Gronkowski | 2012 | 23 | NWE | 11 | 198 | 18 |
| Rob Gronkowski | 2014 | 25 | NWE | 15 | 266.4 | 17.76 |
| Mark Andrews | 2021 | 26 | BAL | 17 | 301.1 | 17.71 |
| Zach Ertz | 2018 | 28 | PHI | 16 | 280.3 | 17.52 |
| Rob Gronkowski | 2013 | 24 | NWE | 7 | 122.2 | 17.46 |
| Jordan Reed | 2015 | 25 | WAS | 14 | 244.2 | 17.44 |
| Darren Waller | 2020 | 28 | LVR | 16 | 278.6 | 17.41 |
| Antonio Gates | 2005 | 25 | SDG | 15 | 259.1 | 17.27 |
| Rob Gronkowski | 2015 | 26 | NWE | 15 | 255.6 | 17.04 |
| Antonio Gates | 2004 | 24 | SDG | 15 | 255.4 | 17.03 |
| Dallas Clark | 2009 | 30 | IND | 16 | 271.7 | 16.98 |
| Tony Gonzalez | 2004 | 28 | KAN | 16 | 270.3 | 16.89 |
| Tony Gonzalez | 2000 | 24 | KAN | 16 | 267.3 | 16.71 |
| Travis Kelce | 2021 | 32 | KAN | 16 | 262.8 | 16.43 |
| Tony Gonzalez | 2008 | 32 | KAN | 16 | 261.8 | 16.36 |
| Delanie Walker | 2015 | 31 | TEN | 15 | 244.4 | 16.29 |
| Rob Gronkowski | 2017 | 28 | NWE | 14 | 227.4 | 16.24 |
| Travis Kelce | 2019 | 30 | KAN | 16 | 254.3 | 15.89 |
| George Kittle | 2019 | 26 | SFO | 14 | 222.5 | 15.89 |
| Jimmy Graham | 2012 | 26 | NOR | 15 | 237.2 | 15.81 |
| Vernon Davis | 2009 | 25 | SFO | 16 | 252.5 | 15.78 |
| George Kittle | 2024 | 31 | SFO | 15 | 236.6 | 15.77 |
| Jason Witten | 2007 | 25 | DAL | 16 | 250.5 | 15.66 |
| George Kittle | 2020 | 27 | SFO | 8 | 125.1 | 15.64 |
| Trey McBride | 2024 | 25 | ARI | 16 | 249.8 | 15.61 |
| Travis Kelce | 2017 | 28 | KAN | 15 | 233.5 | 15.57 |
| Jason Witten | 2010 | 28 | DAL | 16 | 248.2 | 15.51 |
| Brock Bowers | 2024 | 22 | LVR | 17 | 262.7 | 15.45 |
| Julius Thomas | 2013 | 25 | DEN | 14 | 215.8 | 15.41 |
| Tony Gonzalez | 2007 | 31 | KAN | 16 | 246.2 | 15.39 |
| Aaron Hernandez | 2011 | 22 | NWE | 14 | 214.5 | 15.32 |
| Owen Daniels | 2009 | 27 | HOU | 8 | 121.9 | 15.24 |
| Antonio Gates | 2009 | 29 | SDG | 16 | 242.7 | 15.17 |
| Gary Barnidge | 2015 | 30 | CLE | 16 | 237.3 | 14.83 |
| Austin Hooper | 2019 | 25 | ATL | 13 | 191.7 | 14.75 |
| Tyler Eifert | 2015 | 25 | CIN | 13 | 191.5 | 14.73 |
| Brock Bowers | 2025 | 23 | LVR | 12 | 176.2 | 14.68 |
| George Kittle | 2025 | 32 | SFO | 11 | 161.5 | 14.68 |
| Tucker Kraft | 2025 | 25 | GNB | 8 | 117.2 | 14.65 |
| Travis Kelce | 2023 | 34 | KAN | 15 | 219.4 | 14.63 |
| Tony Gonzalez | 2012 | 36 | ATL | 16 | 234 | 14.63 |
| T.J. Hockenson | 2023 | 26 | MIN | 15 | 219 | 14.6 |
| Jason Witten | 2012 | 30 | DAL | 16 | 231.9 | 14.49 |
| Zach Ertz | 2017 | 27 | PHI | 14 | 202.4 | 14.46 |
| Zach Ertz | 2019 | 29 | PHI | 15 | 215.6 | 14.37 |
| Jimmy Graham | 2014 | 28 | NOR | 16 | 229.9 | 14.37 |
| Rob Gronkowski | 2021 | 32 | TAM | 12 | 171.2 | 14.27 |
| Jordan Cameron | 2013 | 25 | CLE | 15 | 213.7 | 14.25 |
| Antonio Gates | 2007 | 27 | SDG | 16 | 227.4 | 14.21 |
| Greg Olsen | 2015 | 30 | CAR | 16 | 227.4 | 14.21 |
| Vernon Davis | 2013 | 29 | SFO | 15 | 213 | 14.2 |
| George Kittle | 2021 | 28 | SFO | 14 | 198 | 14.14 |
| Antonio Gates | 2011 | 31 | SDG | 13 | 183.8 | 14.14 |
| Sam LaPorta | 2023 | 22 | DET | 17 | 239.3 | 14.08 |
| Jordan Reed | 2016 | 26 | WAS | 12 | 168.6 | 14.05 |
| Antonio Gates | 2014 | 34 | SDG | 16 | 223.1 | 13.94 |
| Travis Kelce | 2016 | 27 | KAN | 16 | 223 | 13.94 |
| Tony Gonzalez | 2003 | 27 | KAN | 16 | 222.6 | 13.91 |
| Kellen Winslow | 2007 | 24 | CLE | 16 | 222.6 | 13.91 |
| Eric Ebron | 2018 | 25 | IND | 16 | 222.2 | 13.89 |
| Martellus Bennett | 2014 | 27 | CHI | 16 | 221.6 | 13.85 |
| Brent Celek | 2009 | 24 | PHI | 16 | 221.1 | 13.82 |
| Mark Andrews | 2019 | 24 | BAL | 15 | 207.2 | 13.81 |
| Darren Waller | 2019 | 27 | OAK | 16 | 221 | 13.81 |
| Jason Witten | 2004 | 22 | DAL | 16 | 221 | 13.81 |
| Greg Olsen | 2014 | 29 | CAR | 16 | 220.8 | 13.8 |
| Tony Gonzalez | 2013 | 37 | ATL | 16 | 218.9 | 13.68 |
| Evan Engram | 2019 | 25 | NYG | 8 | 109.4 | 13.68 |
| Antonio Gates | 2006 | 26 | SDG | 16 | 217.4 | 13.59 |
| Evan Engram | 2023 | 29 | JAX | 17 | 230.3 | 13.55 |
| Antonio Gates | 2015 | 35 | SDG | 11 | 149 | 13.55 |
| Mark Andrews | 2023 | 28 | BAL | 10 | 135.4 | 13.54 |
| Heath Miller | 2012 | 30 | PIT | 15 | 202.6 | 13.51 |
| David Njoku | 2024 | 28 | CLE | 11 | 148.5 | 13.5 |
| George Kittle | 2022 | 29 | SFO | 15 | 200.5 | 13.37 |
| Jeremy Shockey | 2005 | 25 | NYG | 15 | 198.1 | 13.21 |
| Zach Ertz | 2016 | 26 | PHI | 14 | 183.6 | 13.11 |
| Tony Gonzalez | 2011 | 35 | ATL | 16 | 209.5 | 13.09 |
| Jonnu Smith | 2024 | 29 | MIA | 17 | 222.3 | 13.08 |
| Kyle Rudolph | 2016 | 27 | MIN | 16 | 209 | 13.06 |
| Jason Witten | 2009 | 27 | DAL | 16 | 209 | 13.06 |
| Dallas Clark | 2008 | 29 | IND | 15 | 195.8 | 13.05 |
| Tony Gonzalez | 2006 | 30 | KAN | 15 | 195 | 13 |
| Aaron Hernandez | 2012 | 23 | NWE | 10 | 129.8 | 12.98 |
| Greg Olsen | 2016 | 31 | CAR | 16 | 207.3 | 12.96 |
| Fred Davis | 2011 | 25 | WAS | 12 | 154.6 | 12.88 |
| Jason Witten | 2013 | 31 | DAL | 16 | 206.1 | 12.88 |
| Tony Gonzalez | 2009 | 33 | ATL | 16 | 205.7 | 12.86 |
| Tony Gonzalez | 2001 | 25 | KAN | 16 | 205.2 | 12.83 |
| Taysom Hill | 2024 | 34 | NOR | 8 | 102.3 | 12.79 |
| Jordan Reed | 2013 | 23 | WAS | 9 | 114.7 | 12.74 |
| Mark Andrews | 2022 | 27 | BAL | 15 | 190.5 | 12.7 |
| George Kittle | 2023 | 30 | SFO | 16 | 203.2 | 12.7 |
| Jason Witten | 2011 | 29 | DAL | 16 | 203.2 | 12.7 |
| T.J. Hockenson | 2022 | 25 | DET,MIN | 17 | 215.4 | 12.67 |
| Jason Witten | 2008 | 26 | DAL | 16 | 201.9 | 12.62 |
| Julius Thomas | 2014 | 26 | DEN | 13 | 163.9 | 12.61 |
| David Njoku | 2023 | 27 | CLE | 16 | 201.2 | 12.58 |
| Dallas Clark | 2007 | 28 | IND | 15 | 188.5 | 12.57 |
| Delanie Walker | 2016 | 32 | TEN | 15 | 188.1 | 12.54 |
| Todd Heap | 2005 | 25 | BAL | 16 | 200.5 | 12.53 |
| Hunter Henry | 2019 | 25 | LAC | 12 | 150.2 | 12.52 |
| Shannon Sharpe | 2003 | 35 | DEN | 15 | 187 | 12.47 |
| Kyle Pitts | 2025 | 25 | ATL | 17 | 210.8 | 12.4 |
| Jeremy Shockey | 2003 | 23 | NYG | 9 | 111.5 | 12.39 |
| Dallas Goedert | 2025 | 30 | PHI | 15 | 185.1 | 12.34 |
| Tyler Eifert | 2016 | 26 | CIN | 8 | 98.4 | 12.3 |
| Dalton Schultz | 2021 | 25 | DAL | 17 | 208.8 | 12.28 |
| Kellen Winslow | 2009 | 26 | TAM | 16 | 196.1 | 12.26 |
| Travis Kelce | 2024 | 35 | KAN | 16 | 195.4 | 12.21 |
| Chris Cooley | 2007 | 25 | WAS | 16 | 194.6 | 12.16 |
| Kellen Winslow | 2006 | 23 | CLE | 16 | 194.5 | 12.16 |
| Mark Andrews | 2020 | 25 | BAL | 14 | 170.1 | 12.15 |
| Darren Waller | 2021 | 29 | LVR | 11 | 133.5 | 12.14 |
| Rob Gronkowski | 2016 | 27 | NWE | 8 | 97 | 12.13 |
| T.J. Hockenson | 2021 | 24 | DET | 12 | 145.3 | 12.11 |
| Jared Cook | 2018 | 31 | OAK | 16 | 193.6 | 12.1 |
| Todd Heap | 2002 | 22 | BAL | 16 | 193.4 | 12.09 |
| O.J. Howard | 2018 | 24 | TAM | 10 | 120.5 | 12.05 |
| Jared Cook | 2019 | 32 | NOR | 14 | 167.5 | 11.96 |
| Vernon Davis | 2010 | 26 | SFO | 16 | 191.4 | 11.96 |
| Zach Miller | 2016 | 32 | CHI | 10 | 119.6 | 11.96 |
| Heath Miller | 2009 | 27 | PIT | 16 | 190.9 | 11.93 |
| Brandon Pettigrew | 2011 | 26 | DET | 16 | 190.7 | 11.92 |
| Greg Olsen | 2013 | 28 | CAR | 16 | 190.6 | 11.91 |
| Ben Watson | 2015 | 35 | NOR | 16 | 190.5 | 11.91 |
| Sam LaPorta | 2025 | 24 | DET | 9 | 106.9 | 11.88 |
| Travis Kelce | 2015 | 26 | KAN | 16 | 189.5 | 11.84 |
| Jimmy Graham | 2016 | 30 | SEA | 16 | 189.3 | 11.83 |
| Jermaine Wiggins | 2004 | 29 | MIN | 14 | 165.5 | 11.82 |
| Charles Clay | 2013 | 24 | MIA | 16 | 188.4 | 11.78 |
| Chris Cooley | 2005 | 23 | WAS | 16 | 188.4 | 11.78 |
| Dallas Goedert | 2022 | 27 | PHI | 12 | 141.2 | 11.77 |
| Delanie Walker | 2014 | 30 | TEN | 15 | 176 | 11.73 |
| Harold Fannin | 2025 | 21 | CLE | 16 | 186.4 | 11.65 |
| Todd Heap | 2006 | 26 | BAL | 16 | 185.5 | 11.59 |
| Jermichael Finley | 2009 | 22 | GNB | 13 | 150.6 | 11.58 |
| Evan Engram | 2017 | 23 | NYG | 15 | 173.6 | 11.57 |
| Zach Ertz | 2022 | 32 | ARI | 10 | 115.6 | 11.56 |
| Antonio Gates | 2013 | 33 | SDG | 16 | 184.2 | 11.51 |
| Marcedes Lewis | 2010 | 26 | JAX | 16 | 184 | 11.5 |
| Evan Engram | 2018 | 24 | NYG | 11 | 126.3 | 11.48 |
| Brandon Myers | 2012 | 27 | OAK | 16 | 183.6 | 11.48 |
| Greg Olsen | 2012 | 27 | CAR | 16 | 183.3 | 11.46 |
| Travis Kelce | 2014 | 25 | KAN | 16 | 183.2 | 11.45 |
| Jeremy Shockey | 2002 | 22 | NYG | 15 | 171.4 | 11.43 |
| Alge Crumpler | 2005 | 28 | ATL | 16 | 182.7 | 11.42 |
| Cameron Brate | 2016 | 25 | TAM | 15 | 171 | 11.4 |
| Tony Gonzalez | 2002 | 26 | KAN | 16 | 182.3 | 11.39 |
| Alge Crumpler | 2004 | 27 | ATL | 14 | 159.4 | 11.39 |
| Alge Crumpler | 2006 | 29 | ATL | 16 | 182 | 11.38 |
| Travis Kelce | 2025 | 36 | KAN | 17 | 193.2 | 11.36 |
| Shannon Sharpe | 2002 | 34 | DEN | 13 | 147.6 | 11.35 |
| Zach Ertz | 2015 | 25 | PHI | 15 | 170.3 | 11.35 |
| Jeremy Shockey | 2006 | 26 | NYG | 15 | 170.3 | 11.35 |
| Owen Daniels | 2012 | 30 | HOU | 15 | 169.6 | 11.31 |
| Tony Gonzalez | 2005 | 29 | KAN | 16 | 180.5 | 11.28 |
| Jack Doyle | 2017 | 27 | IND | 15 | 169 | 11.27 |
| Austin Seferian-Jenkins | 2015 | 23 | TAM | 7 | 78.8 | 11.26 |
| Chris Cooley | 2010 | 28 | WAS | 16 | 179.9 | 11.24 |
| Vernon Davis | 2011 | 27 | SFO | 16 | 179.7 | 11.23 |
| Jermichael Finley | 2011 | 24 | GNB | 16 | 179.7 | 11.23 |
| Visanthe Shiancoe | 2009 | 29 | MIN | 16 | 178.6 | 11.16 |
| Randy McMichael | 2004 | 25 | MIA | 16 | 178.1 | 11.13 |
| Shannon Sharpe | 2000 | 32 | BAL | 16 | 178 | 11.13 |
| Jason Witten | 2005 | 23 | DAL | 16 | 177.7 | 11.11 |
| Mark Andrews | 2024 | 29 | BAL | 17 | 188.8 | 11.11 |
| Eric Ebron | 2016 | 23 | DET | 13 | 144.2 | 11.09 |
| Tyler Warren | 2025 | 23 | IND | 17 | 188.5 | 11.09 |
| Jake Ferguson | 2025 | 26 | DAL | 17 | 188.1 | 11.06 |
| Logan Thomas | 2020 | 29 | WAS | 16 | 176.6 | 11.04 |
| Robert Tonyan | 2020 | 26 | GNB | 16 | 176.6 | 11.04 |
| Coby Fleener | 2014 | 26 | IND | 16 | 176.4 | 11.03 |
| Antonio Gates | 2008 | 28 | SDG | 16 | 176.4 | 11.03 |
| Dallas Goedert | 2021 | 26 | PHI | 15 | 165 | 11 |
The average age across all qualifying seasons is 27.38, with a median of 27. The most common peak age is 25 (28 seasons), and 41% of seasons fall within the 25–27 age range.
As you might expect, tight ends generally take a few years to develop. Just 23 peak seasons (12.6%) took place before a player turned 24. By contrast, age-30 seasons account for 7.1% of the dataset—meaning more tight ends have hit this threshold at 30 than at 22 or 23.
There’s a gradual decline after age 30, but the cliff comes after the age-32 season. 86.9% of peak seasons occur before age 33. Only 6.6% of qualifying seasons happen at age 34 or older.
On the surface, the tight end aging curve looks similar to wide receiver, with a slightly later peak and a longer tail. But that’s not the whole story.
The Star Player Effect
Here’s where tight end is fundamentally different from running back or wide receiver: a small handful of all-time greats has dramatically distorted the dataset. Five players alone account for 53 of the 183 qualifying seasons (29%)—and several of them sustained elite production well into their 30s.
| Player | Seasons | Age Range | Avg Age | Best Year |
|---|---|---|---|---|
| Tony Gonzalez | 13 | 24–37 | 30.2 | 2008 (32) |
| Travis Kelce | 12 | 25–36 | 30.5 | 2020 (31) |
| Antonio Gates | 11 | 24–35 | 29.3 | 2010 (30) |
| Jason Witten | 9 | 22–31 | 26.8 | 2012 (30) |
| Rob Gronkowski | 8 | 22–32 | 25.9 | 2011 (22) |
Tony Gonzalez, Travis Kelce, and Antonio Gates alone account for 19 of the 45 age-30+ qualifying seasons in the entire dataset. That’s 42% of all “old TE” production coming from just three players.
So what does the data look like without these outliers? When we remove the top five tight ends from the sample, the picture changes meaningfully:
| Filter | Full Dataset | Without Top 5 |
|---|---|---|
| Qualifiers | 183 | 130 |
| Average Age | 27.38 | 26.78 |
| Age 30+ | 24.6% | 17.7% |
| Age 32+ | 13.1% | 7.7% |
| Age 34+ | 6.6% | 1.5% |
The average peak age drops from 27.38 to 26.78—landing in essentially the same neighborhood as wide receivers (26.95). The age-30+ share falls from 24.6% to 17.7%, and the age-34+ share collapses from 6.6% to just 1.5%.
In other words: the tight end position doesn’t age well—a few generational talents do. For the typical dynasty manager evaluating the typical tight end, the aging curve looks much closer to a wide receiver’s than the raw averages suggest.
When Do Individual Tight Ends Peak?
Looking at the dataset by player rather than by season tells the cleanest story. When we isolate each tight end’s single best season, the average personal peak age is 26.6, with a median of 26.
More striking: 28% of all qualifying tight ends had their personal best season at age 25—by far the most common peak age. Add in ages 24 and 26, and over 47% of players hit their ceiling between 24 and 26.
This tells us the “tight ends develop late” narrative is partly true and partly mythology. Yes, very few hit elite production at 21 or 22. But once they break out, most peak quickly—usually within their first two or three productive seasons.
Career Longevity at Peak Level
The other under-appreciated reality at tight end is just how short the typical career at this level actually is:
- 47% of qualifying TEs hit the 11 PPR/G threshold in just one season
- 65% manage two seasons or fewer
- Just 9% reach this threshold five or more times
- Only 6 players have done it eight or more times: Gonzalez, Kelce, Gates, Witten, Gronkowski, and George Kittle
Tight end has the shortest peak window of any pass-catching position. Nearly half of qualifying TEs are one-year wonders. The position’s elite tier is genuinely thin, and the few players who sustain it for years are some of the best in NFL history.
What Happened Last Season
The 2025 season produced 11 qualifying tight end seasons, and the youth movement at the position continues to accelerate. Trey McBride led all tight ends at 18.58 PPR/G in his age-26 season, cementing himself as the new TE1.
Brock Bowers followed up his historic rookie campaign with another elite year, posting 14.68 PPR/G at age 23. Tucker Kraft broke out at age 25 (14.65 PPR/G), and Kyle Pitts finally somewhat delivered on his draft pedigree with a 12.4 PPR/G campaign at 25.
Maybe the most remarkable line on the 2025 list: Harold Fannin Jr. qualified at just 21 years old—the youngest tight end in the entire 26-year dataset to clear this threshold. Only one other 21-year-old TE has ever done it.
Meanwhile, Travis Kelce hung on at age 36, scoring just 11.36 PPR/G—his lowest output since 2014. He still made the list, but the cliff is here. George Kittle remains an outlier at 32 (14.68 PPR/G), continuing to add to the small group of TEs who produce into their early 30s.
The bigger picture: six of the 11 qualifying TEs in 2025 were 26 or younger. Like the wide receiver position, tight ends are increasingly producing earlier in their careers—though the position’s rare graybeards continue to exist.
Dynasty Implications
Tight end is the position where dynasty managers most often fall into the survivorship bias trap. We see Tony Gonzalez producing at 37, Travis Kelce dominating at 33, Antonio Gates still relevant at 35—and we assume the position ages well. The data says otherwise for everyone who isn’t a Hall of Famer.
- Don’t pay generational prices for non-generational tight ends. If a TE isn’t in the top tier of his generation, his aging curve looks like a wide receiver, not a Hall of Famer.
- The sell window for typical TEs is 27–29. Once you remove the top five outliers, age-30+ seasons happen 17.7% of the time. That’s manageable as a tail risk, but not something to bet on.
- One elite season doesn’t guarantee a second. With 47% of qualifying TEs doing it just once, treat one-year breakouts with extra caution. The position’s thin elite tier means more flame-outs than at WR or RB.
- Young TEs are getting more valuable. With Bowers, McBride, LaPorta, Kraft, and Fannin all producing at 25 or younger in 2025, the “tight ends need 3 years to develop” rule is starting to break down. The next generation is arriving earlier.
The smartest dynasty managers separate the Hall of Fame talents from the merely good ones—and price them accordingly. Travis Kelce was a unicorn. Most tight ends aren’t.





Thank you for doing this every year!