A mining proposal often arrives as one number: estimated daily profit, followed by a payback period. That number is usually the least durable part of the proposal.
Mining converts capital, electricity, and operating discipline into an uncertain stream of bitcoin. The machine may remain cash-flow positive while the investment as a whole loses money. It may also look weak in one month while retaining value through low-cost power, useful heat, or a strong resale market.
A miner must pass two separate tests: can it pay its operating bills, and can it return the capital committed to it?
This model is designed to answer both questions without relying on a single forecast.
1. Define the break-even question before calculating it
The phrase “break-even” can describe several different thresholds.
| Measure | Question answered | Main components |
|---|---|---|
| Operating break-even | Does the miner produce positive cash flow during a period? | Mining revenue, electricity, pool fee, maintenance, hosting, heat and curtailment credits |
| Power-price break-even | What is the highest all-in electricity price the miner can tolerate? | Net revenue, non-power costs, facility energy consumption |
| Cash payback | When does cumulative operating cash flow recover the initial capital? | Initial capital and monthly operating cash flow |
| Lifecycle break-even | Does operating cash flow plus net resale recover all invested capital? | Capital cost, operating cash flow, deposits, decommissioning, resale |
| Discounted break-even | Does the project compensate for time and risk? | NPV or IRR using a required return |
A machine can pass the first test and fail the other four.
Positive monthly cash flow is not proof of a sound capital investment. A profitable month does not redeem an expensive machine.
2. Build the model as a timeline
Use one row per month. Daily rows are useful for operational control, but monthly rows are usually sufficient for evaluating a purchase or hosting contract.
The timeline should contain three stages:
- Month 0: hardware purchase, freight, import charges, electrical work, setup, deposits, spare parts, and working capital.
- Months 1 to T: bitcoin production, pool deductions, electricity, cooling, downtime, maintenance, hosting costs, heat value, and curtailment compensation.
- Final month: net resale proceeds, deposit recovery, removal costs, shipping, brokerage fees, and any unpaid obligations.
Do not hide capital costs inside monthly operating expenses. Do not hide operating losses inside an optimistic resale assumption.
3. Use a complete input sheet
A reusable model should separate inputs into five groups.
Hardware and performance
| Input | What to record |
|---|---|
| Nameplate hashrate | TH/s or PH/s at the intended operating mode |
| Measured wall power | Actual kW at the wall, not only the manufacturer’s label |
| Performance factor | Adjustment for underclocking, overclocking, thermal throttling, and degradation |
| Planned life | Evaluation horizon in months |
| Units deployed | Number of machines actually energized |
Network and revenue
| Input | What to record |
|---|---|
| Bitcoin price | A separate path for each scenario |
| Network difficulty | A monthly path or difficulty index |
| Block subsidy | Change it when the model crosses a halving |
| Average transaction fees per block | Use a conservative range, not one exceptional period |
| Pool fee | Include the actual fee and payout method |
| Pool payout variance | Relevant for PPLNS and smaller pools |
Site and operations
| Input | What to record |
|---|---|
| Electricity rate | Energy, transmission, taxes, demand charges, and fixed meter costs |
| PUE or cooling overhead | Apply only when it is not already included in the quoted rate |
| Planned maintenance | Scheduled hours offline |
| Unplanned downtime | Faults, network failures, site outages, and repair delays |
| Curtailment | Hours offline, avoided electricity, and compensation received |
| Maintenance cost | Labor, fans, power supplies, hashboards, filters, fluids, and shipping |
| Other operating costs | Internet, monitoring, insurance, security, rent, and administration |
Initial capital
| Input | What to record |
|---|---|
| ASIC purchase price | Net amount paid for the machines |
| Freight and insurance | Include both inbound and replacement shipments |
| Import duty | Treat according to the destination country |
| Nonrecoverable tax | Do not count recoverable VAT as a permanent cost |
| Infrastructure | Transformers, panels, cabling, racks, ventilation, immersion equipment, and networking |
| Commissioning | Installation, testing, firmware setup, and labor |
| Spare inventory | Parts purchased before operation begins |
| Deposits and prepayments | Capital tied up even when it may later be returned |
End-of-life value
| Input | What to record |
|---|---|
| Gross resale price | Use several scenarios rather than one estimate |
| Selling costs | Broker, marketplace, payment, and inspection fees |
| Deinstallation and shipping | Cost to remove and deliver the machines |
| Repair before sale | Parts and labor needed to make units marketable |
| Deposit recovery | Reduce for counterparty risk and contractual deductions |
Taxes and financing should be placed in separate layers. First test whether the asset works economically before debt, tax relief, or accounting depreciation changes the presentation.
4. Calculate running time without double counting
Begin with calendar hours:
Calendar hours = days in period x 24
Then calculate actual running hours:
Running hours = calendar hours - planned downtime - unplanned downtime - curtailed hours
If you use an uptime percentage instead, use:
Running hours = calendar hours x uptime percentage
Do not subtract downtime again after applying uptime. This is one of the most common spreadsheet errors.
Effective hashrate for the period is:
Effective hashrate = nameplate hashrate x performance factor x running hours / calendar hours
A hosting provider’s uptime figure requires a definition. Ask whether it excludes grid events, scheduled service, upstream network failures, pool outages, heat emergencies, or periods when replacement parts are unavailable. An impressive percentage can become ordinary after the exclusions are read.
5. Build the revenue engine
There are two valid methods. Choose one and do not combine them.
Method A: Protocol-based calculation
Expected bitcoin production for a period can be estimated as:
Expected BTC = hashrate in hashes per second x running seconds / (difficulty x 2^32) x (block subsidy + average fees per block)
Then apply the pool terms:
Net BTC = expected BTC x (1 - pool fee)
Mining revenue = net BTC x BTC price
This is an expected-value model. A pool’s payout method can create short-term variation around it. Planning should rely on long-run expectation, not one fortunate week.
Method B: Hashprice calculation
When using a gross hashprice quoted in currency per PH per day:
Gross mining revenue = deployed PH/s x performance factor x running days x gross hashprice
Net mining revenue = gross mining revenue x (1 - pool fee)
For future scenarios, a simple hashprice bridge is:
Hashprice_t = Hashprice_0 x PriceIndex_t / DifficultyIndex_t x RewardAndFeeIndex_t
Where:
PriceIndex_tis BTC price in month t divided by the starting BTC price.DifficultyIndex_tis difficulty in month t divided by starting difficulty.RewardAndFeeIndex_treflects changes in subsidy and transaction fees per block.
A halving should enter as a discrete change in the reward index. It should not be hidden inside a smooth annual difficulty assumption.
6. Calculate electricity and cooling correctly
For self-hosting:
Miner energy in kWh = measured wall kW x running hours
Facility energy in kWh = miner energy x PUE
Electricity cost = facility energy x energy rate + demand charges + fixed grid charges
PUE represents total facility energy divided by miner energy. It may include fans, pumps, cooling, controls, and other site loads.
For hosted mining, determine whether the quoted rate already includes cooling, PUE, demand charges, and the host’s margin. If it does, multiplying by PUE again will count the same cost twice.
The operating break-even electricity price is:
Break-even electricity rate = (net mining revenue + operating credits - non-power operating costs - fixed power charges) / facility kWh
This result is more useful than a general statement that power is “cheap.” It gives a threshold that can be compared with the contract.
7. Model downtime and curtailment as economic events
Downtime has two immediate effects:
- mining revenue falls;
- electricity consumption falls.
The loss is not gross revenue alone. It is the contribution margin that would have been earned during those hours.
Curtailment requires a separate calculation:
Curtailment value = compensation received + avoided electricity cost - foregone net mining revenue - restart and wear costs
The model must also answer a contractual question: who receives the curtailment payment? A hosting company may retain all or part of it while the miner bears the lost production.
Add a shutdown rule to the spreadsheet:
Run only when incremental revenue and run-dependent credits exceed incremental electricity and variable operating costs
Fixed costs already owed do not make an uneconomic hour profitable. However, a take-or-pay hosting agreement may prevent shutdown from saving the full electricity charge. Contract structure can remove an option that the hardware owner assumed was available.
8. Treat heat as realized value, not decorative efficiency
Nearly all electricity consumed by a miner eventually becomes heat. That does not mean all of it has economic value.
Useful heat depends on capture efficiency, seasonal demand, temperature requirements, delivery losses, and the cost of the equipment needed to use it.
Recoverable heat = miner energy x heat capture efficiency x demand utilization
Net heat value = recoverable heat x avoided marginal heating cost - heat-system operating costs
Any heat-recovery equipment belongs in initial capital. Pumps, ducts, heat exchangers, filters, maintenance, and electricity belong in operating costs.
Heat is not revenue merely because it exists. It becomes value only when it replaces a real bill or produces a contracted payment.
Use a monthly heat schedule. A greenhouse, building, pool, industrial process, or district-heating customer may have strong winter demand and little summer demand. Annualizing the best winter month across the entire year will overstate the project.
9. Include maintenance, degradation, and obsolescence
A maintenance reserve should cover more than the expected price of parts. It should include diagnosis, labor, shipping, repair queues, site access, and lost production.
Use at least two maintenance lines:
Routine maintenance = fixed monthly reserve per machine
Major repairs = probability-weighted event cost or scheduled scenario cost
Hardware obsolescence is separate from physical failure. A functioning miner can lose resale value because newer equipment produces more hashrate per unit of electricity. Resale therefore depends on future efficiency standards, power prices available to the next owner, market liquidity, import restrictions, and the cost of moving the machine.
Calculate net resale as:
Net resale = gross sale price - repairs before sale - selling fees - deinstallation - shipping - taxes and unpaid site charges
Use several residual-value cases, including zero. A machine’s existence does not guarantee a buyer.
10. Separate operating cash flow from capital return
Monthly operating cash flow is:
OCF_t = net mining revenue + heat credit + curtailment credit - electricity - hosting charges - maintenance - other cash operating costs
This figure excludes the initial purchase, infrastructure, financing, tax, accounting depreciation, and final resale.
Lifecycle project profit is:
Project profit = sum of OCF + net resale + recovered deposits - initial capital
A simple project return on invested capital is:
Project ROIC = project profit / initial capital
This is a total return over the modeled life, not an annualized return.
For a risk-adjusted decision, calculate NPV:
NPV = -initial capital + sum[OCF_t / (1 + required annual return)^(t/12)] + terminal proceeds / (1 + required annual return)^(T/12)
The maximum rational purchase price at a chosen required return is:
Maximum initial capital = present value of future OCF + present value of terminal proceeds
This reverses the usual sales process. Instead of asking whether a quoted machine can somehow pay back, the buyer asks what price the expected cash flows can support.
The machine does not know what you paid for it. The network does not compensate overpayment.
11. Worked sensitivity example
The following numbers are hypothetical. They are not current market quotations or forecasts.
Assume one machine with:
- hashrate: 200 TH/s, or 0.20 PH/s;
- measured power: 3.5 kW;
- initial capital: $4,000, including purchase, freight, import, and commissioning;
- starting gross hashprice: $55 per PH per day;
- pool fee: 2%;
- evaluation period: 24 months.
The model changes hashprice through a constant BTC price factor and monthly compounded difficulty growth. It uses 30.44 days per month, spreads the stated annual heat value evenly for simplicity, and assumes no halving, tax, financing, or discretionary shutdown.
Scenario inputs
| Input | Favorable | Base | Stress |
|---|---|---|---|
| BTC price factor versus start | 1.25 | 1.00 | 0.70 |
| Annual difficulty growth | 15% | 25% | 40% |
| All-in electricity per kWh | $0.055 | $0.060 | $0.075 |
| Runtime | 97% | 95% | 90% |
| PUE | 1.06 | 1.08 | 1.12 |
| Maintenance per month | $15 | $20 | $30 |
| Realized heat value per year | $120 | $90 | $0 |
| Net resale after 24 months | $800 | $500 | $200 |
Illustrative results
| Result | Favorable | Base | Stress |
|---|---|---|---|
| Month 1 operating cash flow | $248 | $142 | -$17 |
| Month 24 operating cash flow | $155 | $33 | -$115 |
| Cumulative 24-month OCF | $4,788 | $2,014 | -$1,697 |
| Net resale proceeds | $800 | $500 | $200 |
| Project profit after initial capital | $1,588 | -$1,487 | -$5,497 |
| Project ROIC | 40% | -37% | -137% |
| Operating cash-flow payback | Month 20 | Not reached | Not reached |
The base case remains operating-cash-flow positive throughout the modeled period. It still fails to recover the initial capital after resale.
The stress case assumes the machine continues running. A rational operator with control over dispatch would switch it off when the contribution margin becomes negative. A hosting customer with minimum billing or take-or-pay terms may not have that freedom.
The most important result is not the favorable return. It is the discovery that the base case can pay the meter while destroying capital.
12. Test variables one at a time and together
A serious model needs both one-variable sensitivity and combined scenarios.
One-variable sensitivity
Hold all other assumptions constant and test:
| Variable | Suggested range |
|---|---|
| BTC price | -50%, -25%, base, +25%, +50% |
| Difficulty | 0%, 10%, 25%, 40%, 60% annual growth |
| Electricity price | Contract rate, plus 10%, plus 25%, plus demand-charge shock |
| Runtime | 99%, 97%, 95%, 90%, 80% |
| PUE | Best measured case, normal case, hot-weather case |
| Pool and payout cost | Current terms, higher fee, unfavorable payout variance |
| Maintenance | Routine reserve, one major repair, repeated repair case |
| Heat value | Full seasonal use, partial use, zero use |
| Resale | Strong market, weak market, scrap value, zero |
A tornado chart can show which assumptions move NPV most. In many projects, purchase price, electricity, difficulty, runtime, and resale dominate minor fee adjustments.
Combined scenarios
Do not create an “adverse” case by worsening only one variable. Weak mining environments can combine lower BTC revenue, rising difficulty, poorer resale, delayed repairs, and higher financing costs.
At minimum, use:
- a favorable case that remains plausible;
- a base case built from ordinary assumptions;
- a stress case with several correlated failures;
- a shutdown case that applies the operator’s right to stop;
- a contract-lock case that preserves unavoidable hosting charges.
A model that survives only when every assumption is favorable is not robust. It is a list of dependencies.
13. Translate hosting clauses into spreadsheet cells
A hosting contract is an economic model written in legal language. Every important clause should alter a cell.
| Contract question | Model effect |
|---|---|
| Is the quoted electricity rate truly all-in? | Add PUE, demand charges, taxes, or host fees when excluded |
| Is there a minimum monthly bill or take-or-pay term? | Preserve unavoidable costs during shutdown or curtailment |
| How is uptime measured? | Adjust runtime and test exclusions |
| Who receives curtailment compensation? | Assign the credit to the correct party |
| Who controls the pool and payout wallet? | Add custody, reporting, and counterparty risk |
| Who authorizes repairs and at what markup? | Add maintenance cost and repair delay |
| Are spare units or parts held on site? | Reduce expected downtime, but add capital |
| Who owns each machine and serial number? | Determine recovery rights in insolvency |
| Can the host claim a lien for unpaid charges? | Reduce expected resale and retrieval value |
| What happens at termination? | Add removal, shipping, inspection, and early-exit costs |
| Are deposits segregated or unsecured? | Apply a recovery probability rather than assuming full repayment |
| Can the machine be relocated? | Add transport, customs, new setup, and offline time |
A low headline rate can be offset by weak uptime, expensive repairs, retained curtailment revenue, minimum billing, or poor asset-recovery rights.
14. Add a capital-allocation benchmark
Mining should not be compared only with doing nothing. It should also be compared with alternative uses of the same capital.
Track two parallel strategies:
- Buy and operate the miner, then record net BTC retained and terminal asset value.
- Buy BTC directly using the initial capital and, optionally, the monthly cash that would otherwise fund operating losses.
This comparison does not prove that direct purchase is always superior. It reveals whether the miner is creating value through access to cheap power, operational skill, heat use, curtailment markets, or equipment purchasing discipline.
Without a genuine operating advantage, mining can become an indirect and capital-intensive way to acquire an asset that was available directly.
15. Final audit before approving the purchase
Confirm that the model does all of the following:
- uses measured wall power rather than marketing efficiency alone;
- separates downtime from curtailment;
- avoids counting PUE or cooling twice;
- models pool fees only once;
- changes subsidy when the horizon crosses a halving;
- uses several difficulty and BTC price paths;
- treats heat value seasonally and only when realized;
- includes maintenance labor, shipping, and lost production;
- includes freight, import costs, infrastructure, and deposits in invested capital;
- subtracts all costs required to realize resale value;
- tests zero resale;
- distinguishes avoidable from unavoidable hosting costs;
- calculates OCF, payback, project ROIC, and NPV separately;
- compares the project with direct BTC purchase and other capital uses.
Capital-intensive industries have always tempted investors with visible output and hidden depreciation. Railways, mills, power plants, and data centers can operate every day while delivering poor returns to those who paid too much to build them. Mining belongs to the same family.
The durable question is not whether the machine will produce bitcoin. It probably will, when powered and functioning. The question is whether the value produced will exceed electricity, operating friction, obsolescence, and the original price of entry across several plausible futures.
A useful model does not pretend to know the future. It identifies which assumptions the capital cannot survive.