AugForums.com

An Acumatica User Group

  • Free
    • Start Here
    • Rolodex
    • Podcast
    • Blog
    • Forums
  • Paid
    • AugSQL
    • GI Course
    • GI Library
    • Consulting
  • Register
Acumatica Forums

By using this website, you agree to our Terms of Use (click here)

Forums
AUG Forums
Everything Else
Demand Forecast Mod...
 
Notifications
Clear all

Questions Demand Forecast Model of Moving Average - My Notes

 
Everything Else
Last Post by Teckla Kapuenene 2 years ago
14 Posts
7 Users
5 Reactions
5,274 Views
RSS
Tim Rodman
Posts: 3193
 Tim Rodman
Admin
Topic starter
January 16, 2020 4:11 pm
(@timrodman)
Famed Member
Joined: 10 years ago

Before we begin, note two things:
1. Acumatica is not currently as heavily into Replenishment as some other more Distribution-focused ERP systems.
2. Because of #1, NetStock (click here) is a popular 3rd-party ISV product add-on. NetStock runs dozens of replenishment algorithms on your data and automatically picks the best one based on comparing your historical usage to the historical predicted usage. Acumatica runs one replenishment algorithm called "Moving Average" and that's what the rest of this post is about.

 

I'm using this Discussion Topic to track some notes about the Demand Forecast Model value of Moving Average that you can find on the REPLENISHMENT INFO tab of the Stock Items (IN202500) screen here:

That Moving Average option is such a small unassuming value, but there is a lot behind it because it triggers the automatic calculation of replenishment parameters.

Those replenishment parameters are calculated by clicking PROCESS on the Calculate Replenishment Parameters (IN508500) screen.

Then you view the results of the calculated parameters on the Apply Replenishment Parameters (IN509500) screen. You can also use this screen to view the calculated variables that get used by replenishment parameter calculation formula which include:

1. Daily Demand Forecast
2. Daily Demand Forecast Error (STDEV)
3. Lead Time Average
4. Lead Time STDEV

 

When you click PROCESS on the Apply Replenishment Parameters (IN509500) screen, that pushes the calculated parameters into the Stock Items (IN202500) and Item Warehouse Details (IN204500) screens.

Those calculated parameters then get used when you run replenishment by clicking process on the Prepare Replenishment (IN508000) screen.

Note that all three replenishment screens can be scheduled to run unattended (overnight, twice a day, etc.).

 

The complicated part (in my opinion) is the replenishment parameter calculation that happens when you click PROCESS on the Calculate Replenishment Parameters (IN508500) screen.

 

This help article describes the replenishment parameter calculation formula in detail, including a screenshot from the help article:
https://help-2019r2.acumatica.com/Help?ScreenId=ShowWiki&pageid=360c2e43-48a7-489e-9d4c-c680e491a147

 

Before we try to understand the formula, we have to understand the calculation of the variables in the screenshot above that go into the formula:

