Saturday, August 22, 2009

Automated Quality Control Mechanism for Outbound process

Three main processes take place while picking and shipping an order:
  • Picking
  • Scanning
  • Labeling the merchandise
There are also order set-up, packing and shipping tasks but they consume less time and menpower affort.

Order set-up task is printing(getting) picking sheet and preparing container for picking. The time spent on this task depends on the container type and avaiability of these containers. In our case it takes no more than 0.10%.

Packing is done by the person who labeled the merchandise and it takes no more than 3% of the whole outbound operation.

Shipping task takes no more than 0.90% of the whole operation.

In outbound, quality of value added tasks such as labeling is important. The price labels should be labeled according to company quality standards. The database constracted in a way so every item labeled is tracked in WMS database. We can track who collected the particular item, scanned and labeled the price labels, packed and shipped. From stores feedback, warehouse personel errors are entered to the system and at the end of the month total quality compilance KPI list is prepared. According to this KPI value 3PL provider prepares trainings for warehouse staff. The most important issue is that: warehouse staff is avare that every their work is trucked and put in front of warehouse management. By implementing this QC mechanism, we gained rise in productivity of personel during outbound by 27% and by trucking every item delivered increased the service level to the end customer.

Friday, August 21, 2009

WMS Database Design (Addressing structure)-2.part


The addressing is done by scanning the barcode codes on the containers. This process should be very simple and very fast. Container to container movement should be done by scanning only two barcodes: the barcode of container to be emptied and the barcode of the container to which goods from first container to be moved. The barcode codes should be unique and should have a merchandise in them. To distinguish between merchandise, address locations and containers from each other a barcoding rule is to be applied. I used first digit of barcodes to distinguish the types of containers and the length of barcodes to distinguish merchandise from address locations.
For example: when container barcode is scanned and first digit is letter "B", system recognizes it as a box container, if it was letter "R" it recognizes the location of row, if it was the letter "P" it recognizes the pallet number and so on. If container number is scanned, system searches if this address exists, if it exists it searches if the merchandise in this container is allocated for picking, if merchendise for picking is allocated, it searches if it is collected and scanned, if it is collected end scanned, program allows the user to scan the next barcode otherwise it prints error message and error description onto the screen. All this control mechanism takes no longer than 1 second in Access databese. The next barcode could be a merchandise barcode or container barcode. If the second barcode is another location address, system puts all the merchandise from the first container to second container. If second barcode is merchandise barcode system waits for the third barcode to be scanned and third barcode should be a final destination barcode. When third barcode is scanned, system puts merchandise scanned second from the container scanned first into the container scanned third. Program also choses whether the location is primary address or secondary address.

Monday, August 17, 2009

Put-away for addressed system and without

Suppose we need to put four boxes into storage area where no addressing exists. Boxes containing A,B,C and D product should be put into storage area so they could be found and picked. So they are put in an alphabetical way. For four different boxes four phases of movement should be done. Phase (A) is the starting point. On phase (B) 10 boxes should be moved so box with product A could be put into the shelve. On phase (C), 7 boxes should be moved in order to open place for product D. On phase (D), 5 boxes should be moved in order to open place for product F. On phase (E), 2 boxes should be moved. 22 movements made to place 4 different products.


For a system having addressing system only four movements are done. Those movements are placing four different products to the empty shelves at the end.



The put-away and inbound processes for a system without addressing system costs at least 40% more than the same operations on an addressed system. No need to mention manpower allocated and time spent comparisions. Also for a system without addressing system operational space is bigger than ordinary addressed sytem. Quantity of product stored per m2 is less than ordinary sistem with addressing because no mix containers could be created and per every product range there should be extra space for put-away.

The picking processes are slower for systems without addresses and picking success rate is less than ordinary systems. I will cover picking issues in more details.

Saturday, August 15, 2009

WMS Database Design (Addressing structure)-1.part

A Warehouse Management System(WMS) could be a stand alone system or it can be integrated with other enterprise software like ERP or even be a part of it. What makes WMS strong and reliable is its database structure. A way data collected, stored and presented could bring significant value not only to logistics but also to the whole enterprise.

I had a great chance to design the database structure of the WMS system. The main aim was to make it flexible as possible, extendable and reliable. Building the WMS, company product structure, company future business development strategy had to be taken into account. I decided to store the data in MS Access. The reason why I chose Access: I was familiar with MS Access and according to company business development plan MS Access was enough to meet logistics needs for at least 5 years. Also it is easy to migrate from MS Access to any SQL servers like MS SQL or even to MySQL which is license free and compatible with Apache server and PHP internet programming tools which are also license free.

