Portfolio balance
ShippedCaps each recipient or group's share of recent assignments.
Example
How Portfolio balance decides — the pool is evaluated and the winner is assigned. Each strategy selects differently.
▸ Show the code
// Portfolio balance selects from the pool and assigns.engine.Route(ductor.Route{ Match: `routable.type == "lead"`, Strategy: "portfolio_balance", Pool: "sales-team",}) // Durable, observable, exactly-once.decision, err := engine.Dispatch(ctx, routable)Parameters7
window_sizenumberdefault 100max_sharesliderdefault 0.50–1rebalance_strengthsliderdefault 10–10min_assignmentsnumberdefault 0group_by_metadatastringbase_strategystringdefault smooth_weighted_round_robinempty_window_modeenumdefault base_strategybase_strategy · fair_weighted · error
Cached parameter metadata — connect the engine for live defaults.
How it works
Keeps recent assignment share under configured per-recipient or per-metadata-group caps to avoid concentration risk, rebalancing toward under-served recipients with explicit empty-window behavior.
WeightedExplainable