YouTube Watch Hours Progress Calculator – When You Actually Get There
Your YouTube Studio page shows two counters climbing on their own and says nothing about the question you actually have: when. Worse, it says nothing about which of them is holding you up. This YouTube watch hours progress calculator answers both. You bring the numbers from your own dashboard, and it projects a date for every gate, then names the one that lands last — your binding constraint.
The gates are independent, and you need all of them
Partner Program eligibility is not one number. There is a subscriber gate, and separately a watch-time gate you can clear by either qualified public watch hours on long-form video or qualified Shorts views. The two watch-time routes never add together — you clear one or the other, whichever you reach first. That is why the tool asks which pathway to project and offers an “either” setting that runs both and reports the earlier date.
The arithmetic, in the open
Every gate gets the same four lines. There is no compounding model here on purpose: watch hours are a flow measured over a window, not a base that grows on itself, and dressing a flow up as an exponential produces confident nonsense.
remaining = max(0, target - current)
percent = current / target x 100
daysToGoal = ceil(remaining / ratePerDay)
eta = today + daysToGoalTake the worked example the page opens with. At 640 of 1,000 subscribers — 64.0% — growing 2.4 a day, the subscriber gate is 360 / 2.4 = 150 days away. At 3,150 of 4,000 watch hours — 78.7% — growing 7.9 hours a day, the watch-hours gate is 850 / 7.9 = 108 days away. Both are moving; only one sets the date. Subscribers land 42 days later, so the honest sentence is: subscribers are your bottleneck, and you will hit your watch-hours target six weeks before you get there.
Why the chart is drawn in percentages
A thousand subscribers and ten million Shorts views cannot share a y-axis — plot the raw values and one line flattens into the floor. So each gate is normalised to percent of its own target against a single 100% line. Whichever line touches that line last is the visual answer to the whole question, and the progress bars above it make the same point with the shortest fill. The lines are straight because the model is linear; curves would imply a growth story the tool is not claiming.
Two ways to enter your growth rate
This is the input people get wrong. If you already know your daily average, type it — with a per-day, per-week or per-month selector applied to all three metrics. If you do not, use two snapshots instead: two dates and the counters on each, and the tool derives (later - earlier) / days and shows you what it inferred before projecting anything with it. A minus sign is allowed and is not treated as a typo.
The one thing this model does not do
Fitting a decay curve would need per-month history you do not have to hand, and a wrong decay model is worse than an honest caveat. So none is fitted. If your snapshots show a falling counter, the tool reports not reachable at this pace rather than inventing a date, and explains that a shrinking counter usually means the window is emptying faster than you are filling it.
Working backwards from a date
Set a target date and each unmet gate gains a required pace: remaining / daysAvailable, next to what you are actually doing. The verdict is either “on track” or a plain multiple — needs about 1.3× your current pace — which is far more actionable than a date you have already missed.
What this cannot tell you
This is a projection, not an eligibility check. Thresholds are set by YouTube and change: a higher entry bar for new applicants takes effect on 1 February 2027, which is why both tiers ship as presets with the date the figures were checked, and why every threshold is an editable field. Eligibility also depends on your channel’s standing against the Community Guidelines and monetisation policies, two-step verification, a linked AdSense account, and the programme being available where you live. Nothing here is fetched or looked up — the Data API needs a key and OAuth, neither of which can exist in a static page, so every figure comes from what you typed.