Apps and add-ins
Shiny apps
Click here to be re-directed to a web-based Shiny App designed to support my paper on when bullwhip increases in the lead-time that has recently been published in the 250th volume of the International Journal of Production Economics.
Click here to be re-directed to a web-based Shiny App designed to support my paper on SpeedFactories that has recently been published in Management Science.
Click here for a Shiny App where you can explore the dynamic impact of six different strategies for setting the cadence of your pacemaker in a lean production system. The six strategies are Pure pull, Level, Forecast, Batch, Order-up-to, and Proportional order-up-to. This shiny was developed to support Chapter 2 of my lean workbook Setting the Cadence of your Pacemaker: A lean workbook for reducing Muri.
Click here for a Shiny forecast explorer where you can explore four forecasting method: the naive, exponential smoothing, Holt’s method, and damped trend. The accuracy of each forecasting method can be evaluated from a supply chain perspective. This shiny was developed to support Chapter 3 of my lean workbook Setting the Cadence of your Pacemaker: A lean workbook for reducing Muri.
Click here to be re-directed to a web-based Shiny App that is able to evaluate decisions made under uncertainty based on the criteria Maximax, Maximin, Laplace, Minimax Regret, Hurwitz, and the Maximum likelihood criteria. This Shiny App is also able to make risky decisions based on the Expected Monetary Value and Expected Opportunity Loss, as well to calculate the Expected Profit from a Perfect Predictor and the Expected Value of Perfect Information.
Click here to be re-directed to a web-based Shiny App that explores the economic order quantity and the economic production quantity decision. It also solves the re-order point problem for the EOQ model.
Click here for a Shiny App that explores the standard normal distribution and Student’s t distribution. This Shiny App also includes a unique inverse loss function for the standard normal distribution that can be installed in both Excel and R.
Click here for a Shiny App that determines the confidence intervals and sample size requirements in an activity sampling study. This Shiny App uses the Clopper-Pearson approach to determine the true Binomial Proportion Confidence Interval.
Excel add-ins
Many of the mathematical functions required in operations management (OM) scenarios are not available in Microsoft Excel. To address this issue, I have created an Add-in that adds some OM functionality to Excel. The Add-in can be downloaded here.
To install this Add-in:
Save the file onto your computer.
Open Excel.
Select Files/Options/Add-in/Manage Add-ins.
Click ‘Go’.
Browse to the folder where you saved the Add-in.
Select the .xla file.
Confirm the Operations Analysis Add-in is ticked in list of available Add-ins.
When you have done this, the following functions should now be available in Excel:
InvLossFun(x)
Gives the inverse of the standard normal distribution function evaluated at x. This is a useful function when determining safety stock levels when net stock levels are normally distributed. This function has also been incorporated into my Shiny App for the standard normal distribution that is available here.
LambertW(mode,z)
Gives the real solutions to the Lambert W function on the principle branch (when mode = 0) and the alternative branch (when mode = -1), evaluated at z. This function is useful for identifying stability boundaries (see Warburton et al. (2004)) and bullwhip expressions (see Warburton and Disney (2007)) in continuous time systems and also for identifying the Net Present Value of the cash flows in the EOQ problem (see Disney and Warburton (2013).
CBk(phi_range,theta_range,k)
Calculates a critical bullwhip condition for ARMA(p,q) demand in the Order-Up-To policy with a lead-time of k periods. If CBk is positive bullwhip is generated. If CBk is negative bullwhip is avoided. This criteria even works with non-stationary demand. The maximum allowable k is set to 100 as otherwise it slows up the computer. More information can be found in Gaalman et al., (2018).
phi_range is an ordered list of the auto-regressive components of demand process.
theta_range is an ordered list of the moving components of the demand process.
k is the lead-time (without the sequence of events delay).
DampedTrend(range, alpha, beta, phi, Tp, WIPQuery)
Calculates the Damped Trend forecast with a smoothing constant for the level of alpha, a smoothing constant for the trend of beta, a damping parameter of phi. More information can be found in Li and Disney, (2015).
range is the demand data that is to be forecasted.
alpha is the smothing constant used to predict the level.
beta is the smoothing constant used to predict the trend.
phi is the is the damping co-efficient that shapes the future demand projections.
WIPQuery. If WIPQuery is False then the Tp+1 period ahead forecast is calculated. If WIPQuery is True then the forecast calculated the sum of the forecasts over the next Tp periods.
Tp the forecast horizon over which you forecast. In the order-up-to policy Tp is the lead-time (without the sequence of events delay)
Note: When phi = 1, Holts forecasts are generated. When beta = 0, exponential smoothing forecasts are generated.
Fillrate(mu1,sigma1,mu2,sigma2,rho)
Calculates the fill rate when demand and inventory is normally distributed. Both demand and inventory can be correlated, cross-correlated, and possibly negative in some periods which makes this calculation much more robust than many other other fillrate formulas. More information can be found in Disney et al., (2015).
mu1 is the mean of the opening inventory (opening inventory = previous closing inventory + demand),
sigma1 is the standard deviation of the opening inventory,
mu2 is the mean demand,
sigma2 is the standard deviation of demand and
rho is the Pearson Correlation Coefficient between the opening inventory and demand.
FillrateInv(mu1,sigma1,mu2,sigma2,rho,FR,openTNS)
Calculates the safety stock required to achive a target fill rate when demand and inventory is normally distributed. Both demand and inventory can be correlated, cross-correlated, and possibly negative in some periods which makes this calculation much more robust than many other other fill rate formulas. More information can be found in Disney et al., (2015).
mu1 is the mean of the opening inventory (opening inventory = previous closing inventory + demand).
sigma1 is the standard deviation of the opening inventory.
mu2 is the mean demand.
sigma2 is the standard deviation of demand.
rho is the Pearson Correlation Coefficient between the opening inventory and demand.
FR is the target fill rate that you wish to receive.
openTNS is the current safety stock (target net stock) used in the opening inventory data.
I am keen to add more functionality to my Operations Analysis Add-in. If you have an idea of something useful to add, please contact me.