Worked Examples

A Quarter-End Push: Clearing 22 Late Jobs in Three Weeks

User Solutions TeamUser Solutions Team
|
9 min read

Clearing a quarter-end backlog is a sequence of three moves in a fixed order: triage the list, resequence for free, then buy the smallest amount of capacity that closes what is left. This walkthrough runs that sequence in EDGEBIC by User Solutions against 22 late jobs and three weeks, and it ends with one job still late, declared honestly, because the alternative is a plan nobody believes. It is one of the worked examples we publish with the arithmetic visible.

The reason the order matters is cost. Resequencing is free and instant. Capacity costs overtime. Telling a customer their date moved costs goodwill. Spend them in that order.

The Situation: September 8, Three Weeks Left

Ridgeline Metalworks closes its quarter on September 30. The plan currently carries 47 open jobs. Management wants to know how many will ship inside the quarter.

Open Reports and run the Late Jobs report over September 8 to September 30. The result: 22 jobs whose planned end exceeds their due date.

That number alone is useless. What matters is its shape.

Step 1: Triage by Days Late

Sort the report by days late descending and split the list into three bands:

BandJobsDays lateCharacter
Nudge111 to 2Blocked behind a neighbor, not by capacity
Squeeze83 to 7Genuinely short of hours somewhere
Structural312 to 19Cannot be made in the time remaining

Three separate problems with three separate owners. The nudge band is yours and it is free. The squeeze band is a capacity budget conversation with the plant manager. The structural band belongs to sales, because those dates need renegotiating and no amount of scheduling makes 19 days appear.

Confusing these three is what turns a backlog into a panic. Separating them turns it into a to-do list.

Step 2: Resequence the Nudge Band

Eleven jobs one or two days late are almost always queue-order problems: they sit behind a job that has float and does not need the slot it is holding.

Open the Drive Schedule tab. For each of the 11, look at what is scheduled immediately ahead of it on its constraining machine. Where the job ahead has days of float against its own due date, move the late job ahead of it by editing the Priority cell.

Number in bands. If the plant runs on 10, 20, 30, a job that needs to jump ahead of a priority 20 becomes 15, and nothing else has to be renumbered. Dense numbering (1, 2, 3) forces a cascade of edits every time you insert one job, and a renumbered grid is hard to review and easy to get wrong.

Nine edits later, click Save Changes, then run the scheduler across the affected jobs.

Result: 22 late jobs drop to 9. Thirteen cleared, and every one of them cleared because a job with float gave up a slot it did not need. Zero dollars spent.

Two of the original 11 did not clear, because the jobs ahead of them had no float either. Those two move down into the squeeze band, which now holds 10.

Step 3: Find the Real Constraints Before Spending Anything

Ten jobs remain that need hours from somewhere. Before authorizing a single Saturday, find out where the hours actually have to land.

Run the Work Center Utilization report for September 8 to September 30. The per-work-center tab:

Work centerScheduled hAvailable hUtilizationRating
WELD-A121.0120.0101%CRITICAL
WELD-B118.5120.099%HIGH
MILL-2116.0120.097%HIGH
GRIND-174.0120.062%GOOD
SAW-151.0120.043%LOW

Two constraints, not one. The weld cells as a pair, and the mill. Everything else has room.

This is the step that saves the money. The instinct on a backlog is to open Saturday for the whole plant, which costs a full day of every station's overtime and helps only the two stations that were actually blocking. Targeting the two real constraints costs a fraction of that.

Step 4: Buy Two Saturdays, in the Right Places

Add a capacity override of 8 hours on MILL-2 for Saturday September 13. An override is read ahead of the shift formula for that specific station and date, and because Saturday has no configured shift, the engine creates a synthetic override-day slot to hold work there. The recurring calendar is untouched.

Re-plan. Two jobs clear. Eight left.

Now add overrides of 8 hours each on WELD-A and WELD-B for Saturday September 20.

Re-plan. Four more clear. Four left.

Six jobs recovered for two Saturdays on three machines. Had those Saturdays gone on the saw and the grinder, which is where a plant-wide overtime call would have put half the money, nothing would have moved at all.

Step 5: Run the Optimizer for the Last Mile

