🎃 Spirit Halloween: A $500m+ biz

{date(‘MMMM dd, yyyy’,time(“now”))}
The Hustle

There are few things in life better than a good recommendation. So we thought, why not include some? Starting today, at the bottom of the email, you’ll regularly find quick, honest recommendations from people on our team. Any topic is fair game.

Today’s rundown:

  • Spooky: How Spirit Halloween became a $500m+ business.
  • To Infinity and Beyond: Disney ticket prices, visualized.
  • Sustainability: How Google Search is going green.
  • Around the Web: A rotating Bosnian house, a site to hang like you’re in a ’90s video game, Today in 1985, and more.

Let’s do it.

The big idea
Spirit Halloween logo

How Spirit Halloween became a $500m+ business

The Halloween Industrial Complex is no joke.

As we covered last week, the National Retail Federation (NRF) estimates that US consumers will drop $10B+ on costumes, candies, and decorations for Halloween 2021.

One of the main recipients of this spend: Spirit Halloween, the chain of seasonal Halloween pop-up stores.

Spirit Halloween was founded by Joe Marver

In 1983, the entrepreneur owned a women’s clothing store in California, per Vox. A neighboring costume store did very well during Halloween — and when that store shut down, Marver pivoted his own business to costumes.

The “Spirit” name was pure coincidence. Marver wasn’t inspired by Halloween ghosts, but by the name of his shuttered store (Spirit Women’s Discount Apparel).

That first year, Spirit Halloween made $100k in 30 days. Over the next 16 years, Marver built Spirit Halloween into 60+ locations that were only open in the months leading up to Halloween (August, September, October).

Mall retailer Spencer’s Gifts…

… acquired Spirit Halloween in 1999 and growth exploded. Today, it runs 1.4k pop-up stores across Canada and the US.

According to Vox, Spirit’s real estate team works year-round trying to secure the best locations. While landlords — primarily mall operators and commercial real estate holders — prefer long-term tenants (5-10yrs), many accept Spirit’s temporary leases if nothing else materializes.

Per Bloomberg, Spirit offers above-market rates and its leases include a kick-out clause (Spirit is out if landlords find a permanent tenant by June). Often, Spirit ends up taking over spaces from bankrupt retailers like Sears or Toys R Us.

Spirit’s sales figures aren’t public

But in 2015 financial firm Moody’s estimated that it did $400m in sales, which was 16% of the $2.5B costume spend in the US that year.

If that market share holds steady for the NRF’s projected costume spend of $3.3B in 2021, Spirit’s revenue would total $528m. Even though it runs a website year-round, 90%+ of sales happen from Labor Day to Halloween.

In 2000, Marver told the Seattle Times: “I didn’t invent temporary sales… but I feel like I invented temporary Halloween.” We can thank Joe for that… and these absurd memes.

Source: Twitter / Buzzfeed

Share on Facebook Share on Twitter Send as email to a friend View on our website

Chip changes: The global chip shortage has changed how to sell cars — forcing reps to spend more time sourcing leads and nurturing potential customers with online chat. #ecommerce-retail

Wind tower: Vestas, a Danish manufacturer, announced plans to build the largest wind turbine in then world in 2022, and expects it to power ~20k homes. #clean-energy

Eyes on the road: Tesla launched an insurance service that uses real-time driving behavior. #emerging-tech

Apple’s ads: Apple’s in-house advertisements are driving 58% of all app downloads, up from 17% a year ago. #privacy

No crypto: Valve banned blockchain games and NFTs on Steam, its PC game store. #fintech-cryptocurrency

Insta’s fear: Internal documents showed Instagram has quietly been working on keeping teens due to fears that they’ll stop using the platform. #big-tech

To infinity and beyond!
Disney Infographic

Visual: Singdhi Sokpo

Disney World: Where dreams come true and wallets go empty

Over time, the price of Disney World tickets has gone up and to the right far more rapidly than the rate of US wages. At this rate, by 2031, the cost of one-day tickets for a family of 4 will run $1k+.

Just last week, Disney announced the Genie app, which, for $15 per ticket per day, offers trip planning and line-cutting rights.

But that doesn’t seem like what fans were wishing for: Genie’s announcement video on YouTube racked up 969 likes… and 13k dislikes.

Share on Facebook Share on Twitter Send as email to a friend View on our website
Google Sustainability

Google is putting sustainability in the hands of consumers, one product at a time

