Skip to main content

RolloutExposureScenario

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.

Users exposed until rollback under an all-at-once cutover against a canary share, with the same request rate, harm, and time to rollback.

Notes

Equation: Exposure scales with traffic share, so equal-window exposure ratio is full_share/canary_share.

Assumptions: Positive canary share, identical request rate, harm per request, and rollback duration.

Excludes: Detection-time differences between rollout policies and heterogeneous user harm.

References

Derivation: With identical rate, harm per exposed request, and rollback time, both exposure totals contain the same factors. Canceling them leaves the full-traffic share divided by the canary share.

Examples

>>> from mlsysim import Scenarios
>>> s = Scenarios.CanaryVersusCutoverExposure
>>> s.exposure_ratio > 0
True

Attributes

Name Description
canary_share
exposure_ratio Dimensionless cutover-to-canary traffic exposure ratio for identical rollback windows.
full_share
time_to_rollback

full_share

Type: float.

Declared default: required.

canary_share

Type: float.

Declared default: required.

time_to_rollback

Type: Optional[Quantity].

Declared default: None.

exposure_ratio

engine.scenario_types.RolloutExposureScenario.exposure_ratio

Dimensionless cutover-to-canary traffic exposure ratio for identical rollback windows.

Equation: full_share / canary_share.

Back to top