Skip to main content

RunAmortizationScenario

Data scenarios · Implementation: mlsysim/engine/scenario_definitions/data.py.

Construct this scenario with keyword inputs. The fields below show the types and defaults declared by this class.

A one-time investment of build_cost plus operating_cost that saves saving_per_run on every training run that reuses its output.

Notes

Equation: investment is the worked quantity; each property below states its equation and units.

Assumptions: Investment is paid once and each reuse yields the same positive saving.

Excludes: Discounting, depreciation, and changes in savings across runs.

References

Derivation: The equations below follow the stated counts, geometric relations, or accounting definitions; scenario inputs are supplied assumptions or observations, not fitted predictions.

Examples

Execute the registered worked inputs; this is a modeled calculation.

>>> from mlsysim import Scenarios
>>> case = Scenarios.MinHashPipelineAmortization
>>> value = case.investment
>>> print(f"{value:.3f~P}")
55000.000 USD

Attributes

Name Description
breakeven_runs Continuous number of runs needed to recover the investment.
build_cost
investment Initial investment in currency units, build plus one-time operating cost.
operating_cost
run_counts
saving_per_run

Methods

Name Description
net_return Net return fraction after the supplied run count; savings minus investment over investment.
savings_multiple Dimensionless gross savings divided by initial investment.

net_return

engine.scenario_types.RunAmortizationScenario.net_return(runs)

Net return fraction after the supplied run count; savings minus investment over investment.

(runs x saving - investment) / investment.

Equation: return ((runs * self.saving_per_run - self.investment) / self.investment).to(’’).magnitude

savings_multiple

engine.scenario_types.RunAmortizationScenario.savings_multiple(runs)

Dimensionless gross savings divided by initial investment.

Total savings over the investment.

Equation: return (runs * self.saving_per_run / self.investment).to(’’).magnitude

build_cost

Type: Quantity.

Declared default: required.

operating_cost

Type: Quantity.

Declared default: required.

saving_per_run

Type: Quantity.

Declared default: required.

run_counts

Type: List[int].

Declared default: [].

investment

engine.scenario_types.RunAmortizationScenario.investment

Initial investment in currency units, build plus one-time operating cost.

Equation: return self.build_cost + self.operating_cost

breakeven_runs

engine.scenario_types.RunAmortizationScenario.breakeven_runs

Continuous number of runs needed to recover the investment.

Equation: return (self.investment / self.saving_per_run).to(’’).magnitude

Back to top