Skip to content

setup_time_tracking

setup_time_tracking ¤

Setup/changeover time tracking for SMED analysis.

Track setup durations to support Single-Minute Exchange of Die improvement: - Setup event durations - Setup time by product transition - Setup statistics - Setup time trends

SetupTimeTracking ¤

SetupTimeTracking(
    dataframe: DataFrame,
    *,
    time_column: str = "systime",
    shift_definitions: Optional[
        Dict[str, tuple[str, str]]
    ] = None
)

Bases: Base

Track and analyze setup/changeover durations.

Each UUID represents one signal: - state_uuid: machine state signal containing a setup indicator value - part_id_uuid: part number / product type signal (optional)

Merge keys: [date, shift] for shift-level, [period] for trend data, [from_product, to_product] for product transition analysis.

Pipeline example::

setup = SetupTimeTracking(df)
durations = setup.setup_durations('machine_state', setup_value='Setup')
# → merge with ShiftReporting.shift_production() on [date, shift]
stats = setup.setup_statistics('machine_state')
# → standalone KPI reporting
Example usage

tracker = SetupTimeTracking(df)

List all setup events¤

events = tracker.setup_durations(state_uuid='machine_state')

Setup time by product transition¤

by_product = tracker.setup_by_product( state_uuid='machine_state', part_id_uuid='part_number', )

setup_durations ¤

setup_durations(
    state_uuid: str,
    *,
    setup_value: str = "Setup",
    value_column: str = "value_string"
) -> pd.DataFrame

List every setup event with duration.

Parameters:

Name Type Description Default
state_uuid str

UUID for machine state signal.

required
setup_value str

Value that indicates a setup state.

'Setup'
value_column str

Column containing state values.

'value_string'

Returns:

Type Description
DataFrame

DataFrame with columns:

DataFrame
  • start_time, end_time, duration_minutes, date, shift

setup_by_product ¤

setup_by_product(
    state_uuid: str,
    part_id_uuid: str,
    *,
    setup_value: str = "Setup",
    value_column_state: str = "value_string",
    value_column_part: str = "value_string"
) -> pd.DataFrame

Setup time statistics by product transition (from → to).

Parameters:

Name Type Description Default
state_uuid str

UUID for machine state signal.

required
part_id_uuid str

UUID for part number / product type signal.

required
setup_value str

Value indicating setup state.

'Setup'
value_column_state str

Column containing state values.

'value_string'
value_column_part str

Column containing part number values.

'value_string'

Returns:

Type Description
DataFrame

DataFrame with columns:

DataFrame
  • from_product, to_product, avg_minutes, min_minutes, max_minutes, count

setup_statistics ¤

setup_statistics(
    state_uuid: str,
    *,
    setup_value: str = "Setup",
    value_column: str = "value_string"
) -> pd.DataFrame

Overall setup time statistics.

Parameters:

Name Type Description Default
state_uuid str

UUID for machine state signal.

required
setup_value str

Value indicating setup state.

'Setup'
value_column str

Column containing state values.

'value_string'

Returns:

Type Description
DataFrame

DataFrame (single row) with columns:

DataFrame
  • total_setups, total_minutes, avg_minutes, median_minutes, std_minutes, pct_of_available_time

setup_trend ¤

setup_trend(
    state_uuid: str,
    *,
    setup_value: str = "Setup",
    value_column: str = "value_string",
    window: str = "1W"
) -> pd.DataFrame

Track setup time trend over time.

Parameters:

Name Type Description Default
state_uuid str

UUID for machine state signal.

required
setup_value str

Value indicating setup state.

'Setup'
value_column str

Column containing state values.

'value_string'
window str

Time window for aggregation (default '1W').

'1W'

Returns:

Type Description
DataFrame

DataFrame with columns:

DataFrame
  • period, avg_setup_minutes, setup_count, total_setup_minutes