target_tracking
target_tracking ¤
Target vs actual comparison module.
Generic module for comparing any metric to targets: - Shift/daily target comparison - Variance analysis - Target achievement tracking over time
TargetTracking ¤
TargetTracking(
dataframe: DataFrame,
*,
time_column: str = "systime",
shift_definitions: Optional[
Dict[str, tuple[str, str]]
] = None
)
Bases: Base
Compare any production metric to targets.
Every plant has daily/shift targets. This module provides a generic way to compare actual performance against those targets.
Merge keys: [date, shift] for shift-level, [date] for daily.
Pipeline example::
target = TargetTracking(df)
result = target.compare_to_target('counter', {'shift_1': 450})
# → merge with PerformanceLossTracking.performance_by_shift() on [date, shift]
# → merge with QualityTracking.nok_by_shift() on [date, shift]
# → result['status'] column enables filtering/alerting
Example usage
tracker = TargetTracking(df)
Compare counter to fixed target¤
result = tracker.compare_to_target( metric_uuid='production_counter', targets={'shift_1': 450, 'shift_2': 450, 'shift_3': 400}, )
Achievement summary over time¤
summary = tracker.target_achievement_summary( metric_uuid='production_counter', daily_target=1300, )
compare_to_target ¤
compare_to_target(
metric_uuid: str,
targets: Dict[str, float],
*,
value_column: str = "value_integer"
) -> pd.DataFrame
Compare actual metric to per-shift targets.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
metric_uuid
|
str
|
UUID of the metric signal (counter). |
required |
targets
|
Dict[str, float]
|
Dict mapping shift names to target values. |
required |
value_column
|
str
|
Column containing metric values. |
'value_integer'
|
Returns:
| Type | Description |
|---|---|
DataFrame
|
DataFrame with columns: |
DataFrame
|
|
target_achievement_summary ¤
target_achievement_summary(
metric_uuid: str,
daily_target: float,
*,
value_column: str = "value_integer"
) -> pd.DataFrame
Summarize target achievement over time.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
metric_uuid
|
str
|
UUID of the metric signal (counter). |
required |
daily_target
|
float
|
Daily production target. |
required |
value_column
|
str
|
Column containing metric values. |
'value_integer'
|
Returns:
| Type | Description |
|---|---|
DataFrame
|
DataFrame with columns: |
DataFrame
|
|
target_hit_rate ¤
target_hit_rate(
metric_uuid: str,
daily_target: float,
*,
value_column: str = "value_integer"
) -> Dict[str, Union[float, int]]
How often are targets met?
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
metric_uuid
|
str
|
UUID of the metric signal (counter). |
required |
daily_target
|
float
|
Daily production target. |
required |
value_column
|
str
|
Column containing metric values. |
'value_integer'
|
Returns:
| Type | Description |
|---|---|
Dict[str, Union[float, int]]
|
Dict with: |
Dict[str, Union[float, int]]
|
|
Dict[str, Union[float, int]]
|
|
Dict[str, Union[float, int]]
|
|
Dict[str, Union[float, int]]
|
|