Doomscrolling Calculator

Methodology

How the doomscrolling calculator works: formulas and a worked example

By Influish Editorial Team · Published

Short answer

The calculator multiplies your daily scrolling minutes by the days per week you scroll, then converts that to an average day and scales it by 30.44 days for a month and 365.25 days for a year. Waking-time share divides scrolling time by (24 − sleep hours). The projection multiplies the yearly total by the number of years you choose. Nothing else is assumed.

What goes in?

  • D: minutes you scroll on a day you scroll (hours × 60 + minutes, capped at 1,440). In Reels mode, D = Reels per day × seconds per Reel ÷ 60.
  • W: days per week you scroll, a whole number from 1 to 7.
  • S: hours of sleep per night (default 8).
  • N: projection horizon in years (default 10).

What are the exact formulas?

# averages
avg_daily      = D × W ÷ 7
# totals (minutes, converted to hours ÷ 60)
weekly         = D × W
monthly        = avg_daily × 30.44
annual         = avg_daily × 365.25
annual_days    = annual_hours ÷ 24
# waking time
waking_min     = (24 − S) × 60
waking_share   = D ÷ waking_min × 100          # on a scrolling day
waking_avg     = avg_daily ÷ waking_min × 100  # averaged over the week
# projection
proj_hours     = annual_hours × N
proj_days      = proj_hours ÷ 24
proj_wake_yrs  = proj_hours ÷ ((24 − S) × 365.25)
# scenarios
D_cut          = max(0, D − cut)   # cut = 15, 30, 60 or your target
saved_per_year = annual_hours(D) − annual_hours(D_cut)

Waking-time shares are capped at 100%. Inputs outside the allowed ranges are pulled back to the nearest allowed value rather than producing an error.

Can you show a worked example?

Say you scroll 2 hours 30 minutes every day (D = 150, W = 7), sleep 8 hours (S = 8) and want a 10-year projection (N = 10).

  1. Average day: 150 × 7 ÷ 7 = 150 minutes.
  2. Week: 150 × 7 = 1,050 minutes = 17.5 hours.
  3. Month: 150 × 30.44 = 4,566.0 minutes = 76.1 hours.
  4. Year: 150 × 365.25 = 54,787.5 minutes = 913.125 hours, or 913.125 ÷ 24 = 38.05 full days.
  5. Waking time: (24 − 8) × 60 = 960 minutes awake; 150 ÷ 960 × 100 = 15.625%.
  6. Ten years: 913.125 × 10 = 9,131.25 hours = 380.47 full days, or 9,131.25 ÷ (16 × 365.25) = 1.5625 years of waking time.
  7. Cutting 30 minutes a day: D_cut = 120, which saves 182.63 hours a year and 1,826.3 hours over ten years.

If the same 2 h 30 min happened only 5 days a week, the average day falls to 150 × 5 ÷ 7 ≈ 107.1 minutes, and the yearly total to 652.2 hours. The waking share on a scrolling day stays at 15.625%, while the weekly average drops to 11.16%.

Why 30.44 and 365.25 days?

The Gregorian calendar has 365 days in most years and 366 in leap years, roughly one in four. Averaged out, a year is about 365.25 days (the exact Gregorian average is 365.2425, a difference of less than 0.01%). Dividing by 12 gives an average month of about 30.44 days. Using averages means your monthly figure doesn’t jump around depending on whether you happen to be in February.

What does the calculator assume, and where can it be wrong?

  • Your input is right. The biggest source of error is the daily figure. Phone-reported screen time (for example Android’s Digital Wellbeing dashboard or iPhone’s Screen Time) is usually better than memory, though it can count time when the screen is on but you aren’t looking.
  • Habits stay constant. The projection assumes today’s pattern continues unchanged for N years. It is a “what if nothing changes” illustration, not a forecast.
  • Sleep is fixed. Real sleep varies night to night, and scrolling in bed can itself shorten sleep.
  • No life expectancy. We don’t ask your age or estimate remaining lifespan; you choose the horizon.
  • Time is not harm. The calculator measures minutes only. What you watch, and how it affects you, matters at least as much. See what your results mean.

How are numbers rounded?

Calculations use full precision; rounding happens only for display. Hours and days are shown to 0 or 1 decimal place on the calculator, and to more places in this worked example so you can check the arithmetic. The CSV download keeps one or two decimal places and no thousands separators so it opens cleanly in spreadsheets.

How do you know the code matches these formulas?

The maths lives in a single file of pure functions, separate from the page design. An automated test suite checks this exact worked example, the days-per-week averaging, the 0-minute floor on scenarios, the 100% cap, input clean-up and both download formats. The numbers in the worked example above are generated by the same functions when the page is built, so the explanation and the calculator cannot drift apart. Try the calculator with D = 150 to see the same results.