Material Ordering Algorithms
In this post, I write about a project I have recently finished; reviewing the Dunelm M2M material ordering algorithms. Interspersed are the key lessons learned. I’ve removed the calculations for reader-friendliness. My thanks to everyone in the M2M teams who have supported with this project.
The Brief
The Dunelm curtain range contains hundreds of products, each available in 9 sizes. New products are added each year and the range is available to buy in-store and online. Our Made to Measure (M2M) range is in place for when the set sizes we offer do not meet our customers’ requirements. The M2M range offers an even wider range of fabric, along with matching tiebacks, cushion covers, pelmets, valances, and roman blinds, each available with customisations.
Customers take their size and customisation requirements to an M2M Consultant in their nearest Dunelm store, who can showcase the full range of fabrics available. The consultant enters the customer requirements into a software which returns the cost of the products and orders the correct amount of material to our Leicestershire Manufacturing Centre.
As mentioned in my annual review, I’ve been working on a side project to review the material ordering calculations. The aim was to reduce waste material and hence the cost to customer. The calculation hadn’t been touched for over 5 years and the team suspected inefficiencies in the levels of waste. Working with a grad from the commercial finance team, we were tasked with translating our manufacturing process into a sequence of mathematical equations, to update the M2M Algorithm.
Starting Out
I’ve never made a pair of curtains before, nor considered the various steps which go into making a roman blind. Heck, on day 1, I wasn’t really sure what a roman blind was! It was clear that there was going to a be a fair bit of learning before I could put pen to paper. The following week, we jumped right in with a visit to manufacturing for a general tour, scribbling down undecipherable notes as we went.
One of the first things to grasp was the process around the material cutting desks, before being sent off around the factory for processing. Popular fabrics are stocked on large racks in the MC itself, while when lesser ordered fabrics are required, the supplier cuts the required amount, and delivers the cut lengths to us for manufacture. Significantly, we can cut our stocked fabrics accurate to the cm, while our suppliers have a minimum order interval of 50cm – If we need 119cm of fabric, then we need to order 150cm. The existing calculations didn’t factor in this distinction and was some low-hanging fruit early on.
Lesson 1: There wasn’t a clearly defined goal. No one knew how much material could be saved, nor did we assign a time to finish the project by. Given enough time, incremental improvements could always continue to be made. Some time spent defining our objectives and what good looked like would have been useful for staying on track and may have led to project completion sooner. My new favourite problem solving questions are: “What question/problem are you trying to answer/solve?” and “What does good look like?”
4 hours a week
We decided early on when we going to work on it, fixing time in our calendars to ensure that for at least half a day a week, the project was given our full attention. While work in our main roles ebbed and flowed, we always managed to put in either a Wednesday morning or Wednesday afternoon to visit the manufacturing centre.
Lesson 2: It was challenging to maintain good pace with our time split between this project and our other work. Remembering and reviewing our previous work each week was what slowed us down. There were certainly benefits to having time to reflect between sessions, but it would have been easier to work 4 days a week on the project in a concentrated 6-week block. We made notes on what we had been working on, but a clearer change log would have been beneficial: documenting not just what we did, but the thought process around why we did it.
Roman Blinds
We agreed to work on the product types in order of predicted impact, starting with Roman Blinds (RBlinds) because it was expected that the largest material savings could be made. After a few visits to the manufacturing centre we had a view of the full process from cutting the fabric, to boxing the product ready for delivery. We chose not to look at the existing algorithms right away, to enable our own view to form on which variables were necessary for the calculations.
Lesson 3: This is a really difficult one to manage without guidance; an expert who’s done what you’re trying to do before. Grasping what is important information and what is extra ‘nice to know’ detail. Throughout this project, I’ve been grateful for the enthusiasm and sharing of knowledge by our manufacturing colleagues – I’ve learnt more about textiles than I thought I would and more than necessary to update the algorithm. The types of stitch used to hide seams and the spacing of dowels over a RBlind drop haven’t been called upon… yet.
Each of our M2M RBlinds are made out of 1 or 2 widths of fabric, where a fabric width refers to the width of the roll that the fabric comes on. How wide does the finished blind need to be before we order 2 widths? It will depend on the width of the fabric and the returns at either side of the finished RBlind. We set the widths required to be the ceiling of the ratio between the blind cover width and the fabric width minus the returns. Customers can choose from over 10 different linings and lining calculations are carried out in a similar way. Again, we related the widths of lining required to the width of the finished blind and to the width of the lining chosen. The existing algorithm used a constant as the threshold for ordering 2 fabric widths and then ordered an equal number of lining widths. Our model was a sizeable step forward.
Testing
With our proposal written down, we wanted to check that it worked as planned. After an initial sample of a couple of orders from the manufacturing centre came out promising, we asked for a set of ~2000 orders to be pulled from SAP. The added benefit of this was that in addition to comparing material ordered, we could put a number on the material cost saved.
Lesson 4: Gather resources at the start and gather what you need. Sourcing the latest material master data proved tricky and would have been helpful to access from the beginning. Towards the end of the project, we decided to compare all of our proposed algorithms to the existing calculations over a 12-month period, to forecast annual savings. Sourcing a full dataset of customer orders initially would have saved time later on.
Over the coming weeks, we’d review our RBlinds proposal and talk the changes through with the team at the manufacturing centre, adjusting the calculations where necessary. We presented our proposal to the M2M steering group, who were impressed by the increased efficiency and savings. The pushback – how much will this cost to implement? We returned the next month having explained the changes to the 3rd party developers and the RBlind update was given the go ahead!
Lesson 5: A second (or third) pair of eyes is a valuable thing. As we became closer to the detail, talking through and presenting to others was a great sense check and an opportunity to iron out any creases.
Wrap Up
It wouldn’t be a good use of time for me to write about the changes made for each of the other algorithm proposals, nor for you to read about them. Instead, I’ll close with the headline savings made and a final lesson. Moving forward, I’ll have more time for PPC!
- The proposed algorithms are forecast to reduce fabric ordered by 15%
- That’s 57 miles over the course of a year: Leicester to Sheffield as the crow flies.
- Over £400k of material cost saved over a year.
Lesson 6: Keep challenging the norm. Late into the project, I sat down with the head of manufacturing to talk through the proposed changes to the tieback algorithm. I introduced the depth of the tieback as a constant 27cm and had barely got any further when he asked why it was 27cm. Surely changing it to 25cm would allow 2 tiebacks to be made in a 50cm drop – why don’t we do that? I remember sitting there in awe – I had become so sucked into the algorithm that the 27cm had become an immutable fact of tiebacks! It later transpired that this wasn’t feasible after testing the template. It’s the single most memorable moment for me. Challenge the norm.
Until next time,
Scott