Production Scheduling for Detergents & Cleaning Products

Model and schedule detergents and cleaning products in Schantt — batch blending, continuous filling, directional CIP changeovers, partial transfers between stages, and calendars that adapt to seasonal demand.

Production scheduling for detergents and cleaning products is a balancing act between batch blending and continuous filling, with chemistry-driven changeovers and seasonal demand swings that can strain any planner's Gantt chart. This guide shows production planners and operations leaders how to model their liquid and powder production in Schantt's hybrid flowshop — configuring stages, machines, directional cleaning times, and shift calendars so the scheduling algorithm can cluster compatible runs and minimise idle time.

This guide follows a fictional composite company built from industry research on detergents and cleaning products; all names, parameters, and figures are illustrative.

Industry context

Detergents and cleaning products manufacturing is a hybrid batch-flow operation. Liquid products — household cleaners, bleach-based disinfectants, and specialty formulations — start as batch blends in stirred tanks, then move through a quality-hold stage before being filled into bottles on high-speed continuous lines. Powder products follow a separate dry route through a ribbon blender before reaching a dedicated filling line. The common thread is a flowshop topology: all products pass through a sequence of stages, but liquid and powder paths diverge at the front end.

ClearChem Products runs approximately 48 people at a 4,000 m² facility, producing 3 product classes across 5 production stages, scheduled by a small planning team. The site carries about 480 active SKUs, roughly 40% of which are private-label runs for retail customers. Three blend tanks handle the liquid workloads, each with a 5,000 kg batch size — a 75-minute cycle for household cleaners and a 45-minute cycle for specialty and disinfecting formulations. Two 2,000 L day tanks buffer blended compound before it reaches three filling lines. A single ribbon blender processes the powder route, at 1,500 kg per batch with a 15-minute cycle. Filling Line A runs liquid household cleaners and disinfectants at 4,800 units per hour; Line B runs the same classes at 1,200 units per hour; Line C serves the powder and tablet class at 1,080 units per hour. Three palletisers, each paired to a filling line, complete the line at matching throughputs.

Blending follows a standard 40-hour week (single shift, Monday to Friday), while filling and palletising run an extended 80-hour week (one-and-a-half shifts, Monday to Friday). Four calendar exceptions mark public holidays and a year-end shutdown period. Three scheduled downtimes cover an annual factory-wide maintenance shutdown in July and staggered deep-CIP windows on two of the blend tanks in March. Directional changeover matrices on every blend tank and filling line reflect the asymmetric cleaning burden between compatible liquid household formulations and aggressive disinfecting compounds.

Process overview

flowchart LR
    B["Blending<br/>(BATCH)"] --> H["Hold / Surge<br/>(BATCH)"]
    B2["Powder Blending<br/>(BATCH)"] --> F["Filling<br/>(FLOW)"]
    H --> F
    F --> P["Palletising<br/>(FLOW)"]

Five production stages in the ClearChem flowshop: liquid products pass through Blending, Hold/Surge, Filling, and Palletising; powder products skip the first two stages and enter at Powder Blending, then proceed to Filling and Palletising.

Liquid Household Cleaners and Specialty & Disinfecting products each pass through four stages (Blending → Hold/Surge → Filling → Palletising). Powder & Tablet Products skip Blending and Hold/Surge, entering at Powder Blending before proceeding to Filling and Palletising.

Scheduling challenges and how Schantt handles them

The demand signal for this scenario is a monthly production plan aggregated from customer orders, blanket purchase orders, and private-label commitments — the typical input for a mid-market cleaning products manufacturer. If your operation is driven by make-to-stock or a different demand source, the same modeling approach applies; your job list will reflect your demand type.

The scheduling algorithm minimises total production time and schedules forward from a start date. This guide assumes a rolling 2-week to 4-week horizon, which covers the typical blend-to-ship cycle for liquid cleaning products. Two optimisation modes are available: Auto mode produces a full schedule end to end, while Semi-Auto mode lets you lock selected job assignments and optimise around them.

