Skip to content

Main content

Storage Degradation Cost One Cycle Term Tool

Straight-line allocation across caller-supplied equivalent full cycles, excluding calendar ageing and discounting.

Loading tool…

Description

costPerCycle = (replacementCost-residualValue)/lifetimeCycles; costPerMwh divides that by dischargedMwhPerCycle.

Energy price comparisons require consistent delivered or input energy units, efficiency, calorific basis and reporting period. Dividing by efficiency increases the input needed for a delivered unit; nominal price differences alone need not represent a saving.

costPerCycle = (replacementCost-residualValue)/lifetimeCycles; costPerMwh divides that by dischargedMwhPerCycle.

When to use this tool

Use Storage Degradation Cost One Cycle Term when checking one supplied energy-price normalization or cost contribution.

How to use the tool and how it works

  1. Enter replacementCost, residualValue, lifetimeCycles, dischargedMwhPerCycle. Use the units and conventions below.
  2. Run the tool. Correct any format, range, or cross-field input error before interpreting the output.
  3. Read costPerCycle, costPerMwh. Use the output convention below.

Require nonnegative replacementCost and residualValue <= replacementCost and positive lifetimeCycles and dischargedMwhPerCycle. costPerCycle = (replacementCost-residualValue)/lifetimeCycles; costPerMwh divides that by dischargedMwhPerCycle.1

Input fieldMeaning and unitsAccepted input
replacementCostReplacement CostRequired. Finite number; minimum 0.
residualValueResidual ValueRequired. Finite number; minimum 0.
lifetimeCyclesLifetime CyclesRequired. Finite number; strictly above 0.
dischargedMwhPerCycleDischarged Mwh Per CycleRequired. Finite number; strictly above 0.
Output fieldInterpretationReturned shape
costPerCycleCost Per CycleRequired. Finite number.
costPerMwhCost Per MwhRequired. Finite number.
json
{
  "input": {
    "replacementCost": 120000,
    "residualValue": 20000,
    "lifetimeCycles": 5000,
    "dischargedMwhPerCycle": 2
  },
  "output": {
    "costPerCycle": 20,
    "costPerMwh": 10
  }
}

Limitations and assumptions

  • The lifetimes and throughput are supplied averages; lifetimeCycles may be fractional. Discounting, calendar ageing, partial cycles and changing degradation are omitted.
  • Inputs must satisfy both the field types and the cross-field conditions above. Invalid input causes an error; a successful false flag or documented placeholder is a different result.
  • Numeric calculations use binary floating point unless exact decimal-integer arithmetic is explicitly stated. No hidden measurement tolerance or decimal rounding is added; nonfinite or out-of-contract results are rejected. Numeric signed-zero results are exported as zero.

Alternative or Complementary methods

Use the full tariff, operating profile and cost boundary when assessing real bills, investments or load-shifting decisions.

References

  1. Calculation and input contract: energy-economics/storage-degradation-cost-one-cycle-term — tool.io

Similar or alternative tools