Google prides itself on its sustainability efforts, which include being carbon neutral since 2007, and plans to be carbon-free by 2030.

Now, the search giant is introducing a slew of product updates to help consumers become more sustainable as well, per The Verge.

Updates span 3 product categories

  1. Search: Google is launching a dedicated results page for high-quality information on climate change, and will prioritize electric vehicles and appliances when users search for those products.
  2. Travel: An update on Google Maps will show drivers which route is the most sustainable, and an update to Google Flights will show travelers’ CO2 emissions for each flight.
  3. Home: Nest Renew will let Nest thermostat owners optimize their heating and cooling for times where there is more renewable energy available on the grid.

But there’s still an elephant in the room

YouTube has been under fire for spreading false information about climate change. A recent analysis found that 20% of the top 100 results for “global warming” were filled with misinformation.

Google did recently ban videos with misinformation about COVID vaccines. Perhaps climate change is next?

Share on Facebook Share on Twitter Send as email to a friend View on our website

📼 On this day: In 1985, the 1st Blockbuster opened in Dallas with ~8k videotapes. Today, the last remaining Blockbuster is in Bend, Oregon.

🏠 Wow: A Bosnian woman wished for better views, so her husband built a home that rotates 360 degrees. At full speed, it can make a complete rotation in 22 seconds.

👾 Useful: Rambly is a fun virtual space where you can hang out with remote friends and colleagues in a ’90s video game with cute avatars, music, and hidden objects.

🧙‍♂️ Wait, what: Since 1982, Ian Brackenbury Channell has served as the official wizard of Christchurch, New Zealand, promoting the area and performing magical tasks. However, the city decided he no longer fits with its image and laid him off last week.

How to: A self-described “master procrastinator” explains the 5-step method he used to kick the habit.

🦍 Haha: And now, a person in a gorilla suit goes ape in the gymnasium.

Hustle Recommends…

Tony Bourdain’s scrambled eggs

It may sound weird to mix sour cream into scrambled eggs, but just trust us — and Tony.

– Rob

(In the future, if you want more recommendations on all kinds of things, click the smiley face below.)

How did you like today’s email?
Today’s email was brought to you by Trung Phan, Jacob Cohen, Juliet Bennett Rylah, Rob Litterst, Sara Cravatts.
Editing by: Zachary “Already got my Costume” Crockett.

Facebook Youtube Instagram Trends
25 FIRST ST. 2ND FLOOR, CAMBRIDGE, MA 02141, UNITED STATES   +1 888 482 7768 Never want to hear from us again? Break our hearts and unsubscribe.
The Hustle

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

Business and tech news in 5 minutes or less​


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/signup" default-source="thehustleco" default-medium="home-exit-popup" default-campaign="home-page"]
<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'); wrappingDivs.forEach(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('funnel_error_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.appendChild(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); } function appendCheckboxes() { var optInDivs = document.querySelectorAll('.trends-opt-in'); optInDivs.forEach(el => { if (el.getElementsByClassName('trends-opt-in-checkbox').length < 1) { var checkbox = document.createElement('input'); checkbox.setAttribute('class', 'trends-opt-in-checkbox'); checkbox.setAttribute('type', 'checkbox'); checkbox.setAttribute('name', 'trends_opt_in'); var label = document.createElement('label'); label.setAttribute('class', 'trends-opt-in-text'); label.textContent = "Yes, I'd like to receive updates on market opportunities before they explode from Trends by The Hustle"; el.appendChild(checkbox); el.appendChild(label); checkbox.click(); } }) } window.addEventListener('DOMContentLoaded', (event) => { var funnel_email_cookie = getCookieValue('funnel_email'); if ( (false) && (funnel_email_cookie != null && funnel_email_cookie != '') ) { window.location.replace('/home'); } initForm(); if (true) { appendCheckboxes(); } }); </script> <div class="email-signup" id=email-submission> <div class="funnel-error" style="display:none;"></div> <form class="email-submission" 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="thehustleco"> <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-referral hidden-input" type="hidden" name="referral_code"> <input class="funnel-fail-url hidden-input" type="hidden" name="fail_url" value=""> <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/signup"> <input id="recaptcha-response-v3" class="g-recaptcha hidden-input" type="hidden" name="g-recaptcha-response" value=""> <input class="signup-email" type="email" name="email" placeholder="Your email address" required autocomplete="email"> <input class="email-submit" type="submit" value="Join Free"> </div> <div class="trends-opt-in"></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>