Revenue tools / No signup needed

Twitch Ad Revenue Calculator

Use your own historical net advertising earnings to build a Twitch scenario. First calculate the historical rate as net ad earnings divided by viewer-hours, multiplied by 1,000. Then enter that rate with forecast viewing and streaming hours below. This is a planning model, not an official Twitch CPM or payout formula.

By AdNetworkRankSources checked Research methodology

Your Estimated Earnings

Editable example · enter your own inputs below
$160.00
Changing currency changes the label, not the numeric rate. No exchange conversion is performed.

Example assumptions, not market rates. All default values are editable arithmetic examples. Enter your own low, base, and high rates; these scenarios are not prediction intervals. Use one currency and one monthly reporting scope.

Historical net ad yield per viewer-hour

Build a scenario from your own past net ad earnings and viewer-hours. This self-defined historical yield is not an official Twitch CPM or a fixed payout rate.

Viewer-hours = average concurrent viewers × streamed hours; ad revenue = viewer-hours × historical net ad yield per 1,000 viewer-hours ÷ 1,000

average viewers during streamed hours
hours per month
per 1,000 viewer-hours, not ad impressions
per 1,000 viewer-hours, not ad impressions
per 1,000 viewer-hours, not ad impressions
Base monthly scenario$160.00

Twitch ad revenue scenario from historical viewer-hour yield

Revenue scenarios from your own low, base, and high rates
PeriodLowBaseHigh
Monthly scenario$80.00$160.00$240.00
Daily average · monthly ÷ 30$2.67$5.33$8.00
Annual run rate · monthly × 12$960.00$1,920.00$2,880.00
Monthly viewer-hours
8,000

All volume inputs describe one month. The daily figure divides that month by 30; the annual figure repeats it 12 times. Rates, traffic, and ad demand may change. Scenarios are not confidence intervals or guaranteed payouts.

Monetizing a website too? See the best networks and check the terms for your site.

How Ad Revenue Is Calculated

Viewer-hours = average concurrent viewers × hours streamed. Ad revenue scenario = viewer-hours × historical net ad yield per 1,000 viewer-hours ÷ 1,000.

Know what your inputs mean

  • For a historical sample, calculate viewer-hours from the time-weighted average concurrent viewers over the same streamed hours. Do not use peak viewers, followers, or unique viewers as average concurrency.
  • Derive each scenario rate from your own historical net ad earnings and matching viewer-hours, or enter an explicit assumption. The sample rates are not Twitch benchmarks.
  • This viewer-hour yield combines historical demand, ad scheduling, audience geography, and ad-free viewing. It does not mean every viewer receives an ad.
  • Twitch Turbo viewers do not see Ads Manager scheduled ads; whether channel subscribers see ads depends on the streamer’s setting. Viewer-hours are therefore not ad impressions.
  • The net historical yield already includes the applicable revenue share. Do not apply 55% again. Current eligibility, scheduling, and share details belong in the creator’s Twitch dashboard.
  • Changing ad minutes may affect both ad delivery and audience behavior. This calculator does not assume a linear payout for each added minute or use a fixed ad duration to manufacture impressions.
  • Subscriptions, Bits, donations, and sponsorships are excluded. If your audience mix or ad schedule changes, update the assumed yield rather than treating the old rate as guaranteed.

From Your Report to a Reproducible Revenue Scenario

Choose a revenue scope before copying numbers. Match dates, currency, countries, devices, ad formats and content or app inventory within each historical sample. The historical sample can cover a different period from the monthly scenario, but its earnings and denominator must cover the same dates. Report labels can vary; the table maps definitions, not a guaranteed dashboard click path.

Historical net ad yield per viewer-hour: Report Fields to Calculator Inputs

Revenue scope: Your net Twitch advertising earnings and matching audience viewing time; exclude subscriptions, Bits and sponsorships.