What operations should WMS carry on? First and most important process was inbound. For inbound the stock movement possibilities had to be analyzed. Stock is stored by a single unit and moves by a single unit within the warehouse and to outside of warehouse. If the company was a manufacturer of consumer goods, the database structure would be different because the stock movement might be in kilograms, meters, m3 for raw materials. In manufacturing companies stock may come to warehouse in rulons and ordered by meters, kilograms, etc. The main stock movement for an end product of textile goods is as below:
(A) stock movement is a movement of flat units into a container of any type. It could be a carton or a plastic box. (B) movement is a movement of units into a pallet and the last (C) movement is movement of units to the container which is on the pallet. These are all possible movements of the stock during the inbound process for flat products. For units on hangers(GOH) inbound operations are almost the same. For (A) and (B) we need only one addressing, but for (C) movement we will need 2 addressing database structure. It is like: the building number on the particular street and the flat number in that building.

Inside warehouse movements listed below:
(AB) movement: unit from container into static storage(in this case to shelves)
UPDATE ADDRESS SET ADDRESS.PRIMARYADDRESS=NULL, ADDRESS.SECONDARYADDRESS='shelve number' WHERE ADDRESS.PRIMARYADDRESS='container number'

if only one item from container is to be moved into shelve use UPDATE TOP statement. If container consists of mix SKUs add the 'SKU='item SKU'' statement into the WHERE.

(AC) movement: all units in container into another container located in shelve
UPDATE ADDRESS SET ADDRESS.PRIMARYADDRESS='container on the shelve', ADDRESS.SECONDARYADDRESS='shelve number' WHERE ADDRESS.PRIMARYADDRESS='container number'

(AD) movement: whole container into shelve location
UPDATE ADDRESS SET ADDRESS.SECONDARYADDRESS='shelve number' WHERE ADDRESS.PRIMARYADDRESS='container number'

(AE) movement: unit from container into a container located in the shelve
UPDATE TOP(1) ADDRESS SET ADDRESS.SECONDARYADDRESS='shelve number' WHERE ADDRESS.PRIMARYADDRESS='container number'

(B) unit from a pallet into a shelve(this type of movement is useful for cosmetics items)
UPDATE TOP(1) ADDRESS SET ADDRESS.SECONDARYADDRESS='shelve number', ADDRESS.PRIMARYADDRESS=NULL WHERE ADDRESS.SECONDARYADDRESS='pallet number'

(B) unit from a pallet into a container in the shelve
UPDATE TOP(1) ADDRESS SET ADDRESS.SECONDARYADDRESS='shelve number', ADDRESS.PRIMARYADDRESS='container number on the shelve' WHERE ADDRESS.SECONDARYADDRESS='pallet number'

(CA) unit from a container located in the pallet into a shelve
UPDATE TOP(1) ADDRESS SET ADDRESS.SECONDARYADDRESS='shelve number', ADDRESS.PRIMARYADDRESS=NULL WHERE ADDRESS.PRIMARYADDRESS='container number'

No need to add secondary address into WHERE statement because primary address is unique for the whole warehouse.

(CB) unit from a container located in the pallet into a container located in the shelve
UPDATE TOP(1) ADDRESS SET ADDRESS.SECONDARYADDRESS='shelve number', ADDRESS.PRIMARYADDRESS='container number located in the shelve' WHERE ADDRESS.PRIMARYADDRESS='container number'

(CC) container from a pallet into a shelve
UPDATE ADDRESS SET ADDRESS.SECONDARYADDRESS='shelve number' WHERE ADDRESS.PRIMARYADDRESS='container number'

Whole pallet movements are not listed because no racks for pallets will be used.
So to make whole movements we only need a PRIMARY address and SECONDARY address fields.

Sunday, August 9, 2009

Picking routes


The picking route could be left-right aisle separate as in (A), three dimensional zig-zag route as in (B), and one row at a time as in (C). The most travelling is done on (C) route The least travelling is done for (A) and (B). The (C) route could be used for picking separate groups of merchandise located by row level separatelly.

Saturday, August 8, 2009

Sales per unit area calculations

Generally when a new store is to be opened, the approximate RPM for that store is calculated. For every retail company, this RPM value differs. To get more info about RPM click here.

How this value could be used by Logistics department? What impact will cause on logistics operations the opening of new store? Can be this impact predicted from RPM value?

