Dick Wolf, the producer who owns prime time

With nine shows across two networks, Dick Wolf has an unprecedented grip on network TV.

Rob Litterst • May 23, 2022

Disney will beat Netflix, but it has a problem

Solving for profits while spending on growth is one helluva noble task.

Jacob Cohen • May 16, 2022

YouTube’s growth struggles to load

Earnings fell short of expectations. What happened?

Jacob Cohen • April 28, 2022

Digits: ‘Stranger Things,’ cremation, and saltier salt

Plus: Shareholders vs. workers, and weed sales are high.

Jacob Cohen • April 25, 2022

The economics of Netflix’s buttons

Buttons may be simple things, but their impacts are far from it.

Jacob Cohen • April 14, 2022

Should Netflix sell ads?

Why some analysts believe Netflix may need to un-differentiate itself.

Rob Litterst • April 6, 2022

Digits: Emoji news, overdue books, avocado mayhem, and more

Plus: Remote worker stats, and China’s livestream caps.

Jacob Cohen • April 4, 2022

Webtoons are taking over the world. Is the US next?

The digital comic format may be South Korea’s next big hit in the US.

Rob Litterst • March 30, 2022

Why the Oscars needed drama this year

To put it bluntly, fewer and fewer people have a reason to watch the Hollywood ordeal.

Jacob Cohen • March 29, 2022

Why Amazon bought MGM for $8.5B

The acquisition figures to help the company boost both subscription and advertising revenue.

Rob Litterst • March 21, 2022

By the numbers: Metaverse taxes, a McFlurry mess, and more.

Plus: “Lupin” was robbed, ironically, and auditors may need auditors.

Jacob Cohen • March 7, 2022

Spotify’s made lots of podcast acquisitions. What’s the master plan?

By using acquisitions to fuel both supply and demand, Spotify has snagged serious podcast market share from Apple.

Rob Litterst • February 23, 2022

Olympic viewership is way down. What’s going on?

NBC paid $7.75B for the rights to air the Olympics through 2032, and it needs viewers to start tuning in.

Rob Litterst • February 7, 2022

Is YouTube bigger than Netflix?

YouTube has a higher annual run rate ($34B) than Netflix ($30B).

Trung T. Phan • February 3, 2022

Streaming services lose ~50% of subscribers after big releases

Customers come for the buzzy release, then stay for the… well, they don’t stay. Which means studios must churn out the hits or pay for the classics.

Juliet Bennett Rylah • February 2, 2022

The business rationale that led to Spotify’s moderation scandal

Differentiating beyond music will boost the streaming giant’s margins, but brings its own problems.

Trung T. Phan • February 1, 2022

Netflix stats show a slowdown in streaming. How can the industry restart growth?

Netflix is down 37% in January 2022. Here’s how it can rebound.

Trung T. Phan • January 31, 2022

Digits: An odd lawsuit, $3.2B shapewear, and cargo cruises

Plus: Old music is in, and Peacock is losing money.

Jacob Cohen • January 31, 2022

Can CNN make streaming work?

CNN+ is launching in March with a line-up of celebs including Alison Roman, Eva Longoria and Audie Cornish.

Trung T. Phan • January 27, 2022

A bigger bill for Netflix and chill

Netflix is raising prices. What's the deal?

Jacob Cohen • January 18, 2022

Digits: Butter, boy bands, and electric mail

Plus: An expensive page, and the Broncos’ family problems.

Jacob Cohen • January 17, 2022

How a 10-year-old became the king of toys, and YouTube

Ryan’s World has 31m+ subscribers, making the 10-year old one of YouTube’s highest earners.

Rob Litterst • January 13, 2022

The podcast conundrum

The number of podcasts available is outpacing the number of ears that can listen.

Jacob Cohen • January 13, 2022

TikTok’s next victim could be Spotify. Here’s why

TikTok is looking to make its own Spotify.

Jacob Cohen • December 29, 2021

By the numbers: The NBA’s nuke bunker, menu sizes, and road cheese

Plus: Rat poison is flying off shelves and Joe Rogan’s expensive ads.

Jacob Cohen • December 20, 2021

Can Peloton sue HBO for the portrayal of its bike?

Peloton stock fell sharply after an unflattering feature in HBO’s “Sex and the City” reboot, and the company may be able to take legal action.

Trung T. Phan • December 14, 2021

Spotify Wrapped is the streaming giant’s secret growth hack

Spotify Wrapped is more than just a fun feature for users. The year-in-review slideshow boosted app downloads by 21% in December 2020.

Rob Litterst • December 6, 2021

Is Disney creating too much Marvel and Star Wars content?

Star Wars and Marvel films have made Disney $34B. There are dozens more projects in the pipeline, but do people actually want to watch?

Trung T. Phan • November 29, 2021

YouTube is going all-in on livestream ecommerce

Facing pressure from Apple’s privacy policy and Amazon’s retail dominance, Alphabet is making a push into ecommerce with YouTube “shoppable videos.”

Trung T. Phan • November 16, 2021

TikTok built a $400B+ tech giant on the smartphone. Can it transition to TV?

TikTok has hit 1B+ monthly active users. Can a move to Amazon’s Fire TV app grow that audience?

Trung T. Phan • November 5, 2021

Join 2M+ professionals getting the Hustle daily news brief

[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" 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); } function appendCheckboxes_email_submission() { var wrappingDiv = document.getElementById('email-submission'); var optInDivs = wrappingDiv.querySelectorAll('.trends-opt-in'); optInDivs.forEach(el => { el.style.display = null; if (el.getElementsByClassName('trends-opt-in-checkbox').length < 1) { var checkbox = document.createElement('input'); checkbox.setAttribute('id', 'trends_opt_in_email_submission'); checkbox.setAttribute('class', 'trends-opt-in-checkbox'); checkbox.setAttribute('type', 'checkbox'); checkbox.setAttribute('name', 'trends_opt_in'); var label = document.createElement('label'); label.setAttribute('for', 'trends_opt_in_email_submission'); label.setAttribute('class', 'trends-opt-in-text'); label.textContent = "Yes, I'd like to receive additional emails on hot business opportunities from Trends, by the Hustle"; el.appendChild(checkbox); el.appendChild(label); checkbox.click(); } }) } window.addEventListener('DOMContentLoaded', (event) => { initForm(); if (true) { appendCheckboxes_email_submission(); } }); </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="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-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-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=""> <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 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="trends-opt-in" style="display:none;"></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>