What Schantt handles well

  • Mixed batch-and-flow pipelines with partial transfers — Schantt models batch blending and continuous-flow filling in a single route, with partial transfer at the surge-tank handoff so filling starts on the first deliverable portion while blending continues.
  • Directional, sequence-dependent changeovers — Each blend tank and filling line carries its own directional matrix of changeover durations by chemistry and format pair, so the optimizer clusters compatible runs and avoids cleanouts.
  • Multi-machine stages with per-class capability — Parallel filling lines with different speeds and format ranges are modelled on the same stage; each machine specifies which product classes it can run, and the algorithm assigns jobs to feasible machines only.
  • Per-class routing with stage skipping — Each product class defines its own ordered set of required stages; powder products that skip the liquid blending and hold stages simply omit them from their route.
  • Shift-aware calendars with exceptions and downtime — Blending and filling can run different shift patterns; holidays, maintenance windows, and seasonal overtime are captured as calendar exceptions and downtimes that affect both timing and Gantt overlays.
  • Quality hold as a fixed forward delay — The QC hold between blending and filling is modelled as a scheduled time buffer, with longer regulatory holds for disinfectant products.

How Schantt handles each challenge

1. Aligning batch blending with continuous filling.

  • Blending batches are discrete 5,000 kg cycles that take 45 to 75 minutes, while filling runs continuously at thousands of units per hour. Without careful coordination, blending either starves a fill line or builds compound that waits in the day tanks for the filler to catch up. The scheduling reality is that a fill line scheduled before its preceding blend completes will stall, and blending too far ahead overfills surge capacity. The two day tanks can hold only 2,000 L each — roughly one batch's worth — so overproduction backs up the blend floor.
  • Schantt models the Blending stage with batch-type machines (cycle duration and batch size), the Filling stage with flow-type machines (throughput in units per hour), and the Hold/Surge stage in between with zero cycle time and partial transfer enabled. The algorithm starts filling on the first deliverable portion the moment it arrives at the day tanks, without waiting for the entire blend to finish, and the partial-transfer quantity is set per product class to match the day-tank capacity.

2. Directional CIP between chemistry classes.

  • A disinfecting run leaves aggressive residue that demands extended cleaning before the next household formulation — up to 120 minutes of cleaning on a blend tank after a bleach compound, compared to 45 minutes going the other way or 15 minutes between two compatible household runs. Last month, approximately 18 hours — roughly 15% of blend capacity — was consumed by cleaning, and the worst-case Specialty-to-Household direction on a single tank ties up the machine for a full 2-hour window. Planners who use a single average changeover time across all transitions either underestimate the cleaning burden (producing an unachievable schedule) or overestimate it (losing productive capacity).
  • Each blend tank in Schantt carries its own directional changeover matrix — four entries per tank covering every (from, to) pair among the two liquid product classes. The filling lines have a similar 4-entry matrix for the two liquid classes plus a single symmetric entry for the powder line. The algorithm reads the actual pair duration for every transition, so it clusters compatible runs and sequences transitions that minimise total cleaning time. Because the CIP skid that supplies cleaning solution is a shared plant resource not represented as a Schantt entity, the planner should review the Gantt output to confirm that simultaneous cleaning operations on different tanks do not overlap on the same skid — a quick visual check after each optimisation run.

3. Divergent routing for liquid versus powder products.

  • Liquid products flow through blending, surge holding, and filling; powder products go directly from the ribbon blender to the filling line, skipping the entire wet side. A single process map that forces all products through every stage wastes capacity on the powder side. The planning team manually segregates powder jobs from liquid jobs in their spreadsheet, tracking two separate schedules and trying to reconcile shared downstream resources (the filling and palletising stages) on a whiteboard. Any last-minute change forces a manual ripple update in both schedules.
  • Schantt models divergent routing at the product-class level. One representative product class per route — Liquid Household Cleaners, Specialty & Disinfecting, and Powder & Tablet Products — each defines its own ordered list of required stages. Liquid classes specify Blending, Hold/Surge, Filling, and Palletising; the powder class specifies Powder Blending, Filling, and Palletising. The scheduling algorithm honours each class's route, automatically assigning powder jobs only to machines on the powder route and liquid jobs to the liquid route, and reconciling the shared filling and palletising stages in a single schedule.

