America’s favorite family outings are increasingly out of reach

Taking the kids to a baseball game, a movie, or Disneyland is a bigger financial commitment than it used to be for middle-class families.

Earlier this summer, Steven Martinez made a promise to his two young kids: He’d finally take them to Disneyland, the “happiest place on Earth.”

But Martinez, a customer service specialist in Los Angeles, didn’t feel the magic when he saw the price tag.

“Just for one day in the park and one night at the hotel, we were looking at over $1k and that didn’t even include food,” he says. “I had to explain to the kids that Mickey was out of Daddy’s budget.”

Most families across the country can relate.

In the 1950s and ’60s — the so-called Golden Age of American capitalism — family outings were within the realm of affordability for most median income earners. Many blue-collar workers could afford new homes and cars and still take their kids to Disneyland.

Despite rising wages, many of those same activities are now out of reach for everyday Americans.

The Hustle analyzed the cost of three family activities in 1960 vs. 2022:

  1. A baseball game
  2. A movie at a theater
  3. A one-day Disneyland visit

We found that these family outings have increased in cost at 2-3x the rate of inflation — and that, in order to afford them, today’s American families have to work up to 2x as many hours as they did 60 years ago.

Wages: 1960 vs. today

Before we get into the numbers, let’s compare how much families earned in 1960 to what they earn today.

For this analysis, we used median family income data from the US Census Bureau, which skews higher than median household income. This measures the typical sum of all earnings of family members who live together.

Enjoying this article?

Get the Hustle’s 5-minute weekday roundup that keeps you hip to happenings in tech, business, and internet… things.

Zachary Crockett / The Hustle

In 1960, the median family brought in $5,620 ($2.70/hr), or ~$55.5k per year adjusted for inflation. Today’s median family earns considerably more, at $84k per year, or $40.38/hr.

But when it comes to traditional family outings, the purchasing power of that income has declined.

For each of these examples, we’ll calculate the cost for a family of four (two parents and two kids).

Baseball games

First, let’s take a look at “America’s favorite pastime,” a Major League Baseball game.

We began with 2022 data from the FanCostIndex, which compiles the average price of tickets, food, beverages, and parking across all 30 MLB teams. Then, we calculated the total cost of the items a family of four  typically buys at the ballpark:

  • Four Tickets
  • Two Beers
  • Two Sodas
  • Four Hot dogs
  • Parking

At today’s ballgames, the total of these items varies regionally, from a whopping $324 (Boston Red Sox) down to $126 (Arizona Diamondbacks). 

But across all teams, the average works out to $204.76 per family.

Zachary Crockett / The Hustle

How’s that stack up to a baseball game in 1960?

We trawled through newspaper archives and baseball history books to piece together per-unit cost estimates for the same items.

The chart below shows the actual price per unit in 1960, that same price adjusted for inflation in 2022 dollars, the price in 2022, and the total cumulative cost for a family to attend a ballgame in each case.

Zachary Crockett / The Hustle

Back in the day, four tickets cost a mere $1.91 ($18.86 in 2022 dollars), two beers and four hot dogs could be had for $0.35 ($3.46), and parking was the bargain of the century at $0.25 ($2.47).

For a family of four in 1960, the average total would’ve come out to ~$10.35. Adjusted for inflation, that’s ~$102 — or half of what it costs today.

Where’s all that extra cost coming from?

Since 1960, the cumulative rate of inflation across all goods in the US has been 888% (meaning $1 in 1960 is $9.88 today). By contrast, baseball tickets, ballgame beer, and hot dogs have gone up more than 1,000%.

But where fans are really getting taken for a ride is in the parking lot.

At $16.79, the average cost to park a vehicle at a baseball game today is 6,616% more than it was in 1960 — 7.5x the rate of inflation!

Zachary Crockett / The Hustle

This is partly a reflection of the increasing cost of land. But it’s also a result of simple supply and demand: At many stadiums, parking is a limited resource, and drivers are willing to shell out more than what is reasonable for a slice of asphalt. 

Some teams are more inclined to gouge their fans than others.

The Texas Rangers, who have one of the most expensive parking lots in the MLB, hike up parking fees as a way to pass new stadium construction costs on to their fans. Call it a nice little fan appreciation gesture.

