Technical Deep-Dive — Suprnova Labs

Pool Effort Explained:
Why It Only Goes Up

Effort is how much work your pool has already done toward the next block — and work already done never un-happens. Computed correctly, effort only ever climbs within a round. If your dashboard shows it falling, that is a calculation shortcut, not reality. Here is the right way to think about it.

September 2026 · Last updated: September 2026 · Suprnova.cc · 11 min read

TL;DR

Effort is the block-equivalents of work your pool has done this round — and a running total of work can only grow.

Start here: shares, rounds, and blocks

To understand effort, you first need three words. We will keep this part jargon-free.

A block is what the pool is trying to find. Finding it means discovering a number (a hash) below the network's target — and that target is set so that, across the entire global network, one block appears every few minutes. For any single machine, finding a whole block directly would take, on average, years to centuries. It would simply never happen in a useful timeframe.

So pools do not ask you to find whole blocks. They ask for shares. A share is a much easier version of the same puzzle — a "near miss" that proves you are genuinely working. The pool sets the share difficulty for each miner (this is vardiff, which tunes difficulty to your hardware), collects everyone's shares, and every so often one of those shares happens to also clear the full network target. That share is the block.

A round is the stretch of work between one block and the next. It opens the instant a block is found and closes when the next block is found. Everything the pool accumulates in between belongs to that round.

Think of a block as a giant wall you have to paint before a deadline. One person could never finish in time. So a hundred painters each paint small squares (shares). Nobody paints the whole wall — but add up all the squares and, sooner or later, the wall is done. "Effort" is simply: how much of the wall have we painted so far, compared to a full wall's worth of paint?

One block = the sum of many shares … hundreds of thousands more … one share Network difficulty = how many shares' worth of work one block takes, on average

A block is not one lucky hit — it is a whole block's worth of share-work. Effort asks what fraction of that work the pool has already done.

What effort actually measures

Now the definition, in one line:

Effort % = Σ ( share difficulty / network difficulty when that share was submitted ) × 100

It is a sum, not a snapshot. Each accepted share contributes its own difficulty divided by the network difficulty at the moment it was found (a difficulty-16 share counts sixteen times a difficulty-1 share, which is why vardiff does not distort effort). Once a share is counted its contribution is fixed forever — a later difficulty change cannot rewrite it. Because every term is positive, the total can only grow as the round goes on.

< 100%
Block found early = lucky round
100%
Exactly one block's worth of work
> 100%
Still searching = unlucky round

So effort is a live progress bar toward the current block. At the very moment a block is found, that final effort reading is the round's luck: a block that lands at 55% effort was a lucky, cheap block; one that only lands after 220% effort was an expensive, unlucky one. Effort is the gauge during the round; luck is the number it froze at when the round ended.

The one thing to remember

Effort is a running sum, not a single divide-by-current-difficulty snapshot. Each share is banked at the difficulty in force when it landed, and stays banked. That is why correct effort only ever climbs — and why a reading that jumps down mid-round is a sign the pool is (wrongly) re-dividing your whole history by today's difficulty.


The part that confuses everyone: effort only climbs

Here is the misunderstanding that fills our Discord. A miner watches effort climb to 65%, walks away for coffee, comes back, and it says 45%. No block was found, their shares are all still there — and they are right to be annoyed, because correct effort should never have dropped.

What happened is that network difficulty retargeted upward while they were gone, and the dashboard divided all of their accumulated shares by the new, higher difficulty. That is the naive shortcut — and it is wrong. The work those 65% represent was really done; a change to today's difficulty cannot reach back in time and un-do it. (Every blockchain does re-tune difficulty to keep block times on schedule — some every block — but that only sets the rate for future shares.)

Done correctly, each share is valued against the difficulty that was live when it was submitted. A later difficulty rise only changes what new shares are worth — it makes effort climb more slowly from that point, but the already-earned effort stays put:

// 650 units of effort earned while difficulty = 1000
Earned:  650 / 1000              = 65%   // banked; cannot change