4. Seasonal demand swings and shift-pattern changes.

  • The cleaning products market is strongly seasonal: spring cleaning drives demand 25 to 50% above baseline, flu season adds 20 to 40% for disinfecting products, and the overall trough-to-peak swing reaches 40 to 60%. Planners must manually switch from a single-shift pattern to extended shifts or even 6-day, 3-shift operations during peaks, then back again. Without a scheduling tool that understands calendars, the planning team prints revised shift sheets and manually adjusts job start times whenever the pattern changes. The risk of scheduling a blend during a non-working hour or under-loading a peak week is high, especially when demand swings happen at short notice.
  • Schantt supports multiple calendar definitions, each setting working and non-working days, start and end times per day of the week, and one-off exceptions. The blending and powder blending stages use a Standard 40-hour calendar while the filling and palletising stages use an Extended 80-hour calendar. Seasonal peaks are handled by switching or extending the applicable calendar — the planner selects the shift pattern that matches each season and the scheduling algorithm works within those windows. Additional non-working days, half-day shutdowns, and maintenance downtimes are entered as calendar exceptions or machine downtimes, and the schedule honours every constraint.

5. Quality and regulatory holds on liquid batches.

  • Every liquid blend must pass quality control before it reaches the filling line. Household cleaners have a standard 4-hour QC hold; disinfecting products must clear a 72-hour regulatory hold for biocide compliance. These holds create a forward time buffer that the schedule must respect, but the actual release decision is made by the lab, not the scheduling system. Planners currently add a blanket 4-hour gap between blend completion and fill start for every liquid job, then manually extend it to 72 hours for disinfecting runs. The manual approach is error-prone — a missed extension can schedule a fill start before regulatory release, while an over-applied long hold wastes capacity on fast-turnaround household runs.
  • Schantt models the QC hold as a transfer-time buffer between the Hold/Surge stage and the Filling stage, with the duration set per product class. The 4-hour standard hold for Liquid Household Cleaners and the 72-hour hold for Specialty & Disinfecting are embedded in the transfer-time parameter; the algorithm inserts the appropriate buffer for each job automatically. Lot traceability and batch records stay in the QMS and LIMS — the schedule shows what was produced and when, while the actual QA release (pass or fail, retesting, disposition) remains in the laboratory. The planner adjusts manually if a batch fails QC outside the configured hold window.

What to model in Schantt

The model for this scenario uses five first-class entities that a planner creates as top-level objects.

Entity Count Notes
Stage 5 Blending (BATCH), Hold/Surge (BATCH, zero cycle), Powder Blending (BATCH), Filling (FLOW), Palletising (FLOW)
Machine 12 3 blend tanks, 2 day tanks, 1 ribbon blender, 3 filling lines, 3 palletisers
Product Class 3 Liquid Household Cleaners, Specialty & Disinfecting, Powder & Tablet Products
Product 3 One representative per class: All-Purpose Cleaner, Bleach-based Disinfectant, Laundry Powder
Calendar 2 Standard (40 h/wk) for blending and powder blending; Extended (80 h/wk) for filling and palletising

Step-by-step setup

1. Create the five stages and set the transfer times between them. Add Blending, Hold/Surge, Powder Blending, Filling, and Palletising in order, setting each stage's production type to BATCH or FLOW as shown in the table above. Then open the detail page of each sequential stage and configure the inbound transfer time:

  • Blending → Hold/Surge: 15 minutes (pump transfer via pipe)
  • Hold/Surge → Filling: 245 minutes (includes 4-hour QC hold for household cleaners plus gravity feed)
  • Powder Blending → Filling: 10 minutes (conveyor transfer)
  • Filling → Palletising: 5 minutes (inline conveyor)

The 72-hour regulatory hold for disinfecting products is handled at the product-class routing level, not as a separate transfer time.

