temporal
module wittgenstein_lead_scorer.signals.temporal
Classes
-
TemporalScorer — Applies time-based decays or boosts to lead scores based on inactivity.
wittgenstein_lead_scorer.signals.temporal.TemporalScorer
class TemporalScorer(half_life_days: int = 14)
Applies time-based decays or boosts to lead scores based on inactivity.
Methods
-
calculate_decay_multiplier — Calculate score decay multiplier using exponential decay formula.
-
evaluate_inactivity — Produce a temporal scoring signal from the exponential decay multiplier.
wittgenstein_lead_scorer.signals.temporal.TemporalScorer.calculate_decay_multiplier
method TemporalScorer.calculate_decay_multiplier(last_activity_date: datetime) → float
Calculate score decay multiplier using exponential decay formula.
wittgenstein_lead_scorer.signals.temporal.TemporalScorer.evaluate_inactivity
method TemporalScorer.evaluate_inactivity(last_activity_date: datetime) → List[ScoringSignal]
Produce a temporal scoring signal from the exponential decay multiplier.
The multiplier (1.0 = just active, ->0.0 = long inactive) is linearly mapped onto the [MAX_STALENESS_PENALTY, MAX_FRESHNESS_BONUS] range, so the score responds smoothly to inactivity instead of jumping between discrete bands.