Drop shipping and optimisation – how to save retail?

Drop shipping – where retailers don’t stock a product, but rather obtain and ship it directly from the manufacturer only once the customer places an order – can be a boon for on- and offline retailers and manufacturers alike. A recent article suggests that profitability of manufacturers that use drop shipping is over 18% higher than manufacturers who do not. This suggests there is money “on the table” associated with order fulfilment, and new approaches to shipping can help get that money into the pockets of retailers and manufacturers alike.

Unfortunately, it’s not as simple as saying “yep, let’s use drop shipping”. For one thing, customer service needs to be maintained – not many customers are going to accept long shipping delays for example just to increase supplier profitability. Drop shipping needs to deliver a result as good as the alternatives. This comes down essentially to logistics, modelling, machine learning and optimisation – for anticipating demand, preparing production and shipping, analysing and predicting customer service requirements, and executing the production and shipping process that delivers fast but at minimum cost. This is where Optimeering can help – drop us a line if that 18% sounds interesting to you…

It also opens up some very interesting new business models. Large manufacturers or wholesalers take on the roll of production, storage (if any) and order fulfilment, and (online and offline) retailers focus on their specific customer concept – whether that is built around price, service, products offered or something else entirely. This is already beginning – online supermarkets are and will have to move in this direction rather than each of them replicating the fulfilment job. and, of course, good algorithms (like those made by Optimeering!) are essential to make it work, and work well.

Speeding up Mosel code – the sum operator

For those of you who don’t know, Mosel is the programming and modelling language that ships with FICO’s Xpress math programming solver. And if you don’t already know what it is, the rest of this blog post won’t be of too much interest – I would advise a cup of coffee, a stretch and a good eye-relaxing look out the window instead. But, for those of you that do use mosel, keep reading.

At Optimeering, we don’t actually use mosel much any more – pretty much all our modelling work is now done in python, including all our math programming modelling. However, when we were using mosel, we noticed a few issues with speed – particularly, how you use the conditional operator has a big impact on execution speed. We first really experienced this in the early prototyping of the PUMA model – the model’s datasets can get pretty big, and issues like this were very critical to good model performance.

So, last year we published a working paper within the PUMA project, with code, that explains things in detail and makes some recommendations regarding how you should use the conditional operator. I thought it was about time I made it available here – download and disseminate away!

Data Science Cheat Sheets

We are big fans of the team at DataCamp and the python and data science resources they’ve put together. Their Cheat Sheets are really useful – especially for people like myself who forget the correct syntax all the time. No matter whether you are new to python and data modelling, or have heaps of experience and are a python data science animal (if so, drop us a line…), check them out.