2. Add the twelve machines to their stages. Assign each machine to its parent stage:

  • Blending: Blend Tank 1, Blend Tank 2, Blend Tank 3
  • Hold/Surge: Day Tank 1, Day Tank 2
  • Powder Blending: Ribbon Blender
  • Filling: Filling Line A, Filling Line B, Filling Line C
  • Palletising: Palletiser A, Palletiser B, Palletiser C

Assign Filling Line C and all three palletisers to the Extended calendar (you can set this now or after step 6 when calendars are configured).

3. Create the three product classes and define each class's routing. Name the classes — Liquid Household Cleaners, Specialty & Disinfecting, and Powder & Tablet Products. On each class's detail page, define the ordered sequence of stages it passes through:

  • Liquid Household Cleaners: Blending (position 1), Hold/Surge (position 2, partial transfer enabled), Filling (position 3), Palletising (position 4)
  • Specialty & Disinfecting: Blending (position 1), Hold/Surge (position 2, partial transfer enabled), Filling (position 3), Palletising (position 4)
  • Powder & Tablet Products: Powder Blending (position 1), Filling (position 2), Palletising (position 3)

For the two liquid classes, enable partial transfer on the Hold/Surge stage and set the partial-transfer quantity to match the day-tank capacity. This allows filling to begin on the first portion of blended compound as soon as it arrives at the day tanks, without waiting for the entire blend batch to complete.

4. Add one representative product per class. Create a single product for each class:

  • Liquid Household Cleaners: All-Purpose Cleaner, Lemon Scent, 1 L trigger bottle
  • Specialty & Disinfecting: Bleach-based Disinfectant, 2 L bottle
  • Powder & Tablet Products: Laundry Powder, 2 kg carton

Each product inherits the routing and partial-transfer settings of its parent class automatically.

5. Configure each machine's capacity parameters and changeover times. On each machine's detail page, set the processing parameters — batch size and cycle duration for batch machines, throughput for flow machines — for each product class that the machine can run. Then enter the directional changeover matrix.

  • Blend Tank 1, 2, and 3 (identical parameters): Batch size 5,000 kg for both liquid classes. Cycle duration: 75 minutes for Liquid Household Cleaners, 45 minutes for Specialty & Disinfecting. Changeover matrix (all durations in minutes):
  • Liquid → Liquid: 15
  • Liquid → Specialty: 45
  • Specialty → Liquid: 120
  • Specialty → Specialty: 20

  • Day Tank 1 and Day Tank 2: Cycle duration 0 (hold-only), batch size 2,000 kg for both liquid classes. No changeover entry needed — day tanks pass compound through without transformation.

  • Ribbon Blender: Batch size 1,500 kg, cycle duration 15 minutes for Powder & Tablet Products. Changeover: 10 minutes (symmetric, same class to same class).

  • Filling Line A: Throughput 4,800 units/hour for Liquid Household Cleaners and Specialty & Disinfecting. Changeover matrix (minutes):

  • Liquid → Liquid: 15
  • Liquid → Specialty: 40
  • Specialty → Liquid: 40
  • Specialty → Specialty: 15

  • Filling Line B: Throughput 1,200 units/hour for both liquid classes. Same changeover matrix as Line A.

  • Filling Line C: Throughput 1,080 units/hour for Powder & Tablet Products. Changeover: 10 minutes (symmetric).

  • Palletiser A, B, and C: Throughput matching their paired filling line — 4,800, 1,200, and 1,080 units/hour respectively. No changeover entries needed; palletising runs at line speed with no setup.

6. Configure calendars, exceptions, and downtimes. Set up two calendar definitions:

  • Standard calendar (40 h/wk): Single shift, Monday through Friday, 06:00 to 14:00. Assign to the Blending and Powder Blending stages.
  • Extended calendar (80 h/wk): One-and-a-half shifts, Monday through Friday, 06:00 to 22:00. Assign to the Filling and Palletising stages.

Add four calendar exceptions for non-working or partial days: New Year's Day (1 January, non-working), International Workers' Day (1 May, non-working), year-end shutdown half-day (24 December, 06:00 to 12:00 only), and Christmas Day (25 December, non-working).