RPM is revenue per meter square per a year in US dollars. Suppose we have two different stores: one with 3000 RPM and another is with 6000 RPM. For the store having RPM 3000 net sales area(area without fitting rooms, staff room, etc) is 550 m2 and for store having RPM 6000 net sales area is 700 m2.

For first store: 3000RPM*550m2/30 USD/365 days=150 pieces. 150 pieces of merchandise are sold every day if the average price per merchandise is 30$.

For the second store: 6000RPM*700m2/30USD/365 days=383 pieces are sold every day.

Two stores sell more than 500 pieces every day. So according to these sales rate people hired in the warehouse. Suppose another store is to be opened having an RPM: 13 000 and net sales area of 1200 m2.

The number of merchandise to be sold per day on average is: 13000*1200/30/365=1424 pieces of merchandise. That is almost 3 times higher than the current workload. So inbound frequency will increase and outbound volume will increase. Also as this new store is 700 m2 bigger than existing stores average new ranges of products are to come so warehouse area will increase. Also the warehouse staff number will increase.

Also RPM could be used by HR department, Merchandisers, etc. For example HR calculations would be as following: the higher RPM the higher foots enter the store, the more store staff will be needed.

Warehouse storage area optimization for picking

The travelling time takes 75% of the whole picking time. The travelling time during picking can be decreased by using Pareto rule:
Pareto analysis is a statistical technique in decision making that is used for selection of a limited number of tasks that produce significant overall effect. It uses the Pareto principle – the idea that by doing 20% of work you can generate 80% of the advantage of doing the entire job. Or in terms of quality improvement, a large majority of problems (80%) are produced by a few key causes (20%). http://en.wikipedia.org/wiki/Pareto_analysis

The 80% of sales comes from 20% of the stock. By sorting out these 20% of stock and by locating them together close to dispatch zone the travelling time during put-away and picking can be decreased. Easy to say, hard to do. Because Company operates a department store, there are to many SKUs to sort out. For every 1 m2 of sales area there are 15 different SKUs in the warehouse. For a store having net sales area of 700 m2, there are should be stored 10 500 different SKU's in warehouse on average. So the scope of the sorting should be considered in a higher level than SKU. By reading Product data analysis, one step higher level of product description is Size. Practically it will be difficult to sort merchandise by size so we get one step higher on product group hierarchy: color. Color is same as size will be difficult to implement sorting. Model(Stroke ID) is also hard to implement practically in warehouse and StrokeID will change for every new season. The easiest is to sort by Department ID. The whole product range consists of 86 different product departments: man shoes, ladies shirts, children apparel, man underwear, furniture, cosmetics, food, kitchen, home textile and so on. By analyzing sales it was discovered 70% of sales comes from Ladies merchandise and other 30% of sales from man and cosmetics items. But the average price for Ladies merchandise is 800% higher than the average for cosmetic items and cosmetics items SKU count is not more than 20-30. So the most frequent picking is done for cosmetic items. The next is for ladies merchandise and the next is for man merchandise. Inside the ladies group of merchandise Shirts are sold the most, then lingerie, then trousers and so on. So warehouse was divided to the total departments count and departments were sorted out according their sales rate.

There are also other methods could be applyed to decrease travel time in warehouse in addition as batch picking, picking before put-away or even accross-the-dock method.

Sunday, August 2, 2009

Working hours decision

The decision at what time of the day warehouse should start functioning and end is important issue. Warehouse should be operated at minimum expenses with the highest efficiency. Two main operations should be done as quickly as possible: inbound and outbound operations. Outbound operations generally depend on sales. The higher sales, the higher outbound quantity and inbound quantity. So to make decision on number of personnel and working hours and working days warehouse should work, the sales data should be analyzed. As warehouse will handle mostly textile products, the sales depend on seasonal fluctuations. There will be dead days and peek days. But generally the sales during the day will be as following:

The sales will begin with the opening of stores at 10:00am and end with closing the stores at 22:00 pm. 15% of the sales done during 19:00 and 22:00. Generally 30% to 70% of sold merchandise exists in warehouse and only 30%-50% of these sold items are absent in the stores by the end of the day. So by collecting and delivering items sold during 19:00-22:00 till the next day, it was calculated: there could be an increase in sales by 3%. The decision had to be made: working 24 hours of the day during 7 days of the week with four shifts or to work 12 hours of the day during 6 days of the week with 2 shifts. It was calculated that 4 shift working increases sales by 3% and increase warehouse operational cost by 85%. If increase in sales is bigger than increase in operational expenses, working with 4 shifts could be implemented. Because the sales area is not big enough the company increase in sales did not cover the increase in operations so 2 shift working was decided. But as soon as sales area increase the 4 shift 24 hours working could be started.

