You can easily calculate how many Merits you can earn on average. You only need to know how fast is your computer able to mine. Let it mine at least 15 mins, then you can see average number how many cycles per second is your PC able to find. In Desktop wallet you can find it under Mining tab in "Mining Rates" section as "Cycles Found/s". In Merit Core you need to use command "getmininginfo" in console and "cyclesps" value. Average computer CPUs have numbers around 0.01 - 0.1. Gaming graphic cards can get around 0.2 - 0.7 each. If you have troubles finding your speed, don't hesitate to ask the community in Discord group, Telegram or forum.
There are three main reasons why you might not get as many MRT per day as it's calculated:
1. You're not mining continuously with same cycles/s
Pools are much more stable than before, but they still can have some downtime during the day. It causes that you are not actually mining whole time. Your miner is supposed to reconnect but it's not always successful. Also your miner can loose connection and fail to reconnect. In that case, you need to restart it manually - until then you're again loosing time of mining. Last thing is that sometimes you're sending invalid shares and pool can temporarily ban you.
Be also careful about your hashrate. First of all, let miner do its job at least 15 minutes. Mining difficulty from stratum connection is adjusting for a while, also your miner needs to "heat up" a little. Hashrate can also easily fluctuate over time, from my experience it can be up to 15%. Maybe you're mining at 3.5 in the morning but afternoon it's only 3.1.
Calculator takes into account all those issues and is adjusted to real-world observations. Rewards from pool mining are around 20% lower than should be in theory if you would solo mine with stable hashrate.
To sum up:
- let miner mining at least 15 mins to see real hashrate
- check that pool is online
- check your internet connection
- check you're not banned because of invalid shares
- and of course, watch your miner closely, we're still in early stage!
2. Net cycles/s and difficulty changed
During your mining, global cycles/s can change by couple of %. It shouldn't be very significant but can cause lower or higher results in tens of percents if it's increasing or decreasing quickly. Every 300 blocks difficulty is reflecting those changes. Usually it shouldn't be changed for more than 10% in 24 hours. You can always see current difficulty and predictions on Network subpage.
Remember that retarget is happening every 5 hours, so this calculator is able to predict earnings reliably only couple of hours forward!
3. You're mining for a short time
In case you have started mining like hour ago, you can get lower (or higher) rewards in short-term. Keep on mind that hashing is all about luck. Pool you're mining on can win less blocks than usual, even more if it's smaller one. Let it go at least 24 hours to get steady results. More than that, developer pools are paying special reward to block finder. So if you're lucky you can get one time extra reward of more merits at once.
Calculator takes into account current difficulty and prediction of next difficulty if available. It compares your hashrate with it to get earnings for 1 hour. Difficulty is changed every 300 blocks (around 5 hours on average), it means it's the most accurate for the next couple of hours and it depends on network hashrate fluctuation. Result is then lowered by 20%, because of known issues with miner and pool mining described above.Formula is:
PREDICTED_NET_HASHRATE = (CD * RT + PD * RI) / ((RT + RI) * CC)
PREDICTED_EARNINGS_PER_HOUR = HE * LC * (HR / PREDICTED_NET_HASHRATE)
CD (current difficulty) is 50 000
RT (time to retarget) is 3 hours
PD (prediction of next difficulty) is 70 000
RI (retarget interval) is 5 hours
HE (global hourly PoW earnings) is 300 (5 MRT each block * 60 blocks each hour)
CC (conversion constant from hashrate to difficulty) is 30
LC (lowering constant minus 20%) is 0.8
HR (your hashrate) is 3 cycles/s
PREDICTED_NET_HASHRATE = (50000 * 3 + 70000 * 5) / ((3 + 5) * 30)
PREDICTED_NET_HASHRATE = 500000 / (8 * 30)
PREDICTED_NET_HASHRATE = 2083
PREDICTED_EARNINGS_PER_HOUR = 300 * 0.8 * (3 / 2083)
PREDICTED_EARNINGS_PER_HOUR = 0.3455 MRT / hour