Title: | Tools for Supply Chain Management, Demand and Supply Planning |
---|---|
Description: | Perform flexible and quick calculations for Demand and Supply Planning, such as projected inventories and coverages, as well as replenishment plan. For any time bucket, daily, weekly or monthly, and any granularity level, product or group of products. |
Authors: | Nicolas Nguyen [aut, cre] |
Maintainer: | Nicolas Nguyen <[email protected]> |
License: | MIT + file LICENSE |
Version: | 0.4.3 |
Built: | 2025-01-23 01:25:03 UTC |
Source: | https://github.com/nguyennico/planr |
This dataset contains the basic features to calculate projected inventories and coverages and also 2 additional info: a minimum and maximum targets of stock coverage. We can apply on it the proj_inv() function, it will return calculated projected inventories and coverages as well as an analysis of the position of the projected inventories versus the minimum and maximum stocks targets.
data(blueprint)
data(blueprint)
A data frame with 520 rows and 7 variables
DFU, an item
Period, a date
Demand, a consumption in units
Opening, available inventories at the beginning in units
Supply, a Replenishment Plan in units
Min.Cov, a Minimum Stocks Targets in number of Periods
Max.Cov, a Maximum Stocks Targets in number of Periods
Nicolas Nguyen [email protected]
This dataset contains the basic features to calculate a Replenishment Plan (also called DRP) and its related projected inventories and coverages. We can apply on it the drp() function, it will return the calculated Replenishment Plan and its related projected inventories and coverages.
data(blueprint_drp)
data(blueprint_drp)
A data frame with 520 rows and 9 variables
DFU, an item
Period, a date
Demand, a consumption in units
Opening, available inventories at the beginning in units
Supply, a Replenishment Plan in units
FH, defines the Frozen and Free Horizon. It has 2 values: Frozen or Free. If Frozen : no calculation of Replenishment Plan yet, the calculation starts when the period is defined as Free. We can use this parameter to consider some defined productions plans or supplies (allocations, workorders,...) in the short-term for example.
SSCov, the Safety Stock Coverage, expressed in number of periods
DRPCovDur the Frequency of Supply, expressed in number of periods
MOQ the Multiple Order Quantity, expressed in units, 1 by default or a Minimum Order Quantity
Nicolas Nguyen [email protected]
This dataset contains the basic features to calculate projected inventories and coverages. Just 5 features are needed for this: a DFU, a Period, a Demand, an initial Opening Inventory and a Supply Plan. We can apply on it the light_proj_inv() function, it will return calculated projected inventories and coverages.
data(blueprint_light)
data(blueprint_light)
A data frame with 520 rows and 5 variables
DFU, an item
Period, a date
Demand, a consumption in units
Opening, available inventories at the beginning in units
Supply, a Replenishment Plan in units
Nicolas Nguyen [email protected]
Calculates the Projected Inventories and Coverages as well as the Constrained Demand and informs a Tag about the part of the Demand already covered by the Opening Inventories
const_dmd(dataset, DFU, Period, Demand, Opening, Supply)
const_dmd(dataset, DFU, Period, Demand, Opening, Supply)
dataset |
a dataframe with the demand and supply features for an item per period |
DFU |
name of an item, a SKU, or a node like an item x location |
Period |
a period of time monthly or weekly buckets for example |
Demand |
the quantity of an item planned to be consumed in units for a given period |
Opening |
the opening inventories of an item in units at the beginning of the horizon |
Supply |
the quantity of an item planned to be supplied in units for a given period |
a dataframe with the calculated Projected Inventories and Coverages as well as the Constrained Demand and a Tag informing the part of the Demand already covered by the Opening Inventories
const_dmd(dataset = demo_const_dmd, DFU, Period, Demand, Opening, Supply)
const_dmd(dataset = demo_const_dmd, DFU, Period, Demand, Opening, Supply)
This dataset contains the basic features to calculate projected inventories and coverages. Just 5 features are needed for this: a DFU, a Period, a Demand, an initial Opening Inventory and a Supply Plan. The idea is to use this dataset to calculate a constrained demand for each Product, on top of the projected inventories & coverages. A constrained demand is a possible demand, which can be answered considering the projected inventories. Then we can apply on this dataset the const_dmd() function, it will add 2 variables : a Constrained.Demand and a Current.Stock.Available.Tag . The Constrained.Demand is the Demand which can be answered considering the projected inventories, i.e which quantity can be answered and when it can be answered. The Current.Stock.Available.Tag informs the part of the Demand which is already covered by the Opening Inventories.
data(demo_const_dmd)
data(demo_const_dmd)
A data frame with 144 rows and 5 variables
DFU, an item
Period, a date
Demand, a consumption in units
Opening, available inventories at the beginning in units
Supply, a Replenishment Plan in units
Nicolas Nguyen [email protected]
This dataset contains a set of Monthly Demand for two Products. There are 3 variables: a DFU, a Monthly Period, a Monthly Demand. The idea is to use this dataset to convert the Demand from Monthly into Weekly bucket. We can apply on this dataset the month_to_week() function, it will create a weekly bucket Period and convert the Demand from Monthly into Weekly bucket.
data(demo_monthly_dmd)
data(demo_monthly_dmd)
A data frame with 24 rows and 3 variables
DFU, an item
Period, a date in monthly format
Demand, a consumption in units
Nicolas Nguyen [email protected]
Calculates a Replenishment Plan (also called DRP : Distribution Requirement Planning) and the related Projected Inventories and Coverages
drp(dataset, DFU, Period, Demand, Opening, Supply, SSCov, DRPCovDur, MOQ, FH)
drp(dataset, DFU, Period, Demand, Opening, Supply, SSCov, DRPCovDur, MOQ, FH)
dataset |
a dataframe with the demand and supply features for an item per period |
DFU |
name of an item, a SKU, or a node like an item x location |
Period |
a period of time monthly or weekly buckets for example |
Demand |
the quantity of an item planned to be consumed in units for a given period |
Opening |
the opening inventories of an item in units at the beginning of the horizon |
Supply |
the quantity of an item planned to be supplied in units for a given period |
SSCov |
the Safety Stock Coverage, expressed in number of periods |
DRPCovDur |
the Frequency of Supply, expressed in number of periods |
MOQ |
the Multiple Order Quantity, expressed in units, 1 by default or a multiple of a Minimum Order Quantity |
FH |
defines the Frozen and Free Horizon. It hase 2 values: Frozen or Free. If Frozen : no calculation of Replenishment Plan yet, the calculation starts when the period is defined as Free. We can use this parameter to consider some defined productions plans or supplies (allocations, workorders,...) in the short-term for example. |
a dataframe with the calculated Replenishment Plan and related Projected inventories and Coverages
drp(dataset = blueprint_drp, DFU, Period, Demand, Opening, Supply, SSCov, DRPCovDur, MOQ, FH)
drp(dataset = blueprint_drp, DFU, Period, Demand, Opening, Supply, SSCov, DRPCovDur, MOQ, FH)
Calculates projected inventories and coverages
light_proj_inv(dataset, DFU, Period, Demand, Opening, Supply)
light_proj_inv(dataset, DFU, Period, Demand, Opening, Supply)
dataset |
a dataframe with the demand and supply features for an item per period |
DFU |
name of an item, a SKU, or a node like an item x location |
Period |
a period of time monthly or weekly buckets for example |
Demand |
the quantity of an item planned to be consumed in units for a given period |
Opening |
the opening inventories of an item in units at the beginning of the horizon |
Supply |
the quantity of an item planned to be supplied in units for a given period |
a dataframe with the calculated projected inventories and coverages and the related analysis
light_proj_inv(dataset = blueprint_light, DFU, Period, Demand, Opening, Supply)
light_proj_inv(dataset = blueprint_light, DFU, Period, Demand, Opening, Supply)
Calculates the Projected Inventories and Coverages as well as the Constrained Demand and informs a Tag about the part of the Demand already covered by the Opening Inventories
month_to_week(dataset, DFU, Period, Demand)
month_to_week(dataset, DFU, Period, Demand)
dataset |
a dataframe with the demand in monthly bucket for each item |
DFU |
name of an item, a SKU, or a node like an item x location |
Period |
a monthly period of time that we want to convert into weekly buckets |
Demand |
the quantity of an item planned to be consumed in units for a given period |
a dataframe with the Demand expressed in weekly buckets for each item
month_to_week(dataset = demo_monthly_dmd, DFU, Period, Demand)
month_to_week(dataset = demo_monthly_dmd, DFU, Period, Demand)
Calculates projected inventories and coverages and perform an analysis vs stocks targets
proj_inv(dataset, DFU, Period, Demand, Opening, Supply, Min.Cov, Max.Cov)
proj_inv(dataset, DFU, Period, Demand, Opening, Supply, Min.Cov, Max.Cov)
dataset |
a dataframe with the demand and supply features for an item per period |
DFU |
name of an item, a SKU, or a node like an item x location |
Period |
a period of time monthly or weekly buckets for example |
Demand |
the quantity of an item planned to be consumed in units for a given period |
Opening |
the opening inventories of an item in units at the beginning of the horizon |
Supply |
the quantity of an item planned to be supplied in units for a given period |
Min.Cov |
minimum stocks target of an item expressed in periods |
Max.Cov |
maximum stocks target of an item expressed in periods |
a dataframe with the calculated projected inventories and coverages and the related analysis
proj_inv(dataset = blueprint, DFU, Period, Demand, Opening, Supply, Min.Cov, Max.Cov)
proj_inv(dataset = blueprint, DFU, Period, Demand, Opening, Supply, Min.Cov, Max.Cov)