The decision was made to start at 9:00am and end at 21:00pm. The sales data is collected from all stores every 30 minutes, so every 30 minutes merchandise in warehouse could be allocated and picking lists printed. The last sales collected and delivered the same day to Kiev stores are 19:00pm sales. This method of merchandise allocating is called "pool method" because every minute drop by drop pool is filled and at the end of day the pool is emptyed rather than filled one time in the day and emptying it at the day of the day. So by this method we avoid peeks in collecting goods and there is always work to be done for warehouse staff if there is no inbound in the warehouse.

Saturday, August 1, 2009

Russian and Ukrainian inbound operations comparison

A few years ago I had a chance to analyze whole warehouse operations done in Russian Warehouse of the company and I was supposed to set up the same operations for Ukraine warehouse.

After analyzing the whole warehouse processes, I decided to develop and implement totally different system than in Russia. The main reason to develop and implement a new system was high financial expenses and low efficiency of the Russian warehousing.

One of the robust operations that consume a lot of manpower and time was inbound operation. The time consumed during the inbound is crucial because it directly affects the sales in the stores. The quicker new truck taken into the stock of Warehouse, the quicker it is sent to stores, the more sales will be done. For example, analysis of sales lost was carried for a truck coming on first week of December 2006 and taken into the stock in 48 working hours. The truck consisted of 100% of Winter season merchandise and %90 percent of these merchandise was already opened to the stores. 30% of the stock was missing in the stores and in warehouse stock. That is %30 percent of the new truck to be sent to the stores by the first delivery. Calculation show that every 24 hour delay on receiving the new truck costs a lost in sales by 25 000 USD.

Russian warehouse was supposed to take new truck into the stock in 48 working hours. A shift consisted of 3 PC operators, 12 pickers/checker, 1 shift leader, 1 warehouse administrator. There were 4 shifts. On total: 48 pickers/checkers, 12 PC operators, 4 shift leaders and one administrator. 24 hours of the day warehouse was functioning. Because there was not any address system, merchandise had to be sorted in a way so it could be found in future and picked for the stores.
In Russia it takes 48 hours for minimum 8 workers to take into the stock a truck of 15 000 piece merchandise. The same process takes maximum 14 hours for 5 workers in Ukraine. In Russian operations, even the truck is checked and taken into the stock, pickers are unable to pick items to the stores until put-away is done. This operation takes another 4 working hours for 5 workers. This is done because there is no addressing. In Ukrainian operations as soon as stock is taken into the system, it can be collected without put-away operation and put-away takes 1-2 hours .

Sunday, July 19, 2009

Collecting GOH items within the storage address

Generally GOH(garments on hangers) items are stored on a steel rod of a length of 1.30m. Every such length of a rod has a unique address name which is stored on warehouse WMS system. Every item from inbound is scanned to those addresses or to rails(a warehouse equipment on four wheels) so these items could be picked and delivered to the stores where they are sold. On winter season generally on a length of 1.30m 40-60 items are stored. But in summer, 60-90 items are stored on such addresses. Suppose on a such rod 30 different merchandises are stored and 5 different items should be picked out of 80. Searching these items within the rod could consume a lot of time. There is a way to decrease this search time.

While we scan merchandise when we first got items from suppliers we can also store the scanning date and time info in the WMS system. So we can know the merchandise location within the specific rod. For instance: A1 is scanned on 14:30:12, A2 is scanned on 14:30:20, A3 on 14:30:41 and so on. So when time to pick some of these items has come, picking list can be given ordered to the address location and the merchandise within the address could be sorted according to scan time info taken while scanning on inbound.


Suppose you have 8 different sizes or models hang on a specific storage area. They are hang on the following order: A1-first, A2, A3, A4, A5, A6, A7 and A8 item is the last. A2, A5, A8 have to be collected. If the merchandise is ordered according to the description or model number the picking list could be like this: A8, A2 and A5. That is picker starts to search A8 from the beginning where A1 begins. After picker finds A8 item, he starts again from A1 and searches until he finds A2 and after A2 is found he starts his search again from A1 to find A5. And increases his picking time. But if picking list is sorted and printed by scanning time taken on inbound the pick list would be like this: A2, A5 and A8. Picker begins from A1. By picking A2 he starts searching from A3(not A1) and after collecting A5 he starts searching from A6 so he decreases picking time.