// difficulty now rises to 1444.  CORRECT accounting:
Still   65%, then each NEW share adds difficulty/1444  // climbs slower, never drops

// NAIVE (wrong) dashboard re-prices ALL past work at 1444:
Shows:  650 / 1444              = 45%   // spurious "drop" — a bug

The pool did not lose your shares — and the finish line did not reach back and shrink the ground you already covered. A difficulty rise makes the remaining road longer (new shares count for less); it does not walk you backwards. Symmetrically, a difficulty drop makes your next shares count for more — it does not retroactively inflate the ones already banked.

Correct effort only climbs — the naive calc drops 0% 50% 100% 150% time / shares accumulating → difficulty rises here block found correct: keeps climbing (slower) naive: false drop 65%→45% correct effort (per-share) naive (all shares ÷ current diff)

Correct effort (solid) only climbs — a difficulty rise merely flattens the slope. The naive ‘all shares ÷ current difficulty’ reading (dashed) spuriously drops at the retarget. Same shares, two calculations — only the climbing one is right.

A worked example (the exact case miners ask about)

Say the network difficulty is 1,000. A hundred miners each submit one share at difficulty 1, so the round has banked 100 units of work — effort 100/1000 = 10%. Now watch a difficulty rise under the correct calculation versus the naive one:

MomentShares (each diff 1)Net difficultyCorrect effortNaive (wrong)
Start of round100 @ D=1,0001,00010%10%
Difficulty rises ×10 (no new shares)10010,00010% (unchanged)1%
…then 100 more shares arrive20010,00011%2%

The correct effort never dips: the first 100 shares stay worth 10% (they were earned at difficulty 1,000), and the next 100 shares — now worth only 1/10,000 each — nudge it up to 11%. The naive column collapses to 1% the instant difficulty rises, purely because it re-divides your whole history by the new difficulty. Same shares; only the correct column reflects the work actually done.

A subtle wording trap

The trap is thinking a difficulty ×10 divides your accumulated effort by 10. It does not. A difficulty change only sets the exchange rate for future shares: after a ×10 rise, each new share is worth one-tenth of what it was, so effort climbs ten times slower — but every point of effort you already banked stays exactly where it was. You divide the worth of the next shares, never the ones already earned.


For the math crowd: the "10,000% effort" paradox, solved

Sharp miners raise a clever objection that deserves a proper answer, not a hand-wave. It goes like this:

The challenge

"Say 1 share = 1% effort. I submit 100 shares → 100% effort. Now difficulty drops 100×, so 1 share = 100% effort. I submit one more share and find the block. Your live counter now reads about 10,000% effort. But 10,000% should mean we expected to hit 100 blocks with perfect luck — and we found one. So the effort number is nonsense."

This is a genuinely good trap, and the resolution is precise: the live effort reading and "expected number of blocks" are the same thing only while difficulty is constant. The moment difficulty changes inside a round, you must value each share against the difficulty that was in force when that share was submitted. That gives the physically exact measure:

