The Fifth Elephant 2016

India's most renowned data science conference

Jagadeesh Huliyar


Real Time Fulfilment Planning at Flipkart Scale

Submitted Jul 19, 2016 stores and sells millions of unique items through its Fulfillment Centers (FCs) and Sellers. These items need to be picked from FCs or need to be shipped from tens of thousands of Sellers into the many Sortation Centres in the Flipkart network. We need different quantities of each of these items, we need to pick them up from the FCs or Sellers at different times, and bring it into the Sortation Centres at specific times depending on the priority of the items and transport connections. Each batch of items has different dimensions, volume and weight and hence is associated with different restrictions and shipping costs. What we end up with is a gigantic graph, with the nodes being FCs, Sortations Centres, Transportation Hubs, Delivery Hubs and end customers. The arcs in this graph represent the time of transportation and cost of transportation and various other restrictions. Each node has a specific capacity, and so does each arc, and there are time constraints on when a product needs to ship out of a node and when it needs to come into a different node. And we need to do all of this while incurring the least cost.


In this talk I am presenting how planning is done in real time to ensure that SLAs given to customers are met considering the capacity and constraints of the supply chain network and at lowest cost.

Speaker bio

Jagadeesh is an Architect at Flipkart. He is currently working on Flipkart’s Supply Chain and Logistics Platforms focussing on Fulfilment Planning and Orchestration. Prior to this he was architect for Payments, Settlement and Fraud Detection Systems at Flipkart. He has built and operated several scaleable and highly available distributed systems. His interests include Change Propagation, Messaging Systems, Databases and Operations Research that focusses on Logistics and Routing problems.


{{ gettext('Login to leave a comment') }}

{{ gettext('Post a comment…') }}
{{ gettext('New comment') }}
{{ formTitle }}

{{ errorMsg }}

{{ gettext('No comments posted yet') }}