When I first implemented this feature picking quantity was increased by 25% per a picker increasing efficiency per picker.

Wednesday, July 15, 2009

Cross-Docking disadvantages

One of the biggest retail fashion industry giants entered Ukraine a few months ago. I had a chance to talk with logistics managers of the company. If I understood correctly they have only one distribution warehouse(DC) for Europe located in Europe. Merchandise is received from suppliers and delivered to Cross-Docking areas across the world from this DC. The advantages of this system: low cost of logistics operations in the neighboring countries. The company acts very quick to fashion industry changes and most of the suppliers for the trendy items are from Europe or neighboring countries. Suppliers are able to produce the apparel from a scratch in a few weeks and in small quantities. They able to make repeat orders. So the company has little risk while making orders of merchandise. If a merchandise has a good selling rate they make repeat orders so they actually minimize holding risks of stocks in DC.

In Ukraine two deliveries are done per a week from that DC. There are flat items and items on hangers. Items on hangers received on special boxes where items are hang. Items are in boxes and every box is for a particular store and labeled according to it. Travel time takes 4 days, the planned customs clearance time is 3 hours. For a delivery consisting of 5000 pieces and 800 different models it is quite challenging time period for customs. Generally truck leaves DC on Friday and arrives next week Tuesday and in the evening if everything OK the goods delivered to Kiev store. Another truck leaves on Monday and on Thursday evening it is in the Kiev store. Store has to wait 4 to 3 days between the delivery.

Picking by lot disadvantages

A few days ago I had a chance to chat with one of the managers of a big fashion retail company in Ukraine having over 13 000 m2 of sales area.

During this chat I asked how they do the distribution to stores in Kiev and in regions. He said that Kiev stores receive 2 deliveries per a week and regional stores also get 2 deliveries per a week. I asked why merchandise to Kiev stores is not delivered every day so they could rise sales by replenishing missing items in the stores. The answer was very simple: warehouse staff is unable to make deliveries everyday. In the warehouse there were 18 warehouse staff including managers. The maximum quantity that could be delivered to stores is 10000 items per day. The working day begins at 9am and ends in 18pm. Even if the managing staff consists of 3 personnel, for 7.5 working hours 88 items are collected by one worker per hour(total 15 workers). Items are collected, scanned, packed and loaded to the trucks. No value added services like price labeling etc are done.

They receive merchandise from suppliers in lots. Every package consisted of each size of a model and the quantity between sizes were not equal. The distribution between the sizes was done according to sales rates in Ukraine for a group of merchandises per particular size. For example if M size shirts are sold more than XS size then size distribution among the shirts is distributed in a way that M size will have the biggest quantity in the lot. For example a lot consisting of 6 pieces for 4 different sizes would be like this: XS: 1 piece, S: 2 pieces, M: 2 pieces, L: 1 pieces. When particular merchandise arrives to the warehouse for the first time and it is not in the stores yet, it is delivered to the stores by a lot. But when an item is sold from this lot, warehouse does not replenish the missing item to the store. Warehouse waits until the half of the lot is sold and after a half of quantity in a lot is sold they replenish that model by a whole lot. For example if a lot consists of 6 pieces they do not replenish it until 3 items of this lot are sold. Suppose we have a lot distribution of 4 sizes consisting of 6 pieces: XS:1, S:2, M:2, L:1. Suppose the first day merchandise arrives to the store, the same day XS size was sold. The other sizes were not sold. So next day if there was delivery, the store does not get the missing size of a model. They continue to sell the remaining sizes of that particular model. Suppose after 3 days another 2 S sizes were sold. The next day stores gets a whole lot of merchandise, of course if delivery is planned to that day otherwise even store has sold the half of a lot they have to wait another couple of days because delivery of merchandise is not done everyday. So at the end we have 1 XS, 2 S, 4 M, 2 L items. On total we will have 9 items of this product insted of 6. And by every delivery this size will get bigger and bigger. And of course the merchandise layout in the store will be damaged and a look of the store will be like a typical outlet store.

The other interesting thing was the inbound process. As the company sales area was big so the inbound quantity was big but models of merchandise were few. For example per one model in the truck there were on average 800 pieces. So an inbound truck consisted on average only 50 models. Even so the stores get these merchandise the earliest after 3 working days.