Historical net ad yield per viewer-hour input mapping
Report field or calculationCalculator inputUnit and scope rule
Time-weighted average concurrent viewersAverage concurrent viewersUse the average audience during the monthly streamed hours, not peak, unique viewers, followers or subscribers.
Hours streamed during the monthly scenarioHours streamed per monthMultiply by matching average concurrent viewers to get viewer-hours. Viewer-hours are not ad impressions.
Your separately supported rate assumption or measured historical sampleLow scenario rateUse per 1,000 viewer-hours, not ad impressions. This is an input scenario, not a reported confidence bound. The historical-rate helper sets all three rates to one measured rate.
Matching reported publisher/creator rate, or earnings ÷ matching denominator × 1,000Base scenario rateUse per 1,000 viewer-hours, not ad impressions. Keep the revenue scope below; do not deduct a platform share twice.
Your separately supported rate assumption or measured historical sampleHigh scenario rateUse per 1,000 viewer-hours, not ad impressions. This is an input scenario, not a reported confidence bound. The historical-rate helper sets all three rates to one measured rate.

Definition sources: Twitch: Ads Manager, ad-free viewing, and revenue estimates; Twitch: Affiliate revenue FAQ and changing advertiser demand.

Recalculate an Example: Synthetic Data, Not Market Rates

The invented historical sample has 48 USD of earnings in the scope above and 2400 matching viewer-hours. Historical rate = 48 ÷ 2400 × 1,000 = 20 USD per 1,000 viewer-hours. No platform share is deducted a second time.

The same historical viewing time can be calculated as 60 time-weighted average concurrent viewers × 40 streamed hours = 2400 viewer-hours. This is viewing time, not delivered ad impressions or an official Twitch CPM.

For a separate monthly scenario, enter average concurrent viewers: 80; hours streamed per month: 60. Set low, base and high rates to 20 to represent this one historical sample.

Scenario check: 4800 viewer-hours × 20 ÷ 1,000 = 96 USD for the month. The three scenario amounts are equal because their rates are equal. These numbers demonstrate the formula; they do not estimate a market payout.

Derive and Apply Your Historical Rate

Use earnings and the matching denominator from one report sample. Enter the earnings in the main calculator’s selected currency; changing its currency does not convert money. Exclude advertiser spending and referral commissions. For estimated earnings, keep that estimated scope consistent rather than mixing it with a finalized payment.

Current mode: Historical net ad yield per viewer-hour. Scope: Your net Twitch advertising earnings and matching audience viewing time; exclude subscriptions, Bits and sponsorships. Currency: USD. Changing mode or currency clears historical inputs.

Zero earnings with a positive denominator produces a valid zero rate. A zero denominator cannot establish a rate.
Matching viewer-hours
viewer-hours

Enter matching historical earnings and a positive denominator to calculate a rate.

Apply changes only the current mode’s low, base and high rates. It leaves traffic and other modes alone. Three equal rates describe one historical sample, not a prediction interval. The main scenario share link includes the applied rates; these historical helper inputs are not added to it or saved to local storage.

Keep a Comparable Test Worksheet

Download the Revenue Test Worksheet (CSV). Add one row for each comparable report segment. Record the dates, currency, geography, device, format, revenue scope and denominator definition with the totals. Keep app-level and ad-source scopes separate, and compare rates only after reconciling their definitions.

Twitch Advertising and Subscription Revenue

A Twitch channel can receive advertising, subscription and other revenue, but those sources need separate models. This Twitch revenue calculator estimates the advertising component from your own historical net ad earnings per 1,000 viewer-hours. It does not apply an advertising rate to subscriptions, Bits, donations or sponsorships.

For a channel budget, calculate the ad scenario first. Record net subscription earnings and other distinct income separately for the same period and currency, then add the totals. A subscription count needs the applicable subscription terms or reported net earnings; it cannot be converted with the viewer-hour advertising yield.

Viewer-hours measure audience time rather than delivered ads. Turbo viewing and the channel’s subscriber ad-free setting can change how much of that audience sees scheduled advertising. The Ads Manager documentation describes these conditions. A historical yield summarizes the sample’s delivery conditions; it is not an official Twitch CPM.

Compare Twitch Stream Categories

To compare gaming, Just Chatting or another category, collect category-specific net ad earnings and matching viewer-hours. Use time-weighted average concurrency over the actual streamed hours. Keep ad scheduling, dates and audience geography comparable, and record material differences rather than assigning a rate to a category label.