But the practice of overcharging for ancillary offerings isn’t unique to baseball teams.

The movies

Taking the family to see a movie was once heralded as a cheap, fun way to spend an afternoon. Has that reputation held up over time?

Let’s assume a family of four goes to view an esteemed motion picture like Minions: The Rise of Gru at the local theater and buys the following:

  • Four Tickets
  • Four Sodas
  • Two Popcorns
  • One Box of Candy

For 2022 prices, we compiled average movie ticket data from The Numbers and average concessions data from Movie Food Prices’ AMC theaters list. For 1960 prices, we turned to newspaper archives from 10 cities across the US and created an aggregate estimate.

All in all, today’s family movie outing averages $68.73.

Back in 1960? About $3.76 ($34.15, adjusted for inflation).

Zachary Crockett / The Hustle

As is the case with baseball games, the cost of seeing a movie with the kids today is 2x the inflation-adjusted 1960 cost.

Also similar to ballgames, the ticket price itself is the least egregiously priced item on the list.

Adjusted for inflation, that $0.70 movie ticket in 1960 would be about $6.17 today — not too far off from the modern-day average of $9.17. As The Hustle has previously explained, it’s the concessions stand where the theaters really get you.

Zachary Crockett / The Hustle

In 1960, movie treats were pretty modestly priced.

A popcorn or candy bar would set you back ~$0.20 ($1.97, adjusted for inflation), and soda ran a few cents cheaper.

Today, that wouldn’t even get you an extra pump of processed butter: Candy (+1,210%), soda (+2,145%), and popcorn (+3,845%) have all outpaced inflation by 3-4x.

The reasons for this have a lot to do with the ailing business model of movie theaters.

Theaters have to fork over ~70% of all ticket sales to the distributor, leaving them with little to cover expenses. They tend to think of movies as a loss leader, and make their profits on food and drinks.

The markup on a tub of popcorn, which costs less than $1 to make, is ~800%. At major chains like AMC and Cinemark, concessions only account for ~30% of total gross revenue, yet make up 45%-50% of gross profits.

Disneyland

Lastly, we wanted to take a look at the big daddy of all family outings: a trip to Disneyland in Anaheim, California.

We chose to keep this one simple and omit the cost of travel/airfare. We also didn’t include food, since the park permits guests to bring in their own snacks.

What we’ve laid out is a bare-bones Disneyland outing for a family of four, comprised of the following costs:

  • Two child tickets (one-day)
  • Two adult tickets (one-day)
  • Parking
  • A one-night stay at Disneyland Hotel

The 2022 prices come from Disney’s own websites, assuming a weekend day trip in June (Disney has dynamic ticket pricing). The 1960 prices were gleaned from old ticket stubs and newspaper archives.

(One important clarifying note: Back in 1960, you paid for the park admission ticket and the rides separately. We’ve combined those costs below.)

Zachary Crockett / The Hustle

In 1960, an adult ticket was $1.60, and a child’s ticket (ages 3-11) was just $0.60. A 10-ride pass was an additional $3.95 (adult) and $2.95 (child). Those combined costs would be $54.81 for an adult and $35.06 for a child, adjusted for inflation.

Today’s prices today are far steeper: Tickets clock in at $149 and $141, respectively.

Once $18/night ($178 in today’s money), a double-bed room at Disneyland Hotel will now set you back $445.

But like the ballgame, the real kick in the ass is the parking.

It used to be a mere $0.25 ($2.47, adjusted) to park your car there. Today, it’s $30. That’s — wait for it — an 11,900% bump in price since 1960, or 13.5x the rate of inflation.

Disney’s main parking lot, affectionately dubbed Mickey and Friends, cost $108m and was subsidized through government bonds. Disney leases the land from the city of Anaheim for a whopping $1/year and keeps all profits from the garage.

Zachary Crockett / The Hustle

“If Walt [Disney] were alive today, he would probably be uncomfortable with the prices they’re charging right now,” Scott Smith, an assistant professor of hospitality at the University of South Carolina, told the Washington Post in 2015. “They’ve priced middle-class families out.”

Of course, one could argue that a Disney goer is getting a better value than they would’ve 60 years ago. In 1960, the park had <20 attractions (rides, shows, exhibits); today, it has 53.