Four jobs remain: one from the squeeze band and the three structural ones.

This is where the optimizer earns its keep, because the remaining problem is a sequencing puzzle rather than a capacity shortage. Open the optimizer, pick a goal that targets total weighted tardiness, and run it.

The engine computes your current plan as the baseline, proposes a complete alternative, and shows the two side by side. Nothing changes until you click Accept.

Two facts about that proposal matter for a backlog push. First, the result is clamped never worse than the baseline: the optimizer cannot hand you a schedule with more total tardiness than the one you already have. Second, on the CP-SAT engine the result carries a proven optimality gap, so the badge tells you how far from the mathematical optimum the answer is rather than asserting perfection. Multi-run, the default, does not prove a gap; it evaluates many complete orderings and returns the best one it found, guaranteed never worse than where you started.

The result here: a sequence the planner had not found by hand, clearing one more job. Accept it.

Three left. All three are the structural band.

The full loop, with the comparison screen and what Accept actually writes, is in running the optimizer end to end.

Step 6: Declare the Three, Do Not Hide Them

Twelve to 19 days late on a three-week horizon is not a scheduling problem. Those jobs need one of three real answers: an outsourced operation, a partial shipment the customer will accept, or a new date.

The value of having gotten here is that the list is now three jobs long instead of 22, every one of them has a specific reason, and each has a named lever. That is a conversation sales can have. A list of 22 undifferentiated late jobs is a conversation nobody can have.

Set the new dates on the three, save, and re-plan so the published schedule tells the truth. A plan that shows one job late is trusted. A plan that quietly shows zero because somebody moved a date without telling anyone is trusted exactly once.

The Ledger

MoveJobs clearedCost
Resequence the nudge band13Zero
Two targeted Saturdays63 machine-days of overtime
Optimizer run on tardiness1Solve time
Renegotiate2 of 3 accepted new datesGoodwill
Still late at quarter end1Declared

What This Walkthrough Proves

  1. A backlog has a shape. Splitting 22 jobs into 11 nudges, 8 squeezes, and 3 structural cases turns one panic into three tractable problems.
  2. Resequencing is the cheapest lever and it is usually the biggest. Thirteen of 22 jobs cleared for the cost of nine cell edits.
  3. Target the constraint, not the plant. Two Saturdays on the right three machines beat a plant-wide overtime call at a fraction of the cost.
  4. The optimizer is a last mile tool, not a first move. It works on sequencing puzzles, and it cannot invent capacity you do not have.
  5. Declaring one late job protects the credibility of the other 46.

For the routine version of this work rather than the quarter-end version, month-end capacity review is the recurring rhythm, and scheduling a five job week with mixed priorities shows the same sequencing logic at a scale you can hold in your head.

Expert Q&A: Deep Dive

Q: Our backlog is 22 jobs and management wants a date for each one by tomorrow. Where do I start?

A: Run the late jobs report and sort by days late, then split the list into three groups: jobs that are late by one or two days, jobs late by a week, and jobs that are structurally impossible. The first group usually clears on a resequence alone, the second needs capacity, and the third needs a conversation with a customer. In this walkthrough that split was 11, 8, and 3, and it turned an undifferentiated panic into three separate, tractable problems with different owners.

Q: We added a Saturday and only two of the eight jobs improved. Why did the rest not move?

A: Because the Saturday was on the wrong work center for those six jobs. A capacity override helps only the jobs whose remaining work is actually blocked on that station on that date. Open the utilization report for the push window and find which station carries the load for the jobs that did not move; it is often a different constraint entirely. In this walkthrough the first Saturday went on the mill and moved two jobs, and the second went on the weld cells and moved four, because those were the two genuine constraints rather than the one everybody assumed.

Frequently Asked Questions

Ready to Transform Your Production Scheduling?

User Solutions has been helping manufacturers optimize their production schedules for over 35 years. One-time license, 5-day implementation.

User Solutions Team

User Solutions Team

Manufacturing Software Experts

User Solutions has been developing production planning and scheduling software for manufacturers since 1991. Our team combines 35+ years of manufacturing software expertise with deep industry knowledge to help factories optimize their operations.

Let's Solve Your Challenges Together