Add three scheduled downtimes. One factory-wide annual maintenance shutdown from 15 July through 17 July that affects all machines. Two staggered deep-CIP windows — one on Blend Tank 1 on 10 March (06:00 to 14:00) and one on Blend Tank 2 on 17 March (same hours) — to clean and inspect agitator seals and jackets without taking all three tanks offline simultaneously.

For step-by-step instructions on configuring each of these in Schantt, see the Schantt documentation.

Common mistakes

1. Using a single changeover time instead of a directional matrix. A single average cleaning time across all chemistry transitions either overestimates the burden (wasting capacity) or underestimates it (producing an unachievable schedule). Fix: Enter the full directional matrix on each blend tank — four duration values for the (from, to) pairs between the two liquid classes — and the 2-entry or 4-entry matrix on each filling line.

2. Modelling powder products on the same routing as liquids. Forcing powder products through the blending and hold stages adds nonexistent processing steps and creates phantom scheduling constraints. Fix: Define the Powder & Tablet Products class with its own routing — Powder Blending, then Filling, then Palletising — omitting the liquid-only stages entirely.

3. Forgetting to enable partial transfer on the hold stage. Without partial transfer enabled, the schedule waits for an entire blend batch to finish before releasing any compound to filling, negating the purpose of the surge tanks. Fix: On the Hold/Surge stage of each liquid product class's routing, enable partial transfer and set the quantity to the day-tank capacity.

4. Assigning the same calendar to blending and filling. If blending and filling share a single 40-hour week calendar, filling lines that could run 80 hours are artificially capped, starving downstream capacity in peak weeks. Fix: Assign the Standard 40-hour calendar to Blending and Powder Blending, and the Extended 80-hour calendar to Filling and Palletising, so the fill floor can work through accumulated compound after blending closes for the day.

5. Ignoring the shared-CIP-skid overlap risk. With directional changeover times entered per tank, the algorithm may schedule concurrent cleaning on two blend tanks. If those tasks draw from the same CIP skid, they compete for a resource Schantt does not model. Fix: After each optimisation run, review the Gantt timeline for overlapping cleaning operations on different blend tanks and offset one if a conflict appears — a quick visual check that takes seconds.

What a good schedule looks like

A well-configured Schantt schedule turns the planner's manual spreadsheet juggle into a single, constraint-aware timeline. Before, the team managed two parallel schedules (liquids and powders) on a whiteboard, reconciled shared filling capacity by eye, and spent Monday mornings adjusting jobs that drifted from the plan over the weekend.

Before (manual spreadsheet): Fill lines starved roughly once per week when a blend batch finished later than estimated and the day tanks ran dry. In the past quarter, filling lines logged 14 unplanned idle instances totalling about 28 hours of lost throughput. Changeover sequencing was ad hoc — the planner clustered compatible runs when time allowed but often took cleaning penalties because the sequence was set by order priority rather than chemistry. Seasonal demand peaks forced 11th-hour calendar changes that propagated errors into every downstream job.

After (Schantt Semi-Auto mode): The planner sequences blend jobs by chemistry — grouping compatible household runs first, then specialty batches, with the algorithm optimising timing within that sequence. The scheduling engine respects the partial-transfer decoupling at the hold stage, so filling starts on the first portion of compound as soon as it clears QC, eliminating the starvation pattern. Schantt clusters the time-consuming Specialty-to-Household transitions into longer, planned intervals — fewer CIP events per month — by sequencing through rinse-compatible products before scheduling the deep-clean changeover. The single consolidated schedule covers liquids and powders on the same timeline, with the divergent routes handled automatically. Seasonal calendar switches are a configuration change, not a manual re-plan: the planner selects the Extended or peak-period calendar for the relevant weeks, and the algorithm reschedules within the new working-time boundaries.

Ready to schedule your own facility?

Try Schantt free — no credit card required. Go from spreadsheet to optimized Gantt chart in 60 minutes.

Try Schantt Free