mod retention#
- module retention#
Retention intent generation from observed session timing distributions.
Functions
- fn generate_retention_intent(session_duration: &DistributionSummary, inter_call_gap: &DistributionSummary, thresholds: &RetentionThresholds) -> RetentionIntent#
Generate a retention intent from observed session timing distributions.
The median session duration determines the recommended retention tier. The median inter-call gap is copied into the returned intent for downstream policy decisions.
Parameters
session_duration: Observed session-duration distribution.inter_call_gap: Observed inter-call-gap distribution.thresholds: Tier thresholds used to classify the session duration.
Returns
A
RetentionIntentsummarizing the recommended retention policy.
- fn generate_retention_intent_default(session_duration: &DistributionSummary, inter_call_gap: &DistributionSummary) -> RetentionIntent#
Generate a retention intent with the default thresholds.
Parameters
session_duration: Observed session-duration distribution.inter_call_gap: Observed inter-call-gap distribution.
Returns
A
RetentionIntentproduced withRetentionThresholds::default.
Structs and Unions
- struct RetentionThresholds#
Thresholds used to map observed timing into a retention tier.
- ephemeral_max_secs: f64#
Maximum median session duration for the ephemeral tier, in seconds.
- short_lived_max_secs: f64#
Maximum median session duration for the short-lived tier, in seconds.
- session_duration_max_secs: f64#
Maximum median session duration for the session-duration tier, in seconds.
- long_lived_max_secs: f64#
Maximum median session duration for the long-lived tier, in seconds.
Traits implemented
- impl Default for RetentionThresholds#