True block-equivalent = Σ ( share difficulty / network difficulty at that share's moment )

Run the challenge through the exact formula:

// 100 shares submitted while difficulty = 100
100 shares × (1 / 100) = 1.0 block-equivalent

// 1 share submitted after difficulty dropped to 1
1 share × (1 / 1)   = 1.0 block-equivalent

// Total actual expected blocks for this round's work:
1.0 + 1.0 = 2.0 blocks — NOT 100

So the round's work was worth about two block-equivalents, and it found one block. That is completely normal — even slightly lucky. The paradox never existed. It came entirely from reading the naive live number (which re-prices all accumulated shares at the new, 100×-cheaper difficulty) as if it were "expected blocks." It is not: the 100 early shares were mined when a block cost 100, and they can never be worth more than the one block they were a fraction of.

The mirror image: a difficulty RISE

Turn it around. Start at difficulty 1, so one share = 100% effort. Submit 100 shares → 100 block-equivalents = 10,000%. Difficulty now rises 100× to 100; you submit one more share (worth 1/100 = 1%) and find the block: 100×(1/1) + 1×(1/100) = 100.01 block-equivalents = 10,001%. Effort went up, from 10,000% to 10,001% — not down by even a fraction (the round was wildly unlucky: ~100 blocks' worth of work for one block). A naive dashboard would re-price the 100 early shares at difficulty 100 and show ~101% — a catastrophic false crash from 10,000%.

The lesson both examples share: value each share against the difficulty at its own moment, and effort becomes a sum that only grows. The naive ‘accumulated shares ÷ current difficulty’ number is the wrong tool — it is the sole reason effort ever appears to fall mid-round.


Does it match the real world?

Yes — and this is the part that should reassure anyone worried the metric is cooked. Effort is an instantaneous reading and it is noisy by nature, because finding a block is a random (Poisson) process. Any single round can end at 20% or at 400%. But the block-finding process has a fixed long-run expectation, so when you average the effort at which blocks are actually found across many rounds, it converges to 100%.

Over a sample of roundsWhat you should seeWhat it means
Any single roundAnything from ~10% to ~500%High variance is normal
~10 roundsStill swingy, maybe 60–150% averageNot enough samples yet
Hundreds of roundsAverage closing in on 100%The law of large numbers
Thousands of roundsVery close to 100%Exactly as the math predicts

If the pool's long-run average effort at block discovery sat far from 100% — say a steady 300% — that would be a real problem worth investigating (wrong difficulty accounting, rejected shares, or a hashrate/difficulty mismatch). A mid-round drop is not the metric doing its job — computed correctly, effort would not drop at all; the drop is the naive calculation showing through. To understand the swing itself, see what mining luck is and why earnings fluctuate.

Effort vs. luck vs. rejected shares — quick map

Effort is the live running total of work vs. the current block. Luck is the effort frozen at the instant the block is found. Rejected/stale shares are a different thing entirely — work that never counted toward the round at all (see stale & rejected shares). Effort rising mid-round is normal; effort dropping mid-round points to a naive calculation, and a high reject rate is a separate number worth chasing.

The bottom line

Effort is a running sum of work done.

Each share is banked at the difficulty in force when it landed. Because every share adds a positive amount, the total can only grow through the round.

Correct effort never drops mid-round.

If the reading falls with steady hashrate, the pool is dividing all past shares by the current difficulty — re-pricing work that was already done. That is a calculation bug, not a fact about your mining.

A difficulty rise slows the climb, it does not reverse it.

After a rise, new shares count for less, so effort climbs more slowly — but the effort you already earned stays exactly where it was.

Over many rounds, effort averages to 100%.

Judge the mechanic by its long-run average, not by one snapshot after a retarget. That average landing on 100% is the proof it is working.

Frequently asked questions

Why did effort drop mid-round with no new blocks?

Correctly computed, it should not. Effort is a running sum of work already done, and work already done cannot un-happen. A visible drop means the pool is dividing ALL your accumulated shares by the CURRENT difficulty — re-pricing past work at a difficulty that was not in force when you did it. A difficulty rise should only make effort climb more slowly, never fall.

Is effort the same as luck?

Effort is the live running total during the round; luck is the effort value at the instant a block is found. A block found at 70% effort was found with 70% luck.

Difficulty rose 3× — how much does effort fall?

It does not fall at all. Your already-earned effort is untouched; only your new shares now count at one-third the rate, so effort climbs three times slower from here. (A naive dashboard would wrongly cut the whole reading to a third — that is the bug, not the physics.)

Does 500% effort mean we should have found five blocks?

Yes — computed correctly (each share against the difficulty in force when it was submitted), 500% effort is five blocks' worth of work. That is exactly why the per-share sum is the right way to compute it: it stays a true measure of work even across difficulty changes.

My pool is at 250% effort. Should I switch pools?

No. A high current effort just means this particular round is running long — pure variance. Switching pools resets nothing in your favour and forfeits any round progress. See our article on mining luck and the Gambler's Fallacy.