A category with higher total revenue may simply have more viewing time. A category with higher historical yield may have a different ad schedule or audience mix. Inspect both totals and rates before changing the channel’s content plan. This calculator does not supply category benchmarks or assume that adding ad minutes raises revenue in direct proportion.

Twitch vs YouTube: Compare the Revenue Scope First

ModelTraffic unitRevenue included
This Twitch scenarioViewer-hoursNet advertising earnings represented by your historical yield
YouTube long-form ad-only modeLong-form video viewsEstimated net advertising revenue
YouTube Studio RPM modeThe corresponding video viewsTotal reported monetization revenue in the RPM scope
YouTube Shorts modeEngaged Shorts viewsRevenue represented by the net Shorts RPM

A viewer-hour rate and a view-based RPM cannot be ranked as if they shared a denominator. Compare advertising totals over a defined period, and keep subscription or membership revenue separate. Use the YouTube ad revenue calculator with the corresponding report scope if you are planning both platforms.

Official definitions and sources

  1. Twitch: Ads Manager, ad-free viewing, and revenue estimates
  2. Twitch: Affiliate advertising settings
  3. Twitch: Affiliate revenue FAQ and changing advertiser demand

Frequently Asked Questions

Is the rate in this calculator Twitch CPM?

No. It is your own historical net ad earnings per 1,000 viewer-hours. CPM uses ad impressions, while this planning model uses viewing time. They cannot be substituted for one another.

How do I find my historical viewer-hour ad yield?

Choose a period, take net ad earnings from your earnings data, and divide them by viewer-hours for that same period, then multiply by 1,000. Use a time-weighted average concurrent audience when deriving viewer-hours from streamed hours.

Can I use follower count or peak viewers?

No. The volume estimate needs average concurrent viewers during the streamed hours. Followers, unique viewers, and peak concurrency describe different things.

Does 55% revenue share guarantee an hourly amount?

No. A share applies to a revenue base; it does not set demand, ad impressions, or an hourly payout. This calculator uses a creator-side historical rate and never applies the share a second time.

How much more will I earn by running extra ad minutes?

This tool cannot determine that from minutes alone. Actual results depend on demand, available ads, viewing behavior, geography, and ad-free audience settings. Use a separately supported historical yield scenario if the schedule changes.

Does this Twitch revenue calculator estimate total channel income?

It estimates advertising only. Subscription revenue, Bits, donations and sponsorships require separate inputs and terms. The broader phrase Twitch revenue calculator does not make the ad result a total-income forecast; combine revenue categories only after checking that none overlap.

How should I combine Twitch ads and subscriptions in a budget?

Keep the ad scenario separate from net subscription earnings. Use subscription revenue from the applicable account report or a separately supported assumption, then add it to advertising for the same currency and period. Do not apply the ad yield to subscriber counts.

Can I compare gaming, Just Chatting and other Twitch categories?

Compare your own category-specific net ad earnings and matching viewer-hours. Hold the period, audience geography and ad schedule as comparable as possible. A category label alone cannot supply a payout rate, and an observed difference does not prove the category caused it.

Can I compare a Twitch viewer-hour yield with YouTube RPM?

Not directly. Twitch viewer-hour yield divides net ad earnings by viewing time, while a YouTube view-based RPM divides a specified revenue total by views. Compare total net ad revenue over a defined period, and retain each platform’s denominator when assessing its rate.

Do subscribers and Twitch Turbo viewers affect the scenario?

They can affect the relationship between viewer-hours and ad earnings. Twitch Turbo viewers do not see scheduled Ads Manager ads, and subscriber ad-free viewing depends on the channel setting. Use historical yield from a comparable audience mix rather than treating every viewer-hour as ad inventory.

Can I apply an old Twitch ad yield after changing the ad schedule?

Only as an explicit assumption. Changes to scheduling, audience behavior and available demand may change the yield. Build a separately supported scenario or measure a comparable period after the change; multiplying by the change in ad minutes does not establish the new revenue.

What if my average concurrent audience changes during a stream?

Use the time-weighted average concurrent audience across the streamed hours. For several sessions, calculate viewer-hours for each session and add them. An unweighted average of session averages can be wrong when the sessions have different lengths.