After learning how to set up reorder rules, you can start with a basic reorder rule and add on additional parameters based on your preferences for more control and flexibility over reordering.

### To forecast a reorder quantity based on historical sales:

1. Decide the "# of days sold" for historical sales you want to consider.

2. Determine the average lead time.

3. Decide if you want to order any extra safety stock.

## Choosing the parts of your rule

**Re-order quantity**

The first part of your rule. Ideally, an optimal re-order quantity should equal:

Average daily sales (ADS) x Average lead time (ALT)

Average daily sales (ADS) can be written as

`(sold / # days sold)`

.Average lead time (ALT) and

*# days sold*should be written as constants.*# days sold*should match the filter chosen when creating POs.

As an example: a reorder quantity factoring the number of daily sales over 30 days with an average lead time of 15 days would be `(sold / 30) * 15`

.

With the re-order quantity determined, you can now begin considering additional parts of your rule such as factoring in a re-order point, free stock counts, and/or incoming stock levels from other open purchase orders which can help prevent over or under-purchasing.

**Re-order point**

A re-order point is the quantity of stock needed to meet the **maximum** sales demand over the **maximum** lead time (accounting for any delays in PO delivery or spikes in sales.) Put simply, you can consider this the same as the **Re-order quantity + safety stock.**

Re-order point can also be expressed and used in a few other ways:

Maximum daily sales (MDS) x Maximum lead time (MLT).

Re-Order quantity x a multiplying factor. e.g.

*Re-Order quantity x 1.50*(assuming maximum sales are expected to be 50% higher than average until more stock arrives).

Note: If you do NOT factor in safety stock as part of your reordering process, then you can simply consider re-order point and re-order quantity as being the same thing.

**Free and incoming stock**

Free: on-hand stock - reserved

Incoming: Stock expected to be received on currently open POs.

## Bringing it all together

With all of these pieces in place you can now define your reorder rule. The overall structure will be:

`Re-order quantity + (Re-order point - (Free and Incoming stock))`

Use the following as an example:

Re-order quantity:

`(sold / 30) * 15`

Re-order point, no safety stock (same as re-order quantity):

`(sold / 30) * 15`

Re-order point, w/ safety stock (expressed as a multiplier of re-order quantity):

`((sold / 30) * 15) * 1.50`

Free and incoming stock:

`free + incoming`

## Suggested advanced rules:

### Reorder rule, no safety stock included:

`Math.max(2 * (sold / 30) * 15) - (free + incoming), 0)`

### Reorder rule, including safety stock:

`Math.max(((sold / 30) * 15) + (((sold / 30) * 15) * 1.50) - (free + incoming), 0)`