Skip to main content

CloudEdgeCostScenario

Economics scenarios · Implementation: mlsysim/engine/scenario_definitions/economics.py.

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

Serving a network of sites from the cloud (pay per image) or from a device at each site (buy up front).

Undiscounted; payback is the up-front device cost over the yearly running cost the devices save. image_size, uplink, and the two latencies are optional, for comparing response times.

Notes

Equation: annual cost = annual images * per-image price + fixed cost; payback = edge capital / annual savings.

Assumptions: Volumes and prices remain constant and costs are undiscounted. Optional upload comparison requires image size and uplink.

Excludes: Hardware replacement, discounting, fleet outages, and inference-quality differences.

References

Derivation: annual cost = annual images * per-image price + fixed cost; payback = edge capital / annual savings. The individual properties state units and intermediate accounting; this class introduces no fitted coefficient.

Examples

The named scenario supplies illustrative inputs; the output is calculated.

>>> from mlsysim import Scenarios
>>> case = Scenarios.RetinopathyScreeningCloudVersusEdge
>>> round(float(case.annual_images), 3)
9125000.0

Attributes

Name Description
annual_images Images processed in one modeled year, multiplying sites, daily cases, images per
annual_savings Cloud minus edge operating cost rate in currency per year.
cases_per_site_day
cloud_annual Total annual cloud cost rate, variable inference plus fixed annual charges.
cloud_cost_per_image
cloud_fixed_annual
cloud_inference_annual Cloud variable cost rate in currency per year for the annual image count.
cloud_latency
cloud_upload_time Ideal single-image uplink time from physics.quantities.transfer_time before
days_per_year
edge_annual Annual edge cost rate, adding maintenance and variable inference.
edge_capex Up-front currency cost of one edge device per site.
edge_cost_per_image
edge_device_cost
edge_first_year First-year edge currency spend, up-front capital plus one year of operating costs.
edge_inference_annual Annual edge variable cost rate for the same image volume.
edge_latency
edge_maintenance_annual
image_size
images_per_case
payback Undiscounted capital-recovery duration from
sites
uplink

sites

Type: int.

Declared default: required.

cases_per_site_day

Type: int.

Declared default: required.

images_per_case

Type: int.

Declared default: required.

days_per_year

Type: int.

Declared default: required.

cloud_cost_per_image

Type: Quantity.

Declared default: required.

cloud_fixed_annual

Type: Quantity.

Declared default: required.

edge_device_cost

Type: Quantity.

Declared default: required.

edge_maintenance_annual

Type: Quantity.

Declared default: required.

edge_cost_per_image

Type: Quantity.

Declared default: required.

image_size

Type: Optional[Quantity].

Declared default: None.

cloud_latency

Type: Optional[Quantity].

Declared default: None.

edge_latency

Type: Optional[Quantity].

Declared default: None.

annual_images

engine.scenario_types.CloudEdgeCostScenario.annual_images

Images processed in one modeled year, multiplying sites, daily cases, images per case, and operating days.

Equation: return sites * cases_per_site_day * images_per_case * days_per_year.

cloud_inference_annual

engine.scenario_types.CloudEdgeCostScenario.cloud_inference_annual

Cloud variable cost rate in currency per year for the annual image count.

Equation: return annual_images * cloud_cost_per_image / Q_(1, 'year').

cloud_annual

engine.scenario_types.CloudEdgeCostScenario.cloud_annual

Total annual cloud cost rate, variable inference plus fixed annual charges.

Equation: return cloud_inference_annual + cloud_fixed_annual.

edge_capex

engine.scenario_types.CloudEdgeCostScenario.edge_capex

Up-front currency cost of one edge device per site.

Equation: return sites * edge_device_cost.

edge_inference_annual

engine.scenario_types.CloudEdgeCostScenario.edge_inference_annual

Annual edge variable cost rate for the same image volume.

Equation: return annual_images * edge_cost_per_image / Q_(1, 'year').

edge_annual

engine.scenario_types.CloudEdgeCostScenario.edge_annual

Annual edge cost rate, adding maintenance and variable inference.

Equation: return edge_maintenance_annual + edge_inference_annual.

edge_first_year

engine.scenario_types.CloudEdgeCostScenario.edge_first_year

First-year edge currency spend, up-front capital plus one year of operating costs.

Equation: return edge_capex + edge_annual * Q_(1, 'year').

annual_savings

engine.scenario_types.CloudEdgeCostScenario.annual_savings

Cloud minus edge operating cost rate in currency per year.

Equation: return cloud_annual - edge_annual.

payback

engine.scenario_types.CloudEdgeCostScenario.payback

Undiscounted capital-recovery duration from physics.economics.calc_payback_period.

Equation: return calc_payback_period(edge_capex, annual_savings).

cloud_upload_time

engine.scenario_types.CloudEdgeCostScenario.cloud_upload_time

Ideal single-image uplink time from physics.quantities.transfer_time before remote processing.

Equation: return transfer_time(image_size, uplink).

Back to top