cpumining.pro
Table/Methodology

Calculation Methodology

This page describes in detail how we calculate CPU mining profitability. All formulas are open — you can verify every number yourself.

Income Calculation

Formula

For each snapshot (every 15 minutes) we calculate theoretical daily income:

daily_coins = (hashrate × 86400 / difficulty) × block_reward

# Losses: pool fee + stale shares
daily_coins_net = daily_coins × (1 - pool_fee / 100) × (1 - stale_shares / 100)

# Income in USD
daily_income_usd = daily_coins_net × price_usd

24-Hour Averaging

Difficulty, price, and block reward change constantly. To show a realistic picture, we average the output result (income in USD), not the input parameters:

daily_income_usd = (1/N) × Σ daily_income_usd_i

Why not average difficulty/reward/price separately? The formula is nonlinear (difficulty is in the denominator). Averaging input parameters introduces systematic bias (Jensen's inequality) and can underestimate income by 1–5% during difficulty spikes. Averaging the output gives an accurate mean profitability.

Data Sources

DataPrimary SourceFallbackFrequency
Difficulty + RewardDaemon RPC (get_last_block_header)xmrig.com API15 min
Coin prices (USD)CoinGecko API (batch)15 min
USD/RUB rateCBR (cbr-xml-daily.ru)Fallback 83.88 ₽6 hours

Losses Reducing Real Income

FactorValueDescription
Sustained mining discount×0.80 / ×0.88Difference between burst benchmark (60 sec) and real 24/7 mining. Built into hashrate_typical
Pool fee1%Pool commission for processing shares and payouts
Stale shares0.5%Share of submissions that arrived late and were not paid

Example (Ryzen 9 5900X, Monero)

hashrate      = 12,500 H/s (verified, sustained 24/7)
difficulty    = 740,634,183,284 (example)
block_reward  = 0.6 XMR (base reward, without tx fees from xmrig API)
price         = $342.62

daily_coins     = (12500 × 86400 / 740634183284) × 0.6 = 0.000875 XMR
after losses    = 0.000875 × 0.99 × 0.995        = 0.000862 XMR
daily_income    = 0.000862 × $342.62              = $0.295/day

Power Consumption

CPU Power (mining_watts)

CPU power draw is stored per CPU + algorithm pair separately, because different algorithms stress the CPU differently (memory-bound vs compute-bound).

Power estimation formula: RandomX (memory-bound) ≈ TDP × 1.05. When measured data (wattmeter) is available, we use it instead of the formula.

System Power

overhead = 35W (consumer/workstation) or 50W (server)
system_power_watts = (mining_watts + overhead) / 0.85  # PSU efficiency

Overhead Breakdown by Component

ComponentConsumerServer
Motherboard~28W~40-50W
RAM (2× 8GB DDR4)~6W~16W
SSD SATA~1.5W~1.5W
Fans~4W~8W
Total overhead35W50W

PSU efficiency: 85% (80 Plus at ~50% load). Minimal system without GPU. Verified by back-calculation from real wattmeter measurements.

Example (Ryzen 9 5900X, consumer)

mining_watts  = 110W (verified, wattmeter)
overhead      = 35W (consumer)
system_power  = (110 + 35) / 0.85 = 171W from wall
daily_kwh     = 171 / 1000 × 24 = 4.1 kWh

Real measurements: 113–120W — match

Electricity Cost

daily_electricity_usd = daily_kwh × electricity_price_usd

Default: 6.1 ₽/kWh (83.88 ₽/$) = $0.0727/kWh
Example: 4.1 kWh × $0.0727 = $0.298/day

Hashrate Calculation

Data Source

Hashrates come from xmrig.com Benchmark API — the largest CPU mining benchmark database.

Algorithm

  1. Fetch all results for the CPU via API
  2. Filter: single socket only (packages=1), reasonable thread count
  3. Take the median (P50) of filtered results
  4. Apply sustained mining discount:
CPU TypeDiscountReason
Consumer (Ryzen, Core)×0.80Aggressive turbo boost doesn't sustain 24/7, thermal throttling
Server (Xeon, EPYC)×0.88Stable frequencies, less performance drop

Calibration Table

CPUxmrig medianDiscountCalculatedActualΔ
Ryzen 9 5900X15,719×0.8012,57512,500+0.6%
Xeon E5-2683v4~7,500×0.886,6006,500+1.5%
Xeon E5-2690v4~7,539×0.886,6346,500+2.1%

Dual Channel RAM Required

RandomX is a memory-bound algorithm. Single channel RAM creates a hard hashrate ceiling. That's why we always recommend at least 2 RAM sticks in the build.

MemoryH/s ceiling (1 channel)
DDR4-2400~4,000–4,500
DDR4-3200~5,500–6,000
DDR5-5600~7,000+

Payback Calculation

System Cost

For each CPU we store a minimal used build: CPU, motherboard, RAM (dual channel), SSD, PSU. All prices are minimal used hardware prices from the Russian market (in rubles).

Formula

# Net income
daily_profit = daily_income - daily_electricity

# Payback
payback_cpu_days    = cpu_price_usd / daily_profit
payback_system_days = system_price_usd / daily_profit

Display Format

ConditionDisplay
< 30 daysX days
30–365 daysX.X mo
1–30 yearsX.X yr
> 30 years or loss

Assumptions and Limitations

  • Calculations are for a single CPU (not dual-socket)
  • Used prices are approximate, vary by region and time of purchase
  • Stale shares 0.5% is an average — depends on pool and latency
  • Not accounted for: system downtime, hardware wear, taxes
  • Formula verified for CryptoNote coins (Monero). Other coins may define difficulty differently
  • Default electricity price: 6.1 ₽/kWh (≈$0.0727/kWh) — average Russian tariff. Can be changed in settings
  • Month = 30 days (fixed multiplier)

Data Freshness

A freshness indicator is displayed at the bottom of every page:

  • Gray — data updated less than 1 hour ago
  • Yellow — data updated more than 1 hour ago
  • Red — data unavailable