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 .