Disneyland’s operating costs have also significantly increased over the years: ride maintenance, daily painting, landscaping, engineering, merchandising, parade float operations — you get the drift. The park’s annual attendance has increased threefold, to 18m, since 1960.

Still, for a park that has received ~$500m in government handouts since 1991, one would expect a little more generosity when it comes to price sensitivity for guests.

How many hours do families have to work to afford outings?

Assuming 40-hour weeks and a standard 2,080 work hours per year, the median family wage in 1960 ($5,620) worked out to ~$2.70/hour. Today’s median ($84k) is $40.38/hr.

How many more hours do families have to work today to afford these activities?

Zachary Crockett / The Hustle

Though wages have gone up considerably since 1960, they’ve been outpaced by the growing cost of family activities.

These increases may look small (partly because they’re dwarfed by Disneyland’s figures), but spending 22%-96% more time at the office is pretty consequential when you have a family to take care of.

For those earning minimum wage, this struggle is especially pronounced.

In 1960, the federal minimum wage was $1/hr — higher, adjusted for inflation ($9.88/hr), than today’s $7.25.

Decades ago, some of these family outings were within grasp. But today, a family with two minimum wage earners would have to work 173%-299% more hours to take their family out than two similar workers in 1960. For them, a one-day trip to Disneyland would require nearly two weeks of pay.

Zachary Crockett / The Hustle

Recent research has shown that a family has to earn at least $35.80/hour just to meet basic needs. The average two-kid family spends 25% of its income on child care alone — and these figures don’t even fully take into account runaway inflation, which recently topped 9%.

The reality is that today’s $40/hr median family income doesn’t leave as much wiggle room for American pastimes as it used to.

And as Steven Martinez, and many others, have learned, this is especially true of “the most magical place on Earth.”

Get the 5-minute roundup you’ll actually read in your inbox​

Business and tech news in 5 minutes or less​

Psst

How'd Bezos build a billion dollar empire?

In 1994, Jeff Bezos discovered a shocking stat: Internet usage grew 2,300% per year.

Data shows where markets are headed.

And that’s why we built Trends — to show you up-and-coming market opportunities about to explode. Interested?

