Skip to content

PerformanceLossTracking¤

Track performance and speed losses against target cycle times.

Module: ts_shape.events.production.performance_loss Guide: Reporting Guide


When to Use¤

Use to identify hidden speed losses where the machine runs but slower than target. The "performance" component of OEE, showing where actual cycle time exceeds ideal. This module helps production engineers find periods of reduced speed that may not trigger alarms but still erode throughput over time.


Quick Example¤

from ts_shape.events.production.performance_loss import PerformanceLossTracking

tracker = PerformanceLossTracking(
    df=production_df,
    start_time="2024-01-01",
    end_time="2024-01-31"
)

# Performance percentage per shift
perf = tracker.performance_by_shift(
    cycle_uuid="cycle-time-001",
    target_cycle_time=4.5  # seconds
)

# Find periods where performance dropped below 90%
slow = tracker.slow_periods(
    cycle_uuid="cycle-time-001",
    target_cycle_time=4.5,
    threshold_pct=90.0
)

# Daily trend of performance percentage
trend = tracker.performance_trend(
    cycle_uuid="cycle-time-001",
    target_cycle_time=4.5,
    window="1D"
)

Key Methods¤

Method Purpose Returns
performance_by_shift(cycle_uuid, target_cycle_time) Performance percentage per shift (ideal / actual) DataFrame
slow_periods(cycle_uuid, target_cycle_time, threshold_pct=90.0) Time windows where performance fell below threshold DataFrame
performance_trend(cycle_uuid, target_cycle_time, window='1D') Rolling trend of performance percentage DataFrame

Tips & Notes¤

Exclude planned slow-downs

If your process has intentional reduced-speed modes (e.g., warm-up, cool-down), filter those periods out before analysis. Otherwise they will appear as false performance losses.

Related modules


See Also¤