Interactive workbook to measure OEE reliably, map top losses by category, run prioritized experiments, and capture sustainment handovers. Collects run data, guides correct OEE calculations, records loss-detail entries, tracks up to three rapid experiments, and stores a short sustainment checklist and handover notes.
{
"Title": "OEE Quick Diagnosis Workbook",
"IntroductionHtml": "
Welcome
This workbook helps teams capture reliable OEE inputs, map the top availability/performance/quality losses, run prioritized experiments, and record sustainment handover steps. Use this interactive form during a short improvement huddle or while validating data on the shop floor.
Quick example (filled)
Run: Line 2, Day shift. Planned production time = 480 min. Downtime = 60 min → Availability = (480-60)/480 = 0.875 (87.5%). Total pieces = 9,600, Ideal cycle = 3 sec = 0.05 min → Performance = (0.05*9,600)/(420) = 1.14 → capped at 1.0 (100%). Good pieces = 9,360 → Quality = 9,360/9,600 = 0.975 (97.5%). OEE ≈ 0.875 * 1.00 * 0.975 = 0.85 (85%).
This form stores your entries so you can compare before/after runs, prioritize losses, and track experiments. If you want automatic calculations and dashboards later, see the CapabilityEnhancementNotes below.
",
"SubmitLabel": "Save Workbook Entry",
"SuccessMessage": "Workbook saved. You can reopen and update this entry when you have experiment results.",
"DataType": "oee-quick-diagnosis.v1",
"SchemaVersion": "1.0",
"Fields": [
{
"Key": "run_identity_date",
"FieldType": "text",
"Label": "Record name / Run identifier (date, line, shift)",
"HelpText": "Give this entry a short name you will recognize later, e.g. 'Line2_2026-08-01_Day'.",
"Required": true
},
{
"Key": "line_or_cell",
"FieldType": "text",
"Label": "Line / cell / machine",
"HelpText": "Which production line, cell or machine is this run on?",
"Required": true
},
{
"Key": "shift",
"FieldType": "select",
"Label": "Shift",
"HelpText": "Select the shift for this entry.",
"Options": [
{"Value": "day", "Label": "Day"},
{"Value": "swing", "Label": "Swing"},
{"Value": "night", "Label": "Night"},
{"Value": "other", "Label": "Other"}
],
"Required": true
},
{
"Key": "operator_or_owner",
"FieldType": "text",
"Label": "Operator / owner",
"HelpText": "Name of the operator or CI owner for follow-up.",
"Required": false
},
{
"Key": "planned_production_time_min",
"FieldType": "number",
"Label": "Planned production time (minutes)",
"HelpText": "Total scheduled production time for the period being measured (minutes).",
"Required": true
},
{
"Key": "downtime_minutes",
"FieldType": "number",
"Label": "Total downtime (minutes)",
"HelpText": "Minutes the line was stopped for any reason during the planned production time.",
"Required": true
},
{
"Key": "run_time_minutes",
"FieldType": "number",
"Label": "Run time (minutes)",
"HelpText": "Run Time = Planned production time - Downtime. Enter value or leave blank to compute externally.",
"Required": false
},
{
"Key": "total_pieces_produced",
"FieldType": "number",
"Label": "Total pieces produced",
"HelpText": "All parts produced (including scrap and rework).",
"Required": true
},
{
"Key": "good_pieces",
"FieldType": "number",
"Label": "Good pieces (first-pass quality)",
"HelpText": "Parts that meet quality criteria without rework.",
"Required": true
},
{
"Key": "ideal_cycle_time_sec",
"FieldType": "number",
"Label": "Ideal cycle time (seconds per part)",
"HelpText": "The theoretical fastest consistent cycle time for this product/line (seconds).",
"Required": true
},
{
"Key": "availability_percent",
"FieldType": "number",
"Label": "Availability (%)",
"HelpText": "Formula: Availability = Run Time / Planned Production Time. Enter as percentage (0–100). If you calculated it elsewhere, paste the value. Example: 87.5",
"Required": false
},
{
"Key": "performance_percent",
"FieldType": "number",
"Label": "Performance (%)",
"HelpText": "Formula: Performance = (Ideal Cycle Time * Total Pieces) / Run Time (in same time units). Convert to percentage (cap at 100%). Enter as percent (0–100).",
"Required": false
},
{
"Key": "quality_percent",
"FieldType": "number",
"Label": "Quality (%)",
"HelpText": "Formula: Quality = Good Pieces / Total Pieces. Enter as percent (0–100).",
"Required": false
},
{
"Key": "oee_percent",
"FieldType": "number",
"Label": "OEE (%)",
"HelpText": "OEE = Availability * Performance * Quality (as decimals). Enter OEE as percent (0–100).",
"Required": false
},
{
"Key": "loss_mapping_instructions",
"FieldType": "text",
"Label": "Loss mapping instructions (read before filling loss entries)",
"HelpText": "Categorize losses as Availability (stops and speed losses that cause downtime), Performance (reduced speed, micro-stops), or Quality (scrap, rework). Record minutes lost and a short description. Prioritize by total minutes and root cause potential.",
"Required": false
},
{
"Key": "loss_1_description",
"FieldType": "text",
"Label": "Loss 1 — short description",
"HelpText": "Describe the loss (e.g. 'Changeover delay', 'Sensor fault causing stop', 'Product jam').",
"Required": false
},
{
"Key": "loss_1_category",
"FieldType": "select",
"Label": "Loss 1 — category",
"Options": [
{"Value": "availability", "Label": "Availability"},
{"Value": "performance", "Label": "Performance"},
{"Value": "quality", "Label": "Quality"}
],
"HelpText": "Which OEE component does this loss primarily affect?",
"Required": false
},
{
"Key": "loss_1_minutes",
"FieldType": "number",
"Label": "Loss 1 — minutes lost",
"HelpText": "Total minutes lost to this cause in the measured period.",
"Required": false
},
{
"Key": "loss_1_frequency",
"FieldType": "number",
"Label": "Loss 1 — occurrences in period",
"HelpText": "How many times the loss occurred in the period.",
"Required": false
},
{
"Key": "loss_1_priority_scale",
"FieldType": "scale",
"Label": "Loss 1 — priority (1 low — 5 high)",
"HelpText": "Use this to capture your team's initial priority. See scoring rubric below.",
"Required": false
},
{
"Key": "loss_2_description",
"FieldType": "text",
"Label": "Loss 2 — short description",
"Required": false
},
{
"Key": "loss_2_category",
"FieldType": "select",
"Label": "Loss 2 — category",
"Options": [
{"Value": "availability", "Label": "Availability"},
{"Value": "performance", "Label": "Performance"},
{"Value": "quality", "Label": "Quality"}
],
"Required": false
},
{
"Key": "loss_2_minutes",
"FieldType": "number",
"Label": "Loss 2 — minutes lost",
"Required": false
},
{
"Key": "loss_2_frequency",
"FieldType": "number",
"Label": "Loss 2 — occurrences in period",
"Required": false
},
{
"Key": "loss_2_priority_scale",
"FieldType": "scale",
"Label": "Loss 2 — priority (1 low — 5 high)",
"Required": false
},
{
"Key": "loss_3_description",
"FieldType": "text",
"Label": "Loss 3 — short description",
"Required": false
},
{
"Key": "loss_3_category",
"FieldType": "select",
"Label": "Loss 3 — category",
"Options": [
{"Value": "availability", "Label": "Availability"},
{"Value": "performance", "Label": "Performance"},
{"Value": "quality", "Label": "Quality"}
],
"Required": false
},
{
"Key": "loss_3_minutes",
"FieldType": "number",
"Label": "Loss 3 — minutes lost",
"Required": false
},
{
"Key": "loss_3_frequency",
"FieldType": "number",
"Label": "Loss 3 — occurrences in period",
"Required": false
},
{
"Key": "loss_3_priority_scale",
"FieldType": "scale",
"Label": "Loss 3 — priority (1 low — 5 high)",
"Required": false
},
{
"Key": "loss_summary_top_3",
"FieldType": "textarea",
"Label": "Team note — top 3 losses (short list and why)",
"HelpText": "List the top three losses you will address and why these were prioritized.",
"Required": false
},
{
"Key": "scoring_rubric",
"FieldType": "text",
"Label": "Scoring rubric (use as guidance)",
"HelpText": "Priority scale guidance: 5 = >60 minutes or safety/stop risk or high customer impact; 4 = 30–60 minutes or likely repeat; 3 = 10–30 minutes; 2 = <10 min and low repeat; 1 = negligible. Combine minutes, frequency and ease-of-fix when prioritizing.",
"Required": false
},
{
"Key": "experiment_1_hypothesis",
"FieldType": "textarea",
"Label": "Experiment 1 — hypothesis",
"HelpText": "Clear hypothesis: what you will change and expected measurable outcome (e.g. 'Reducing changeover checklist items will save 10 minutes per changeover').",
"Required": false
},
{
"Key": "experiment_1_owner",
"FieldType": "text",
"Label": "Experiment 1 — owner",
"Required": false
},
{
"Key": "experiment_1_start_date",
"FieldType": "text",
"Label": "Experiment 1 — start date",
"Required": false
},
{
"Key": "experiment_1_end_date",
"FieldType": "text",
"Label": "Experiment 1 — planned end date",
"Required": false
},
{
"Key": "experiment_1_test_description",
"FieldType": "textarea",
"Label": "Experiment 1 — test description",
"Required": false
},
{
"Key": "experiment_1_metric",
"FieldType": "text",
"Label": "Experiment 1 — metric to measure",
"HelpText": "What you will measure (minutes saved, scrap%, uptime), and the baseline value.",
"Required": false
},
{
"Key": "experiment_1_baseline",
"FieldType": "number",
"Label": "Experiment 1 — baseline value",
"Required": false
},
{
"Key": "experiment_1_target",
"FieldType": "number",
"Label": "Experiment 1 — target value",
"Required": false
},
{
"Key": "experiment_1_result",
"FieldType": "select",
"Label": "Experiment 1 — result",
"Options": [
{"Value": "not_started", "Label": "Not started"},
{"Value": "in_progress", "Label": "In progress"},
{"Value": "success", "Label": "Success"},
{"Value": "partial", "Label": "Partial"},
{"Value": "failed", "Label": "Failed"}
],
"Required": false
},
{
"Key": "experiment_1_notes",
"FieldType": "textarea",
"Label": "Experiment 1 — notes and learning",
"Required": false
},
{
"Key": "experiment_1_sustain",
"FieldType": "yesno",
"Label": "Experiment 1 — should this change be sustained?",
"HelpText": "Select yes if the experiment result should become standard work and be handed over.",
"Required": false
},
{
"Key": "experiment_2_hypothesis",
"FieldType": "textarea",
"Label": "Experiment 2 — hypothesis",
"Required": false
},
{
"Key": "experiment_2_owner",
"FieldType": "text",
"Label": "Experiment 2 — owner",
"Required": false
},
{
"Key": "experiment_2_start_date",
"FieldType": "text",
"Label": "Experiment 2 — start date",
"Required": false
},
{
"Key": "experiment_2_end_date",
"FieldType": "text",
"Label": "Experiment 2 — planned end date",
"Required": false
},
{
"Key": "experiment_2_test_description",
"FieldType": "textarea",
"Label": "Experiment 2 — test description",
"Required": false
},
{
"Key": "experiment_2_metric",
"FieldType": "text",
"Label": "Experiment 2 — metric to measure",
"Required": false
},
{
"Key": "experiment_2_baseline",
"FieldType": "number",
"Label": "Experiment 2 — baseline value",
"Required": false
},
{
"Key": "experiment_2_target",
"FieldType": "number",
"Label": "Experiment 2 — target value",
"Required": false
},
{
"Key": "experiment_2_result",
"FieldType": "select",
"Label": "Experiment 2 — result",
"Options": [
{"Value": "not_started", "Label": "Not started"},
{"Value": "in_progress", "Label": "In progress"},
{"Value": "success", "Label": "Success"},
{"Value": "partial", "Label": "Partial"},
{"Value": "failed", "Label": "Failed"}
],
"Required": false
},
{
"Key": "experiment_2_notes",
"FieldType": "textarea",
"Label": "Experiment 2 — notes and learning",
"Required": false
},
{
"Key": "experiment_2_sustain",
"FieldType": "yesno",
"Label": "Experiment 2 — should this change be sustained?",
"Required": false
},
{
"Key": "experiment_3_hypothesis",
"FieldType": "textarea",
"Label": "Experiment 3 — hypothesis",
"Required": false
},
{
"Key": "experiment_3_owner",
"FieldType": "text",
"Label": "Experiment 3 — owner",
"Required": false
},
{
"Key": "experiment_3_start_date",
"FieldType": "text",
"Label": "Experiment 3 — start date",
"Required": false
},
{
"Key": "experiment_3_end_date",
"FieldType": "text",
"Label": "Experiment 3 — planned end date",
"Required": false
},
{
"Key": "experiment_3_test_description",
"FieldType": "textarea",
"Label": "Experiment 3 — test description",
"Required": false
},
{
"Key": "experiment_3_metric",
"FieldType": "text",
"Label": "Experiment 3 — metric to measure",
"Required": false
},
{
"Key": "experiment_3_baseline",
"FieldType": "number",
"Label": "Experiment 3 — baseline value",
"Required": false
},
{
"Key": "experiment_3_target",
"FieldType": "number",
"Label": "Experiment 3 — target value",
"Required": false
},
{
"Key": "experiment_3_result",
"FieldType": "select",
"Label": "Experiment 3 — result",
"Options": [
{"Value": "not_started", "Label": "Not started"},
{"Value": "in_progress", "Label": "In progress"},
{"Value": "success", "Label": "Success"},
{"Value": "partial", "Label": "Partial"},
{"Value": "failed", "Label": "Failed"}
],
"Required": false
},
{
"Key": "experiment_3_notes",
"FieldType": "textarea",
"Label": "Experiment 3 — notes and learning",
"Required": false
},
{
"Key": "experiment_3_sustain",
"FieldType": "yesno",
"Label": "Experiment 3 — should this change be sustained?",
"Required": false
},
{
"Key": "sustainment_checklist",
"FieldType": "checkbox",
"Label": "Sustainment checklist",
"Options": [
{"Value": "document_standard_work", "Label": "Document updated standard work / checklist"},
{"Value": "train_team", "Label": "Train operators and supervisors"},
{"Value": "update_visuals", "Label": "Update visual controls and signage"},
{"Value": "assign_owner", "Label": "Assign ongoing owner / monitor"},
{"Value": "monitor_for_period", "Label": "Monitor metrics for at least 2 weeks"},
{"Value": "rollout_plan", "Label": "Create rollout plan for other lines"}
],
"HelpText": "Check items required to sustain a change.",
"Required": false
},
{
"Key": "handover_notes",
"FieldType": "textarea",
"Label": "Handover notes (for shift-to-shift or team-to-team)",
"HelpText": "Include who will own the new standard, where documentation is stored, and who to contact if problems recur.",
"Required": false
},
{
"Key": "additional_observations",
"FieldType": "textarea",
"Label": "Additional observations and next steps",
"HelpText": "Capture any other immediate actions, risks, or requests for support.",
"Required": false
}
]
}