[email-submission-form button-text="Join Free" include-trends-opt-in="true" success-url="https://thehustle.co/new-thank-you-v2/" default-source="thehustleco" default-medium="home-exit-popup" default-campaign="home-page" form-id="exit-popup-general" optinmonster-conversion="true"]
<script type="text/javascript"> var onloadCallback = function() { grecaptcha.render('verify-your-humanity', { 'sitekey' : '6LdddrcZAAAAALyttpvOqiwQGwq5BNhgDz4tMQGE' }); }; function getCookieValue(a) { var b = document.cookie.match('(^|[^;]+)\\s*' + a + '\\s*=\\s*([^;]+)'); return b ? atob(decodeURIComponent(b.pop())) : ''; } function getCookie(name) { var cookieArr = document.cookie.split(";"); for(var i = 0; i < cookieArr.length; i++) { var cookiePair = cookieArr[i].split("="); if(name == cookiePair[0].trim()) { return decodeURIComponent(cookiePair[1]); } } return null; } function setHiddenFieldValue(wrappingDiv, searchParams, className, utmName, cookieName, defaultValue) { var el = wrappingDiv.getElementsByClassName(className)[0]; var existingVal = el.getAttribute('value'); if (utmName == 'ref') { var newVal = searchParams.get(utmName) || getCookie(cookieName); } else { var newVal = searchParams.get(utmName) || getCookieValue(cookieName); } if ((existingVal == null || existingVal == '' || existingVal == defaultValue) && (newVal != null && newVal != '')) { el.setAttribute('value', newVal); } } function setHiddenFieldValueFromUtm( wrappingDiv, searchParams, className, utmName, defaultValue ) { var el = wrappingDiv.getElementsByClassName(className)[0]; if (el != null) { var existingVal = el.getAttribute("value"); var newVal = searchParams.get(utmName); if (newVal != null && newVal != "") { el.setAttribute("value", newVal); } } } function initForm() { var wrappingDivs = document.getElementsByClassName('email-submission'); Array.prototype.forEach.call(wrappingDivs,wrappingDiv => { var sp = new URLSearchParams(window.location.search); setHiddenFieldValue(wrappingDiv, sp, 'funnel-source', 'utm_source', 'funnel_source', 'thehustleco'); setHiddenFieldValue(wrappingDiv, sp, 'funnel-campaign', 'utm_campaign', 'funnel_campaign', 'home-page'); setHiddenFieldValue(wrappingDiv, sp, 'funnel-medium', 'utm_medium', 'funnel_medium', 'home-exit-popup'); setHiddenFieldValue(wrappingDiv, sp, 'funnel-referral', 'ref', 'funnel_referral', ''); setHiddenFieldValueFromUtm(wrappingDiv, sp, 'funnel-a', 'a', ''); setHiddenFieldValueFromUtm(wrappingDiv, sp, 'funnel-c', 'c', ''); setHiddenFieldValueFromUtm(wrappingDiv, sp, 'funnel-o', 'o', ''); setHiddenFieldValueFromUtm(wrappingDiv, sp, 'funnel-oc', 'oc', ''); setHiddenFieldValueFromUtm(wrappingDiv, sp, 'funnel-e', 'e', ''); setHiddenFieldValueFromUtm(wrappingDiv, sp, 'funnel-f', 'f', ''); setHiddenFieldValueFromUtm(wrappingDiv, sp, 'funnel-r', 'r', ''); setHiddenFieldValueFromUtm(wrappingDiv, sp, 'funnel-t', 't', ''); setHiddenFieldValueFromUtm(wrappingDiv, sp, 'funnel-s1', 's1', ''); setHiddenFieldValueFromUtm(wrappingDiv, sp, 'funnel-s2', 's2', ''); setHiddenFieldValueFromUtm(wrappingDiv, sp, 'funnel-s3', 's3', ''); setHiddenFieldValueFromUtm(wrappingDiv, sp, 'funnel-s4', 's4', ''); setHiddenFieldValueFromUtm(wrappingDiv, sp, 'funnel-s5', 's5', ''); var error_message = getCookieValue('validate-email-message'); if (error_message && error_message.trim() != '') { var error = wrappingDiv.getElementsByClassName('funnel-error')[0]; var prev_email = getCookieValue('funnel_email'); error_message = prev_email + " is not valid. Please try again"; error.innerHTML = error_message; error.style = ''; } }); if (false) { initCaptchaFormV2(); } } function initCaptchaFormV2() { var v3RecaptchaResponseEl = document.getElementById('recaptcha-response-v3'); v3RecaptchaResponseEl.parentNode.removeChild(v3RecaptchaResponseEl); var wrappingDiv = document.getElementById('email-submission'); var subForm = wrappingDiv.getElementsByClassName('email-submission')[0]; var captchaVersion = document.createElement('input'); captchaVersion.class = 'g-recaptcha hidden-input'; captchaVersion.type = 'hidden'; captchaVersion.name = 'g-recaptcha-response-v2'; captchaVersion.value = 'true'; subForm.appendChild(captchaVersion); var captchaEl = document.createElement('div'); captchaEl.id = 'verify-your-humanity'; subForm.prepend(captchaEl); var captchaApiScriptEl = document.createElement('script'); captchaApiScriptEl.src = 'https://www.recaptcha.net/recaptcha/api.js?onload=onloadCallback&render=explicit'; captchaApiScriptEl.async = true; captchaApiScriptEl.defer = true; document.head.appendChild(captchaApiScriptEl); } window.addEventListener('DOMContentLoaded', (event) => { initForm(); }); if(typeof hp_interval == 'undefined') { var hp_interval = 0; var hp_ts = 0; var hp_try = 0; jQuery(document).ready(function ($) { hp_interval = setInterval(function(){ $('input.hp_ts').val(hp_ts); hp_ts += 1; if(hp_ts >= 180) { clearInterval(hp_interval); } },1000); $('.email-submission:not(.prevent-default)').submit(function (e) { var form = $(this); if(hp_ts < 3 && hp_try < 1) { e.preventDefault(); if (form.find('.email-form-submit-message').length < 1) { form.find('.email-form-wrap').after('<p class="email-form-submit-message" style="padding: 0em 1.5em;">Too fast! Are you a human? Try again please.</p>'); } hp_try += 1; hp_ts = 0; $('input.hp_try').val(hp_try); } }); }); } </script> <div class="email-signup" id=email-submission> <div class="funnel-error" style="display:none;"></div> <form class="email-submission " id="exit-popup-general" action="https://cms.thehustle.co/api/v1/contacts/wordpress_create" method="post" autocomplete="email"> <div class="email-form-wrap"> <input class="funnel-source hidden-input" type="hidden" name="source" value="digg"> <input class="funnel-campaign hidden-input" type="hidden" name="campaign" value="home-page"> <input class="funnel-medium hidden-input" type="hidden" name="medium" value="home-exit-popup"> <input class="funnel-form-id hidden-input" type="hidden" name="form-id" value="exit-popup-general"> <input class="funnel-referral hidden-input" type="hidden" name="referral_code"> <input class="funnel-fail-url hidden-input" type="hidden" name="fail_url" value=""> <input class="funnel-ip-country-wordpress hidden-input" type="hidden" name="ip_country_wordpress" value="US"> <input class="funnel-submission-url hidden-input" type="hidden" name="submission_url" value="https://thehustle.co/americas-favorite-family-outings-are-increasingly-out-of-reach/?utm_source=digg"> <input class="funnel-a hidden-input" type="hidden" name="a" value=""> <input class="funnel-c hidden-input" type="hidden" name="c" value=""> <input class="funnel-o hidden-input" type="hidden" name="o" value=""> <input class="funnel-oc hidden-input" type="hidden" name="oc" value=""> <input class="funnel-e hidden-input" type="hidden" name="e" value=""> <input class="funnel-f hidden-input" type="hidden" name="f" value=""> <input class="funnel-r hidden-input" type="hidden" name="r" value=""> <input class="funnel-t hidden-input" type="hidden" name="t" value=""> <input class="funnel-s1 hidden-input" type="hidden" name="s1" value=""> <input class="funnel-s2 hidden-input" type="hidden" name="s2" value=""> <input class="funnel-s3 hidden-input" type="hidden" name="s3" value=""> <input class="funnel-s4 hidden-input" type="hidden" name="s4" value=""> <input class="funnel-s5 hidden-input" type="hidden" name="s5" value=""> <input class="funnel-success-url hidden-input" type="hidden" name="success_url" value="https://thehustle.co/new-thank-you-v2/"> <input id="recaptcha-response-v3" class="g-recaptcha hidden-input" type="hidden" name="g-recaptcha-response" value=""> <div class="signup-icon" style="display:none;"> <svg width="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M22 6c0-1.1-.9-2-2-2H4c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V6Zm-2 0-8 5-8-5h16Zm0 12H4V8l8 5 8-5v10Z" fill="#848B92"></path></svg> </div> <input type="hidden" name="hp_ts" class="hp_ts" value="0"> <input type="hidden" name="hp_try" class="hp_try" value="0"> <input type="text" name="first_name" placeholder="Enter your name" value=""> <input class="signup-email" type="email" name="email" placeholder="Your email address" required autocomplete="email"> <input class="email-submit om-trigger-conversion" type="submit" value="Join Free"> </div> <div class="validate-mistake-emails-message" style="display:none;"></div> <div class="form-options" style="display:none"> <div class="form-options-wrap"> <div class="trends-opt-in"> <input id="trends_opt_in_email_submission" class="trends-opt-in-checkbox" type="checkbox" name="trends_opt_in"> <label for="trends_opt_in_email_submission" id="trends_opt_in_label" class="trends-opt-in-text">Yes, I’d like to receive additional marketing emails on hot business opportunities from Trends, by the Hustle.</label> </div> <div class="privacy-text"> <p>We're committed to your privacy. The Hustle uses the information you provide to contact you about our relevant content and services. You may unsubscribe from these communications at any time. For more information, check out our <a href="https://thehustle.co/privacy">Privacy Policy</a>.</p> </div> </div> </div> <div submit-success> <template type="amp-mustache"> <p class="c-message c-message--success">Thank you for subscribing.</p> </template> </div> <div submit-error> <template type="amp-mustache"> <p class="c-message c-message--failed">Your submission failed. Please try again!</p> </template> </div> </form> </div>