Store-based fulfillment of digital orders is now an integral part of omnichannel commerce for most mid to large-sized retailers. While most retailers started with the buy online pickup in store (BOPIS) service, programs such as buy online ship to store, ship from store, and delivery from store were bolted on opportunistically by many. Consequently, many store fulfillment solutions have generally evolved into systems with highly fragile, complex, and rigid components that stand in the way of further innovation. In this post, we identify twenty microservices that can be used to modernize your fulfillment process.
For retailers who have made the decision that store fulfillment is going to be a central part of their fulfillment strategy, the time is now to take a closer look at modernizing the technology platform. Can the underlying fulfillment functions be broken down into microservices with well-defined and finite scopes? Can these services be designed to be stitched together to create various fulfillment experiences? The following is a ground-up view toward laying the foundation for a microservices architecture store fulfillment platform.
- Start with a demand forecast - A unit-level demand forecast is the foundation for fulfillment planning from stores. The absence of proper demand forecasting leads to labor planning based on gut feel, which can result in over or under-staffing. A good demand forecast looks at historical trends, applies seasonality, and predicts demand for different fulfillment types (pickup, delivery, ship) for stores down to the hour. But for an MVP, consider taking a rolling 4-week average and applying it for the next 7 days.
- Demand forecast drives your labor forecast - Labor forecasts for each week should be driven off the demand forecast. This service should apply the store level productivity metrics (such as Picked Units Per Hour, Packed Units Per Hour, Average time for Dispense) to the forecasted volumes to derive labor hours required by day and by hour for the fulfillment functions – pick, pack, dispense etc.
- Record staffing plan - A staffing plan is created by the store manager or supervisor. Input to this service is the labor forecast, and the output is a shift-level staffing plan. The manager considers the availability of permanent staff, temporary staff, and other store-specific information in creating this schedule. This plan may be created for a week but updated daily based on staff availability and additional information.
- Digital order queue for all store orders - A digital order queue service is the starting point for store order fulfillment. Orders assigned to stores get ingested into this queue along with fulfillment attributes and customer promise.
- Optimize using pick planning service - Digital order queue & staffing plans are the inputs to the pick planning service. With the knowledge of the store's capacity to execute and the expected fulfillment time for each order, the pick planning service is expected to create pick tasks for the store. Depending on the store’s capabilities, pick tasks may be generated for order picking, batch picking, wave picking, or dynamic waveless picking. The service should be capable of leveraging pick path information for grouping and sequencing pick tasks. If improving productivity is your main focus, this is the area to invest in.
- Task management to track task assignments - Measuring and managing productivity is critical for the scaling of store fulfillment. A best practice is to deploy a task management service that records user assignments, start/end times, and other relevant metrics for productivity tracking.
- Picking service - A basic Picking microservice has the capability to present pick tasks to the store associate and accept confirmation once a product is physically picked. Many layers of sophistication can be added to the picking service depending on the maturity of the picking process. Guided picking or user-selected pick sequence. Order picking, batch picking or dynamic pick task assignment based on the user’s coordinates. Some of the other common features are the ability to skip and return later to a pick, the ability to pick to a container, scan to pick via a scanner or camera, and voice-activated picking.
- Substitution recommendations - Substitution, regarded as table stakes for online grocery services, is now considered a value-added feature for product categories such as apparel, health, beauty, and home improvement. When done well, substitution can drive customer satisfaction and save a sale. A substitution recommendation engine, invoked when the store associate shorts a pick due to the unavailability of a product, considers customer preferences, brand, and price before suggesting suitable options to substitute the shorted item. In some cases, retailers may choose to check-in with the customer before deciding to substitute.
- Stage orders using staging service - Staging is the process of stocking picked order lines at location for later retrieval. The order may be staged for customer pickup, delivery carrier pickup, or consolidation with other lines before packing. Staging may be user-directed or system driven, and should take into account storage constraints such as temperature control and lock & key.
- Track customer/driver check-ins through arrivals - Arrivals service is used to track a customer or a driver arriving at the store for pickup. At a basic level status, this service may accept statuses such as “on the way” and “at the store.” More advanced features could include tracking of the expected time of arrival and location tracking for auto-computing the ETA. Arrivals service is a critical component in planning the dispense process and managing pickup wait times.
- De-Staging - Typically, de-staging is the first step in the dispense process that involves retrieval of order lines previously staged.
- Handoff orders through dispense service - Dispense service orchestrates the process of handing off an order or multiple orders to a customer or to a delivery driver. The service should have verification steps to confirm the identity of the receiver of the goods, to confirm the contents of the order that is being handed off, and to allow the recipient to accept/reject the product for specific reasons.
- Consolidate and pack items through the packing service - Packing service puts together lines of an order or subset of an order into a container. The input to this service is a set of lines ready for packing. The service performs functions such as box selection and recording of the actual/dimensional weight of packages.
- Select carrier and generate tracking through the shipping service - Completion of packing is where the shipping service takes over. Carrier selection through rate shopping is a key feature of a shipping service. Shipping label generation and printing mark the package as ready to ship.
- Delivery updates through delivery tracking - As same-day delivery from stores becomes more commonplace, a need to consistently track deliveries across multiple gig providers is emerging. Some may argue that this service does not belong in-store fulfillment, but should be part of broader shipment tracking along with parcel tracking. I have chosen to place it in store fulfillment domain because it is an integral component in the same-day delivery from store solution.
- Two-way customer communications - Much like Uber and Doordash enabling the drivers and dashers to communicate with their customers, there is an emerging need to allow store associates to have a two-way communication channel with the customer during the fulfillment process.
- Pickup expiry tracks abandoned pickups - A timer-based service that tracks when the pickup window has expired for orders, triggers reminders, extends the pickup window on customer request, and finally initiates a process to cancel and return items to stock.
- Delivery exception for undeliverable orders - This service is used to record orders that could not be delivered by the delivery provider with a reason for the exception. Stores may initiate a customer contact based on the information provided, and subsequently reschedule or cancel the order.
- Transfer receipts using receiving service - Track the expected lines coming into the store as a part of a transfer (as items, containers etc) and record receipt of transfer lines received.
- Store inventory update - Bridge fulfillment to store’s perpetual inventory through Inventory Update service.
A next-level drill down into store fulfillment capabilities will likely uncover more microservice candidates. However, the 20 services listed above are a good starting point in planning the technology and process modernization. It will also set you up with a foundation to execute new innovations such as store-to-store transfers, pooled shipping from stores, and merging and deliver products from multiple locations.
Download our new eBook to learn more.