Analyze Schedule Attainment
Beta/v1/core/analytics/schedule-attainmentThis endpoint is idempotent. Learn more
Returns actual production measured against the plan that was live at the time.
The baseline for each week is the schedule version published on or before that week began, so republishing mid-horizon cannot rewrite a week the floor has already worked. baseline_schedules names the versions used.
Two ratios are returned because either alone misleads: attainment_pct caps each campaign at what was asked for, so over-building one SKU cannot hide a miss on another, while output_ratio_pct is uncapped and is what reveals over-production. Production with no matching planned campaign is reported as unplanned_quantity rather than discarded — that number is the clearest signal a schedule is being worked around.
Every ratio is null rather than zero when nothing was planned, and has_baseline is false when nothing was ever published over the period.
start_datestring (date-time)The start date for the analysis period.
end_datestring (date-time)The end date for the analysis period.
group_byoptional stringenumValues:weekmachinedepartmentThe dimension to break the results down by. Defaults to week.
machine_idsoptional array of stringOnly measure production on these machines.
department_idsoptional array of stringOnly measure production in these departments.
objectstringenumValues:analyze_schedule_attainment_responseResource type identifier.
starts_atstring (date-time)Start of the measured period.
ends_atstring (date-time)End of the measured period.
group_bystringenumValues:weekmachinedepartmentThe dimension the breakdown is grouped by.
The published versions the measurement was taken against.
objectstringenumValues:listResource type identifier.
page_infoobjectPagination metadata.
next_page_urlstringnullableRelative URL that fetches the next page of results.
null when the last page has been reached.
previous_page_urlstringnullableRelative URL that fetches the previous page of results.
null while on the first page.
has_next_pagebooleanWhether more results exist after this page.
has_prev_pagebooleanWhether results exist before this page.
dataarray of entityResources in this page.
idstringUnique identifier for the entity.
objectstringenumValues:entityResource type identifier.
typestringenumValues:accountactorentityThe resource kind that this entity references, as an object-type value (e.g. user, account).
Unlike object — which is always entity — this names the underlying resource the id points to.
namestringnullableHuman-readable display name for the entity (e.g. a user's full name, a sales order number).
handlestringnullableSecondary human-readable identifier (e.g. email address, username, redacted API key value).
The breakdown.
objectstringenumValues:listResource type identifier.
page_infoobjectPagination metadata.
next_page_urlstringnullableRelative URL that fetches the next page of results.
null when the last page has been reached.
previous_page_urlstringnullableRelative URL that fetches the previous page of results.
null while on the first page.
has_next_pagebooleanWhether more results exist after this page.
has_prev_pagebooleanWhether results exist before this page.
dataarray of objectResources in this page.
keystringIdentifies the bucket within the chosen grouping — a week start, machine ID, department ID or item ID.
labelstringDisplay label for the bucket.
week_starts_atstring (date-time)nullableFirst day of the week, when grouping by week.
planned_quantitynumberUnits the live plan called for.
actual_quantitynumberUnits actually produced.
matched_quantitynumberUnits produced that were planned for, capped per campaign at what was asked.
waste_quantitynumberUnits scrapped.
unplanned_quantitynumberUnits produced with no matching planned campaign.
planned_run_hoursnumberMachine hours the plan called for.
planned_linesintegerPlanned campaigns in this bucket.
batch_countintegerBatches scanned in this bucket.
attainment_pctnumbernullableShare of the plan that was met. Null when nothing was planned.
output_ratio_pctnumbernullableOutput as a share of plan, uncapped. Null when nothing was planned.
totalsobjectEvery bucket combined.
keystringIdentifies the bucket within the chosen grouping — a week start, machine ID, department ID or item ID.
labelstringDisplay label for the bucket.
week_starts_atstring (date-time)nullableFirst day of the week, when grouping by week.
planned_quantitynumberUnits the live plan called for.
actual_quantitynumberUnits actually produced.
matched_quantitynumberUnits produced that were planned for, capped per campaign at what was asked.
waste_quantitynumberUnits scrapped.
unplanned_quantitynumberUnits produced with no matching planned campaign.
planned_run_hoursnumberMachine hours the plan called for.
planned_linesintegerPlanned campaigns in this bucket.
batch_countintegerBatches scanned in this bucket.
attainment_pctnumbernullableShare of the plan that was met. Null when nothing was planned.
output_ratio_pctnumbernullableOutput as a share of plan, uncapped. Null when nothing was planned.
Frozen-week adherence per baseline version.
objectstringenumValues:listResource type identifier.
page_infoobjectPagination metadata.
next_page_urlstringnullableRelative URL that fetches the next page of results.
null when the last page has been reached.
previous_page_urlstringnullableRelative URL that fetches the previous page of results.
null while on the first page.
has_next_pagebooleanWhether more results exist after this page.
has_prev_pagebooleanWhether results exist before this page.
dataarray of objectResources in this page.
scheduleentitynullableThe published version this measures.
idstringUnique identifier for the entity.
objectstringenumValues:entityResource type identifier.
typestringenumValues:accountactorentityThe resource kind that this entity references, as an object-type value (e.g. user, account).
Unlike object — which is always entity — this names the underlying resource the id points to.
namestringnullableHuman-readable display name for the entity (e.g. a user's full name, a sales order number).
handlestringnullableSecondary human-readable identifier (e.g. email address, username, redacted API key value).
versionintegerVersion number of that schedule.
frozen_line_countintegerCampaigns frozen at publish.
frozen_planned_quantitynumberUnits frozen at publish.
deviated_linesintegerFrozen campaigns that were changed after publish.
added_linesintegerCampaigns added into the frozen window after publish.
abs_delta_unitsnumberTotal absolute unit change across frozen-week deviations.
line_adherence_pctnumbernullableShare of frozen campaigns that survived untouched. Null when nothing was frozen.
units_adherence_pctnumbernullableShare of frozen units that survived untouched. Null when nothing was frozen.
frozen_through_atstring (date-time)nullableLast day of the frozen window.
baseline_statusstringenumValues:measuredno_baselineWhether the period had a plan to measure against. When no_baseline, every ratio is null and the period has no plan rather than a missed one.
Responses
Successful response for Analyze Schedule Attainment