1. AverageDailyDemand (I'm pretty sure that "AverageDailyDailyDemand" in the screenshot above is a typo and should be "AverageDailyDemand")
2. AverageLeadTime
3. SafetyStock
4. ServiceLevel
5. LeadTime

 

There are some notes in the help article about the variables. There is also a help article which gives an example using actual numbers which helps to understand the formula:
https://help-2019r2.acumatica.com/Help?ScreenId=ShowWiki&pageid=932ad390-6561-4cbc-b1ba-d2eb208b2702

 

But that's not enough for me. I wanted to understand this at a deeper level. That's why I'm taking the notes on this Discussion Topic.

This is not your typical Discussion Topic. I'm going to continue to revisit this first post and make edits to it as I learn more. But still feel free to chime in with your own posts below and I'll incorporate suggestions, lessons learned, questions, etc. into this first post. You can see the last time I modified this first post by looking on the bottom of this first post.

Ready? Let's dive in.

 

First, let's take these variables one at a time.

 


1. AverageDailyDemand


2. AverageLeadTime

To calculate Lead Time, Acumatica looks at Purchase Receipts. It takes Date on the Purchase Receipts (PO302000) screen and subtracts Requested on the DOCUMENT DETAILS tab of the Purchase Orders (PO301000) screen for the related purchase order line that was received.

Then it takes all of the Lead Time values, adds them up, and divides by the number of Purchase Receipts.


Teckla Kapuenene and Doug McBride reacted
13 Replies
Brandon
 Brandon
(@brandon)
Joined: 7 years ago

Member
Posts: 26
January 18, 2020 12:45 am
Reply toTim RodmanTim Rodman
Posted by: @timrodman

2. AverageLeadTime

To calculate Lead Time, Acumatica looks at Purchase Receipts. It takes Date on the Purchase Receipts (PO302000) screen and subtracts Requested on the DOCUMENT DETAILS tab of the Purchase Orders (PO301000) screen for the related purchase order line that was received.

Then it takes all of the Lead Time values, adds them up, and divides by the number of Purchase Receipts.

The issue with this for our company is that most of our PO's ship from China. We post the purchase receipt at the time of shipping from the factory because this is when we take ownership of the goods, however it is not when we physically receive the items and have them available. So this calculation of lead time from date PO is placed until Purchase Receipt date ignores the additional days in transit between our factory and our warehouse that would cause issues if using this for replenishment planning.


Reply
Leanne Barker
 Leanne Barker
(@myobadvanced)
Joined: 5 years ago

Trusted Member
Posts: 30
February 22, 2022 1:12 am
Reply toBrandonBrandon
Tim Rodman

@tim We worked out that the daily demand ignores Kit DISASSEMBLY but it doesn't ignore credit memos, so that is odd. 

Basically if a Kit assembly was created, but then disassembled as it was an error, this error distorts the daily demand.  Has anyone else noticed this and got a customisation to change the calculation to include these transactions?


Reply
Tim Rodman
 Tim Rodman
Admin
(@timrodman)
Joined: 10 years ago

Famed Member
Posts: 3193
February 22, 2022 1:52 am
Reply toLeanne BarkerLeanne Barker
Brandon
Tim Rodman

@myobadvanced Ya, same problem with Purchase Returns. Personally, I don't think that's it's usable in the real world at this point.


Reply
Teckla Kapuenene
 Teckla Kapuenene
(@teckla-kapuenene)
Joined: 4 years ago

Eminent Member
Posts: 14
September 18, 2023 5:08 pm
Reply toBrandonBrandon
Tim Rodman

@Tim, I am currently working on this topic. For some reasons i am not getting the same answer when i do my calculations manually. Please picture below. Thank you for you help      

image

                                                           


Reply
Tim Rodman reacted
Carl Brooks
Posts: 121
 Carl Brooks
January 16, 2020 11:21 pm
(@kingcarlos)
Estimable Member
Joined: 5 years ago

Hi Tim

The following spreadsheet is what I use to demonstrate the calculation of safety stock and reorder point.

Replenishment-Calculation-of-Suggested-Safety-Stock-and-Reoorder-KC.xlsx

 

It is never 100% accurate but can be mighty close, you should also set the lot size of the item to be 1 to removed decimal places as well.


Reply
Doug McBride reacted
Doug McBride
Posts: 44
 Doug McBride
January 17, 2020 10:54 am
(@doug-mcbride)
Trusted Member
Joined: 6 years ago

Tim

Thank you for addressing this replenishment topic.  Replenishment is critical to my business.  

Doug McBride


Reply
Doug McBride
Posts: 44
 Doug McBride
January 17, 2020 11:08 am
(@doug-mcbride)
Trusted Member
Joined: 6 years ago

Tim

Can Acumatica do this for us out of the box: In addition to item replenishment, we need "category" replenishment.  For example, we will have a product category that has 10 SKUs in the category and we will purchase each SKU 10 items deep (for a total of 100 items at peak level).  No SKU is ever re-purchased.  Customer demands new SKUs.  When a SKU is sold, a new SKU that meets the requirements of the category is purchased to replaced the sold out SKU.  So we need replenishment based on "category" and not on SKU.  We need Acumatica to tell us we need to reorder additional SKUs to keep the "category" at the correct inventory level.  Can Acumatica do this for us out of the box? 


Reply
Tim Rodman
Posts: 3193
 Tim Rodman
Admin
Topic starter
February 20, 2020 12:12 am
(@timrodman)
Famed Member
Joined: 10 years ago

@carl-brooks - Thanks for the spreadsheet. It's nice that Excel has a NORMSINV formula which matches the name of the formula in the Acumatica help file.

@doug-mcbride - Trying to understand this more. Does every Category always have 10 Items in it or can the number of Items vary? Do you always order the Items in the category evenly, the same number of each one?

@brandon - I haven't checked yet to see if Transfers are included in the Lead Time calculation. If they are, then you could maybe setup a Warehouse in China, then do a Transfer Order from the China Warehouse to your Main Warehouse.


Reply
Doug McBride
Posts: 44
 Doug McBride
February 20, 2020 12:04 pm
(@doug-mcbride)
Trusted Member
Joined: 6 years ago

Tim:

Re: @doug-mcbride - Trying to understand this more. Does every Category always have 10 Items in it or can the number of Items vary? Do you always order the Items in the category evenly, the same number of each one?

The 10 items in a category was an example.  Each of a 100 to 200 product categories would have a different number of "target SKUs".   So, no, each product category would NOT have 10 items in it.  Some product categories would have as few as 2 SKUs in it and some categories would have up to 50 skus in it. We change the number of "target SKUs" in a product category as the market demands move and change.  


Reply
Doug McBride
 Doug McBride
(@doug-mcbride)
Joined: 6 years ago

Trusted Member
Posts: 44
June 29, 2020 10:53 am
Reply toDoug McBrideDoug McBride

Tim

Is it diffcult to add "custom fields" to item classes?  We would use the custom fields to state (1) how many SKUs we want in each Item Class, and (2) how many of each SKU we buy when we buy a new SKU in the Item Class.  We would then use this information to create a report that would compare how many SKUs we have in an Item Class to how many we want to have.  The report would tell us when we need to add more SKUs to an item Class.   What do you think of this idea? 


Reply
Tim Rodman
 Tim Rodman
Admin
(@timrodman)
Joined: 10 years ago

Famed Member
Posts: 3193
August 20, 2020 7:17 am
Reply toDoug McBrideDoug McBride
Doug McBride

@doug-mcbride Since you can't add User-Defined Fields or Attributes to Item Classes, you'd have to do "custom fields" as you point out using a Customization Project. It's not too difficult, but you might want to get a developer to do it. Here's a reference article: https://www.acumatica.com/blog/acumatica-customization-creating-and-validating-fields-in-acumatica-cloud-erp/


Reply
Tim Rodman
Posts: 3193
 Tim Rodman
Admin
Topic starter
March 11, 2020 8:37 pm
(@timrodman)
Famed Member
Joined: 10 years ago
Posted by: @doug-mcbride

The 10 items in a category was an example.  Each of a 100 to 200 product categories would have a different number of "target SKUs".

Taking the 2 items in a category example since there are less items, are you wanting replenishment to pool the supply and demand to make a suggestion for the quantity needed for the entire category? If so, then how would you determine how much to buy of each item?


Reply
ToonSix
Posts: 33
 ToonSix
March 11, 2020 9:00 pm
(@toonsix)
Trusted Member
Joined: 5 years ago

I would be very careful with the model of moving average. I would create a spreadsheet with my weekly past demand for the last 6 months (24weeks), and apply the method at week 10 to see what it would have been predicted for week 11, then at week 11 to see the prediction for week12, etc. 

Then i can compare the predictions with my actuals, and see if the method worked. Do I make sense? 

If the demand is pretty stable (no seasonality), then the method may be okay. If there is seasonality then you need NetStock, or even better EazyStock.

Good luck

Toon


Reply
Tim Rodman reacted
Forum Jump:
  Previous Topic
Next Topic  
Forum Information
Recent Posts
Unread Posts
Tags
  • 12 Forums
  • 2,526 Topics
  • 10.9 K Posts
  • 13 Online
  • 2,324 Members
Our newest member: Michael Kiley
Latest Post: Pick List report suddenly not splitting on Shipment
Forum Icons: Forum contains no unread posts Forum contains unread posts
Topic Icons: Not Replied Replied Active Hot Sticky Unapproved Solved Private Closed

Online Members

 No online members at the moment

Acumatica Forums

Terms of Use & Disclaimers :: Privacy Policy

Copyright © 2025 · AUG Forums, LLC. All rights reserved. This website is not owned, affiliated with, or endorsed by Acumatica, Inc.

‹›×

    ‹›×