{
  "modelVersion": "1.1.0",
  "illustrative": true,
  "horizon": 10,
  "bids": [
    {
      "name": "Recoverable service",
      "capex": 160,
      "lifetime": 20,
      "annualOpex": 10,
      "annualEnergy": 40,
      "energyPrice": 0.1,
      "downtimeHours": 5,
      "lossPerHour": 0.5,
      "residual": 0,
      "tco": 270.7163430825338,
      "eac": 40.34471819153206,
      "capexPv": 160,
      "replacementPv": 0,
      "residualPv": 0,
      "energyPv": 26.84032559576577,
      "opexPv": 67.10081398941442,
      "downtimePv": 16.775203497353605,
      "fixedPv": 160
    },
    {
      "name": "Lean purchase",
      "capex": 100,
      "lifetime": 20,
      "annualOpex": 10,
      "annualEnergy": 50,
      "energyPrice": 0.1,
      "downtimeHours": 40,
      "lossPerHour": 0.5,
      "residual": 0,
      "tco": 334.8528489629505,
      "eac": 49.90294886970753,
      "capexPv": 100,
      "replacementPv": 0,
      "residualPv": 0,
      "energyPv": 33.55040699470721,
      "opexPv": 67.10081398941442,
      "downtimePv": 134.20162797882884,
      "fixedPv": 100
    }
  ],
  "schedule": [
    {
      "bid": "Lean purchase",
      "year": 1,
      "energy": 5,
      "opex": 10,
      "downtime": 20,
      "replacement": 0,
      "residual": 0,
      "cost": 35,
      "presentValue": 32.407407407407405
    },
    {
      "bid": "Lean purchase",
      "year": 2,
      "energy": 5,
      "opex": 10,
      "downtime": 20,
      "replacement": 0,
      "residual": 0,
      "cost": 35,
      "presentValue": 30.006858710562412
    },
    {
      "bid": "Lean purchase",
      "year": 3,
      "energy": 5,
      "opex": 10,
      "downtime": 20,
      "replacement": 0,
      "residual": 0,
      "cost": 35,
      "presentValue": 27.784128435705934
    },
    {
      "bid": "Lean purchase",
      "year": 4,
      "energy": 5,
      "opex": 10,
      "downtime": 20,
      "replacement": 0,
      "residual": 0,
      "cost": 35,
      "presentValue": 25.726044847875865
    },
    {
      "bid": "Lean purchase",
      "year": 5,
      "energy": 5,
      "opex": 10,
      "downtime": 20,
      "replacement": 0,
      "residual": 0,
      "cost": 35,
      "presentValue": 23.82041189618135
    },
    {
      "bid": "Lean purchase",
      "year": 6,
      "energy": 5,
      "opex": 10,
      "downtime": 20,
      "replacement": 0,
      "residual": 0,
      "cost": 35,
      "presentValue": 22.05593694090866
    },
    {
      "bid": "Lean purchase",
      "year": 7,
      "energy": 5,
      "opex": 10,
      "downtime": 20,
      "replacement": 0,
      "residual": 0,
      "cost": 35,
      "presentValue": 20.422163834174683
    },
    {
      "bid": "Lean purchase",
      "year": 8,
      "energy": 5,
      "opex": 10,
      "downtime": 20,
      "replacement": 0,
      "residual": 0,
      "cost": 35,
      "presentValue": 18.90941095756915
    },
    {
      "bid": "Lean purchase",
      "year": 9,
      "energy": 5,
      "opex": 10,
      "downtime": 20,
      "replacement": 0,
      "residual": 0,
      "cost": 35,
      "presentValue": 17.50871384960106
    },
    {
      "bid": "Lean purchase",
      "year": 10,
      "energy": 5,
      "opex": 10,
      "downtime": 20,
      "replacement": 0,
      "residual": 0,
      "cost": 35,
      "presentValue": 16.211772082963943
    },
    {
      "bid": "Recoverable service",
      "year": 1,
      "energy": 4,
      "opex": 10,
      "downtime": 2.5,
      "replacement": 0,
      "residual": 0,
      "cost": 16.5,
      "presentValue": 15.277777777777777
    },
    {
      "bid": "Recoverable service",
      "year": 2,
      "energy": 4,
      "opex": 10,
      "downtime": 2.5,
      "replacement": 0,
      "residual": 0,
      "cost": 16.5,
      "presentValue": 14.146090534979423
    },
    {
      "bid": "Recoverable service",
      "year": 3,
      "energy": 4,
      "opex": 10,
      "downtime": 2.5,
      "replacement": 0,
      "residual": 0,
      "cost": 16.5,
      "presentValue": 13.098231976832798
    },
    {
      "bid": "Recoverable service",
      "year": 4,
      "energy": 4,
      "opex": 10,
      "downtime": 2.5,
      "replacement": 0,
      "residual": 0,
      "cost": 16.5,
      "presentValue": 12.12799257114148
    },
    {
      "bid": "Recoverable service",
      "year": 5,
      "energy": 4,
      "opex": 10,
      "downtime": 2.5,
      "replacement": 0,
      "residual": 0,
      "cost": 16.5,
      "presentValue": 11.229622751056922
    },
    {
      "bid": "Recoverable service",
      "year": 6,
      "energy": 4,
      "opex": 10,
      "downtime": 2.5,
      "replacement": 0,
      "residual": 0,
      "cost": 16.5,
      "presentValue": 10.397798843571225
    },
    {
      "bid": "Recoverable service",
      "year": 7,
      "energy": 4,
      "opex": 10,
      "downtime": 2.5,
      "replacement": 0,
      "residual": 0,
      "cost": 16.5,
      "presentValue": 9.627591521825208
    },
    {
      "bid": "Recoverable service",
      "year": 8,
      "energy": 4,
      "opex": 10,
      "downtime": 2.5,
      "replacement": 0,
      "residual": 0,
      "cost": 16.5,
      "presentValue": 8.9144365942826
    },
    {
      "bid": "Recoverable service",
      "year": 9,
      "energy": 4,
      "opex": 10,
      "downtime": 2.5,
      "replacement": 0,
      "residual": 0,
      "cost": 16.5,
      "presentValue": 8.254107957669072
    },
    {
      "bid": "Recoverable service",
      "year": 10,
      "energy": 4,
      "opex": 10,
      "downtime": 2.5,
      "replacement": 0,
      "residual": 0,
      "cost": 16.5,
      "presentValue": 7.642692553397288
    }
  ],
  "hurdles": [
    {
      "name": "Lean purchase",
      "reference": "Recoverable service",
      "incrementalFixedPv": -60,
      "annualSavingsHurdle": -8.941769321824525,
      "actualOperatingSavings": -18.49999999999999,
      "tcoGap": 64.13650588041668
    }
  ],
  "stress": [
    {
      "case": "Energy +50%",
      "name": "Recoverable service",
      "tco": 284.1365058804167,
      "eac": 42.34471819153206,
      "rank": 1
    },
    {
      "case": "Energy +50%",
      "name": "Lean purchase",
      "tco": 351.62805246030405,
      "eac": 52.40294886970752,
      "rank": 2
    },
    {
      "case": "Downtime +50%",
      "name": "Recoverable service",
      "tco": 279.1039448312106,
      "eac": 41.59471819153205,
      "rank": 1
    },
    {
      "case": "Downtime +50%",
      "name": "Lean purchase",
      "tco": 401.9536629523649,
      "eac": 59.90294886970752,
      "rank": 2
    },
    {
      "case": "Combined +50%",
      "name": "Recoverable service",
      "tco": 292.52410762909346,
      "eac": 43.59471819153205,
      "rank": 1
    },
    {
      "case": "Combined +50%",
      "name": "Lean purchase",
      "tco": 418.72886644971845,
      "eac": 62.402948869707515,
      "rank": 2
    }
  ],
  "annuityFactor": 6.710081398941445,
  "metrics": [
    {
      "key": "preferred",
      "label": "Lowest lifecycle cost",
      "value": "Recoverable service",
      "unit": "",
      "detail": ""
    },
    {
      "key": "tco",
      "label": "Lifecycle present cost",
      "value": 270.7163430825338,
      "unit": "USDk",
      "detail": ""
    },
    {
      "key": "eac",
      "label": "Equivalent annual cost",
      "value": 40.34471819153206,
      "unit": "USDk/year",
      "detail": ""
    },
    {
      "key": "gap",
      "label": "Gap to next bid",
      "value": 64.13650588041668,
      "unit": "USDk",
      "detail": ""
    }
  ],
  "tables": [
    {
      "title": "Lifecycle cost decomposition",
      "columns": [
        {
          "key": "name",
          "label": "Bid",
          "unit": ""
        },
        {
          "key": "tco",
          "label": "Total PV",
          "unit": "USDk"
        },
        {
          "key": "eac",
          "label": "Equivalent annual cost",
          "unit": "USDk/year"
        },
        {
          "key": "capexPv",
          "label": "Acquisition",
          "unit": "USDk PV"
        },
        {
          "key": "replacementPv",
          "label": "Replacements",
          "unit": "USDk PV"
        },
        {
          "key": "energyPv",
          "label": "Energy",
          "unit": "USDk PV"
        },
        {
          "key": "opexPv",
          "label": "Opex",
          "unit": "USDk PV"
        },
        {
          "key": "downtimePv",
          "label": "Downtime",
          "unit": "USDk PV"
        },
        {
          "key": "residualPv",
          "label": "Residual credit",
          "unit": "USDk PV"
        }
      ],
      "rows": [
        {
          "name": "Recoverable service",
          "capex": 160,
          "lifetime": 20,
          "annualOpex": 10,
          "annualEnergy": 40,
          "energyPrice": 0.1,
          "downtimeHours": 5,
          "lossPerHour": 0.5,
          "residual": 0,
          "tco": 270.7163430825338,
          "eac": 40.34471819153206,
          "capexPv": 160,
          "replacementPv": 0,
          "residualPv": 0,
          "energyPv": 26.84032559576577,
          "opexPv": 67.10081398941442,
          "downtimePv": 16.775203497353605,
          "fixedPv": 160
        },
        {
          "name": "Lean purchase",
          "capex": 100,
          "lifetime": 20,
          "annualOpex": 10,
          "annualEnergy": 50,
          "energyPrice": 0.1,
          "downtimeHours": 40,
          "lossPerHour": 0.5,
          "residual": 0,
          "tco": 334.8528489629505,
          "eac": 49.90294886970753,
          "capexPv": 100,
          "replacementPv": 0,
          "residualPv": 0,
          "energyPv": 33.55040699470721,
          "opexPv": 67.10081398941442,
          "downtimePv": 134.20162797882884,
          "fixedPv": 100
        }
      ]
    },
    {
      "title": "Negotiation savings hurdle",
      "columns": [
        {
          "key": "name",
          "label": "Alternative bid",
          "unit": ""
        },
        {
          "key": "reference",
          "label": "Cost leader",
          "unit": ""
        },
        {
          "key": "incrementalFixedPv",
          "label": "Incremental fixed cost",
          "unit": "USDk PV"
        },
        {
          "key": "annualSavingsHurdle",
          "label": "Required operating saving",
          "unit": "USDk/year"
        },
        {
          "key": "actualOperatingSavings",
          "label": "Modelled operating saving",
          "unit": "USDk/year"
        },
        {
          "key": "tcoGap",
          "label": "Lifecycle gap",
          "unit": "USDk"
        }
      ],
      "rows": [
        {
          "name": "Lean purchase",
          "reference": "Recoverable service",
          "incrementalFixedPv": -60,
          "annualSavingsHurdle": -8.941769321824525,
          "actualOperatingSavings": -18.49999999999999,
          "tcoGap": 64.13650588041668
        }
      ]
    },
    {
      "title": "Energy and downtime stress ranking",
      "columns": [
        {
          "key": "case",
          "label": "Stress case",
          "unit": ""
        },
        {
          "key": "rank",
          "label": "Rank",
          "unit": ""
        },
        {
          "key": "name",
          "label": "Bid",
          "unit": ""
        },
        {
          "key": "tco",
          "label": "Total present cost",
          "unit": "USDk"
        },
        {
          "key": "eac",
          "label": "Equivalent annual cost",
          "unit": "USDk/year"
        }
      ],
      "rows": [
        {
          "case": "Energy +50%",
          "name": "Recoverable service",
          "tco": 284.1365058804167,
          "eac": 42.34471819153206,
          "rank": 1
        },
        {
          "case": "Energy +50%",
          "name": "Lean purchase",
          "tco": 351.62805246030405,
          "eac": 52.40294886970752,
          "rank": 2
        },
        {
          "case": "Downtime +50%",
          "name": "Recoverable service",
          "tco": 279.1039448312106,
          "eac": 41.59471819153205,
          "rank": 1
        },
        {
          "case": "Downtime +50%",
          "name": "Lean purchase",
          "tco": 401.9536629523649,
          "eac": 59.90294886970752,
          "rank": 2
        },
        {
          "case": "Combined +50%",
          "name": "Recoverable service",
          "tco": 292.52410762909346,
          "eac": 43.59471819153205,
          "rank": 1
        },
        {
          "case": "Combined +50%",
          "name": "Lean purchase",
          "tco": 418.72886644971845,
          "eac": 62.402948869707515,
          "rank": 2
        }
      ]
    },
    {
      "title": "Annual lifecycle cash-cost ledger",
      "columns": [
        {
          "key": "bid",
          "label": "Bid",
          "unit": ""
        },
        {
          "key": "year",
          "label": "Year",
          "unit": ""
        },
        {
          "key": "energy",
          "label": "Energy",
          "unit": "USDk"
        },
        {
          "key": "opex",
          "label": "Opex",
          "unit": "USDk"
        },
        {
          "key": "downtime",
          "label": "Downtime",
          "unit": "USDk"
        },
        {
          "key": "replacement",
          "label": "Replacement",
          "unit": "USDk"
        },
        {
          "key": "residual",
          "label": "Residual credit",
          "unit": "USDk"
        },
        {
          "key": "cost",
          "label": "Net annual cost",
          "unit": "USDk"
        },
        {
          "key": "presentValue",
          "label": "Present cost",
          "unit": "USDk"
        }
      ],
      "rows": [
        {
          "bid": "Lean purchase",
          "year": 1,
          "energy": 5,
          "opex": 10,
          "downtime": 20,
          "replacement": 0,
          "residual": 0,
          "cost": 35,
          "presentValue": 32.407407407407405
        },
        {
          "bid": "Lean purchase",
          "year": 2,
          "energy": 5,
          "opex": 10,
          "downtime": 20,
          "replacement": 0,
          "residual": 0,
          "cost": 35,
          "presentValue": 30.006858710562412
        },
        {
          "bid": "Lean purchase",
          "year": 3,
          "energy": 5,
          "opex": 10,
          "downtime": 20,
          "replacement": 0,
          "residual": 0,
          "cost": 35,
          "presentValue": 27.784128435705934
        },
        {
          "bid": "Lean purchase",
          "year": 4,
          "energy": 5,
          "opex": 10,
          "downtime": 20,
          "replacement": 0,
          "residual": 0,
          "cost": 35,
          "presentValue": 25.726044847875865
        },
        {
          "bid": "Lean purchase",
          "year": 5,
          "energy": 5,
          "opex": 10,
          "downtime": 20,
          "replacement": 0,
          "residual": 0,
          "cost": 35,
          "presentValue": 23.82041189618135
        },
        {
          "bid": "Lean purchase",
          "year": 6,
          "energy": 5,
          "opex": 10,
          "downtime": 20,
          "replacement": 0,
          "residual": 0,
          "cost": 35,
          "presentValue": 22.05593694090866
        },
        {
          "bid": "Lean purchase",
          "year": 7,
          "energy": 5,
          "opex": 10,
          "downtime": 20,
          "replacement": 0,
          "residual": 0,
          "cost": 35,
          "presentValue": 20.422163834174683
        },
        {
          "bid": "Lean purchase",
          "year": 8,
          "energy": 5,
          "opex": 10,
          "downtime": 20,
          "replacement": 0,
          "residual": 0,
          "cost": 35,
          "presentValue": 18.90941095756915
        },
        {
          "bid": "Lean purchase",
          "year": 9,
          "energy": 5,
          "opex": 10,
          "downtime": 20,
          "replacement": 0,
          "residual": 0,
          "cost": 35,
          "presentValue": 17.50871384960106
        },
        {
          "bid": "Lean purchase",
          "year": 10,
          "energy": 5,
          "opex": 10,
          "downtime": 20,
          "replacement": 0,
          "residual": 0,
          "cost": 35,
          "presentValue": 16.211772082963943
        },
        {
          "bid": "Recoverable service",
          "year": 1,
          "energy": 4,
          "opex": 10,
          "downtime": 2.5,
          "replacement": 0,
          "residual": 0,
          "cost": 16.5,
          "presentValue": 15.277777777777777
        },
        {
          "bid": "Recoverable service",
          "year": 2,
          "energy": 4,
          "opex": 10,
          "downtime": 2.5,
          "replacement": 0,
          "residual": 0,
          "cost": 16.5,
          "presentValue": 14.146090534979423
        },
        {
          "bid": "Recoverable service",
          "year": 3,
          "energy": 4,
          "opex": 10,
          "downtime": 2.5,
          "replacement": 0,
          "residual": 0,
          "cost": 16.5,
          "presentValue": 13.098231976832798
        },
        {
          "bid": "Recoverable service",
          "year": 4,
          "energy": 4,
          "opex": 10,
          "downtime": 2.5,
          "replacement": 0,
          "residual": 0,
          "cost": 16.5,
          "presentValue": 12.12799257114148
        },
        {
          "bid": "Recoverable service",
          "year": 5,
          "energy": 4,
          "opex": 10,
          "downtime": 2.5,
          "replacement": 0,
          "residual": 0,
          "cost": 16.5,
          "presentValue": 11.229622751056922
        },
        {
          "bid": "Recoverable service",
          "year": 6,
          "energy": 4,
          "opex": 10,
          "downtime": 2.5,
          "replacement": 0,
          "residual": 0,
          "cost": 16.5,
          "presentValue": 10.397798843571225
        },
        {
          "bid": "Recoverable service",
          "year": 7,
          "energy": 4,
          "opex": 10,
          "downtime": 2.5,
          "replacement": 0,
          "residual": 0,
          "cost": 16.5,
          "presentValue": 9.627591521825208
        },
        {
          "bid": "Recoverable service",
          "year": 8,
          "energy": 4,
          "opex": 10,
          "downtime": 2.5,
          "replacement": 0,
          "residual": 0,
          "cost": 16.5,
          "presentValue": 8.9144365942826
        },
        {
          "bid": "Recoverable service",
          "year": 9,
          "energy": 4,
          "opex": 10,
          "downtime": 2.5,
          "replacement": 0,
          "residual": 0,
          "cost": 16.5,
          "presentValue": 8.254107957669072
        },
        {
          "bid": "Recoverable service",
          "year": 10,
          "energy": 4,
          "opex": 10,
          "downtime": 2.5,
          "replacement": 0,
          "residual": 0,
          "cost": 16.5,
          "presentValue": 7.642692553397288
        }
      ]
    }
  ],
  "warnings": [],
  "summary": "Recoverable service has the lowest supplied 10-year lifecycle present cost, 270.72 USDk. Acquisition price alone excludes replacement, operating exposure and residual credit. The next bid is 64.14 USDk more expensive on this common horizon.",
  "methods": [
    "PV lifecycle cost includes acquisition at t = 0, replacements at each service-life multiple strictly before the horizon, annual opex, escalated energy and downtime, less supplied horizon residual.",
    "Energy price in year 1 equals the input price, then compounds annually.",
    "Equivalent annual cost divides lifecycle PV by the ordinary annuity present-value factor.",
    "Savings hurdle divides incremental fixed lifecycle PV (acquisition, replacements and residual) by the annuity factor. Positive values require that much annual operating saving.",
    "Bid totals are ordered by their computed lifecycle present value. A tie warning applies only to the same computed value, with a stable name ordering.",
    "Equal computed costs use literal name order independent of browser language for consistent display; no economic superiority is implied by that order."
  ],
  "limitations": [
    "Constant real opex/downtime, identical replacement cost, no tax or stochastic failure model.",
    "Supplied residual is credited at the common horizon regardless of asset age; user must support it.",
    "Energy units are USDk/MWh, so 0.12 represents USD120/MWh.",
    "Discounted costs use floating-point arithmetic. A computed tie can result from numerical precision and does not establish exact economic indifference or substantive procurement equivalence.",
    "Numerical input precision: use zero or absolute values of at least 0.000000001. Smaller nonzero inputs are rejected explicitly."
  ]
}
