Checking the hockey stick curve

Hi,

Still wrestling with this issue.

The customer has a huge seasonal sales demand in the fourth-quarter, with a curve they call the “hockey stick.” They can’t produce at the hockey stick rate, so need MRP scheduling to push the demand forward to the earlier parts of the year.

We have 10 resources to spread the production over. We’ve set them up as “finite capacity.” We’ve tried both scheduling by resource group and capabilities. Many parts are set up with mfg lot sizes that generate longer-runtime jobs (~40 hours). We have a finished good (packaged item) that gets a job suggestion that drives the demand/required due dates for the semi-finished good parts we’re concentrating on now.

When we look at the MRP-generated schedule for the semi-finished goods we see lots of gaps during the year, and a bunch of late jobs at the end.

I’ve watched job suggestions pop up during a (lengthy) MRP process, and here’s something of what I found:

We have parts A-J to schedule. MRP schedules all of one part at a time, in part number alpha-numeric order.

MRP starts with part A, the first FG due job and schedules the SFG part. Then it gets the next FG due job and schedules a SFG job for it. On into the future until part A is all scheduled. Scheduling the hockey stick demand by due date is no problem, because all the capacity of the SFG resources is untapped at this point.

Same for B. Still plenty of resource capacity left.

And C, D, E, and F.

Part G comes and we get into the higher volume items. Now we have a lot of capacity tied up, but the earlier due dates come out okay, because those dates are from the early months of the year (remember the hockey stick in October). When we hit that, the big chunks of capacity ( for jobs that we want to push back toward the first of the year) where we could put 40 hours-worth of job are gone, so they start going late.

Parts H-J compound upon the disarray.

Instead of scheduling the big jobs way in the future first and working backward to fill the schedule, we’re filling the near-term capacity first by due dates, and then trying to stuff “fifty pounds of mud in a five pound bag” (see Dolly Parton quotes) when we get to the hockey stick demand curve.

After this consideration, I don’t see a way to make MRP do what the customer needs. The move to constraining resources with finite capacity was intended to push the demand back toward the earlier part of the year, but this hasn’t worked out. We’ve tried global scheduling to try to squeeze out the gaps with limited results, and the schedule is distorted anyway, because of the way MRP schedules one part at a time.

Still with me after all this setup? Cool.

I’ve done a customization to let MRP spread jobs out among the resources and then re-sort and reschedule by required due date. The customer would rather MRP handle the scheduling, but I don’t see how to make it do so.

Has anyone encountered this type of seasonal demand and addressed it with Epicor MRP scheduling?

Thanks,

Joe

I’ll be following this to see if anyone comes up with an answer for you. Right now our planner looks at a spreadsheet of resource/department load based on job due date and quantity. The planner then manually moves jobs around to fill or relieve work.

If anyone reads this and has a better way to mass move jobs please private message me (don’t want to hijack this thread).

1 Like

The only thing I can add to this is that when you use constrained materials and you can’t meet the date of the sales order the scheduling engine switches from backward scheduling to forward scheduling. This could impact things depending on your MOM. It seems odd that you have to try to schedule a job but when MRP can’t meet a date it changes how it does things rather than trying to figure out what date it can meet.

Added note. The customer is on E9 now, scheduling several thousand quick jobs per month from a spreadsheet. Trying to get the first pass on MRP closer to relieve the planner’s work load a bit.

1 Like

You might consider a BPM during MRP to override the Schedule Priority Code, so you can get your 50lbs of Mud to have a high priority OR the other items to have a lower priority.
But FIRST:
Standard MRP does process in Alpha-Numeric order to generate Jobs and is scheduled first in/first out in terms of scheduling resource time.
Here is what I try to do (Requires APS Module- Advanced Planning & Scheduling I think):

  1. Disable Scheduling During MRP
  2. Run Calculate Global Scheduling Order after MRP Finishes - this will resort all the Job suggestions by DueDate/Priority. This will establish an Order according to ‘Most Late’ so Most Late jobs will get the first hit at the resource calendards.
  3. Run the Global Scheduling process to then schedule per the Order from # 2.
    This should give you a more accurate schedule per Due Date & Priority Code.

I have found many of my clients do not consider that in the real world Jobs do not need to be scheduled based on the Time Phase Req Date, since many times Mins QOH will trigger Job Suggestions for the date that the Min will run out, but in reality they would prefer to run Jobs for parts that have Sales Order demand first before Restocks. Just one example.

Also, you may consider entering Forecast or MPS records to build up stock before the hockey stick… above min and orders.

Rick,

Thanks for the ideas. We’ll give them a try.

We did consider what you mentioned on forecasts and MPS. The customer wants to keep their forecast entries to actual sales forecasts (which keeps the hockey stick). And they didn’t want to use MPS. They have a considerable number of jobs that can be affected by long lead time raw materials they want to obey the constrained material settings.

This helps!

Thanks,

Joe

Hi Rick,

A question: What would I set to disable scheduling during MRP?

Thanks,

JOe

Joe,
The Process MRP setting I disable is called ‘Run Finite Scheduling During MRP Calcluation’
So it doesn’t completely disable scheduling, but instead of running Finitely, it will run Infinitely, which since you will then run Global Scheduling Order and Global Scheduling separately, will be a much simpler and faster calculation.

1 Like

Ah. Thanks, Rick.

Joe