Doing more with less in field sales operations: Using combinatorial optimization and customer segmentation techniques to boost sales outcomes

Doing more with less in field sales operations: Using combinatorial optimization and customer segmentation techniques to boost sales outcomes

“Can we execute a segmented, and personalized sales approach in traditional retail using a field sales force? Can we do this faster, cheaper, and at scale ?”

Digital natives and D2C businesses have long benefitted by applying AI / ML based approaches to effectively personalize, and sell to consumers, but can physical sales catch up? 

This question eludes even the most astute of sales leaders in the FMCG and consumer durables world. Fuelled by the pandemic, digital selling has captured everyone’s imagination, but it has its own challenges. And in that context, bringing novelty, and sophistication to physical selling has never been more relevant and important than it is today.

At Ninjacart, we put continuous effort to understand our customers as well as supporting them throughout their journey with us. And, like every other FMCG company, we have large feet on the street to support this. Our sales personnel in the field interact with customers daily to gauge their needs, collect orders, and address their concerns. However, unlike any other similar company, we rely on technology, AI, and ML to make those interactions count. It is in that process, we undertook a journey to enable personalized selling at scale, with the same (or better) efficiency that we are known for.  

The Sales Heartbeat

The heart of any physical selling starts with an efficient beat plan. A beat plan or a permanent journey plan is a day-level route plan for a sales executive that defines which customers to visit and when to visit them. The scale at which sales beat planning is done poses real-world challenges, such as:

  • Assigning a specific geographic location to a particular sales executive, considering varying densities of customer demand, as well as balancing the amount of workload
  • Defining the best communication channel (physical visit vs tele-call) for a customer, depending on his engagement with Ninjacart
  • Creating an optimal route plan for the sales executives to visit the assigned customers
  • Enabling efficient fulfilment of customer demands through physical fulfilment/delivery centres

We used a combination of unsupervised ML and combinatorial optimization algorithms to solve these challenges and create an efficient beat plan for our sales executives. Unsupervised ML algorithms helped in identifying patterns in large datasets, whether geographical or behavioural. Route planning for the sales executive as well as matching the customer demand to fulfilment centres were formulated as optimization problems. 

Latitude and longitude coordinates of the Ninjacart customers were used to create localities by first converting them into easting and northing coordinates using the Universal Transverse Mercator (UTM) projection method. The number of localities to be formed were decided based on two factors: the number of sales executives and the minimum and the maximum number of customers that can be served by one sales executive in a week timeframe. K-means constrained algorithm, where a minimum and maximum size for each cluster can be specified, was used to create the localities/geographical clusters, such that customers within a cluster can be served by a single sales executive. 

Geographical clusters of Ninjacart customers with highlighted cluster centres

Fulfilment follows the beat

While a beat plan focuses on defining a visit plan to cater to customers’ needs and concerns, its efficiency would also depend on how the actual fulfilment takes place after their inputs have been gathered. To that end, we studied the historical demand of each geographical cluster and mapped these clusters to our physical fulfilment centres, depending on the proximity and the service capability of the fulfilment centre. To optimally solve this problem, we formulated it as a version of the assignment problem (AP), a classical combinatorial optimization problem.

Problem formulation:

The customer clusters convey their demands (tasks) to be fulfilled by fulfilment centres (agents) for which the delivery personnel would require to travel a distance (cost) from fulfilment centres to these clusters.


We already understand the service capacity of our fulfilment centres. Then, we came up with demand representation of customer clusters and also gathered road distances to be travelled to service estimated customer demand.

Now that we have mapped our use-case to an AP, we used a mixed-integer linear programming (MIP) solver to come up with the most optimal assignment of fulfilment centres to the geographical clusters, given the required constraints.

Customer demand clusters assigned to distribution centres for fulfilment

Customers have different personas

One of the challenges to designing an efficient beat plan is to identify which customer needs to be physically visited or tele-called by a sales executive in a particular week. Customers who are less engaged with Ninjacart due to quality or delivery related issues or are stranded due to problems such as the inability to place orders in the app, need to be physically visited by a sales executive to address their concerns and support them. 

On the contrary, customers who are very engaged and do business regularly with Ninjacart can be tele-called in a particular week, so that the sales executives are not unfairly loaded to service these customers. Therefore, to evaluate the engagement of customers with Ninjacart, their ordering data was extracted for the last six months. A binary matrix was formed with rows representing each unique customer and columns representing the weekly ordering pattern, whose value was assigned as 1 if a customer has ordered in a particular week and 0 otherwise. 

Using hierarchical clustering on the ordering patterns, four distinct clusters (hereafter referred to as personas) were identified based on the agglomeration schedule and the dendrogram. 

The first persona (Retain) represents highly engaged customers who order consistently with Ninjacart. The second persona (Develop) represents customers who are either new customers or old customers who were infrequent before but later started to increase their ordering frequency. The third persona (Acquire) represents highly disengaged customers who no longer order or order very seldom with Ninjacart. Finally, the fourth persona (Protect) includes customers who are reducing their orders towards churn. These personas were further validated through aggregated level metrics such as average recency of orders in the last six months, weekly frequency of order, weekly order size, among others. These four personas as well as other metrics such as customer age, type of SKUs ordered by customers, and weekly order size, among others, were used to identify which customers need a physical visit vs a tele-call. 

Segment, personalize and simplify the sales process

One of the benefits of segmenting customers goes beyond prioritization. It can also manifest itself in the form of sales personalization. Feet on the street sales folks usually have a hard time selling because they are not clear about the message they want to convey to their customers. 

Give them a bit of intelligence, and a bit of clarity, and they become your best soldiers who will give their lives to protect the ones most important to you. Driving simplicity, and clarity is critical for sales. Too many messages distort the process. To achieve this, one of the ways we have been working is to clearly call out the day of the week, and the tactic to use.

Here is a good example of a segmented, and personalized selling approach.

We simply choose a day of the week, select the right set of customers, and allow sales teams across the company to focus on a single metric. A clear sales playbook for the day!

Optimal Routes mean more efficient sales

Once we have come up with geographical clusters of customers who are in close geographic proximity and have segmented the customers depending on the underlying customer personas, we have to ensure that our sales executives are also equipped in terms of a route plan, defining the order in which these customers need to be visited on a particular day. 

Defining such a route plan takes into consideration that the total distance to be travelled by a sales executive on each day of the week be minimized. The algorithmic approach to solve this problem is to formulate it as a version of the Travelling Salesman Problem (TSP).

Problem formulation:

The sales executive would be required to start from an assembling point and return there at the end of the day after visiting all customers. So, it would be a closed version of the TSP.

The distance to and from one customer location to the other may or may not be the same, considering that we take road distances into account. Hence, the TSP solver should be able to solve both symmetric and asymmetric versions of the problem.


For each day of the week, we would need to define the road distances between all pairs of customer locations that a sales executive needs to visit. This distance matrix is used as an input to the TSP solver.

Since TSP is an NP-hard problem, we may or may not come up with the most optimal route and in a small to medium instance such as ours, a heuristic/meta-heuristic solution would give a solution very close to the optimal. The meta-heuristic approach of Simulated Annealing (SA) worked well in our case. 

Epilogue: The proof is in the pudding!

Our geographical clustering approach, to assign a locality to a Sales Executive(SE), improved in balancing the distribution of  SE utilization by 15.5%. With our approach, 71% of Sales Executives were evenly utilized (60-75% load) as opposed to only 44% of Sales Executives being in that bucket currently. The percentage of SE utilization, in both cases, is shown below:

With a levelled utilization percentage for the majority of SEs, we are also able to achieve an improvement in missing customers to be physically visited by a sales executive by 24%.

The customer personas define the daily visit strategy for the sales executives, as opposed to a randomized approach. For example, “Win Back Wednesdays” to visit customers who are in the Acquire persona.  

The fulfilment/distribution centres improved in their utilization skew by over 4%.

At Ninjacart, we are motivated to find innovative ways to solve real-world problems that plague the Agri ecosystem in India. Our team of analysts, data scientists, and data engineers work closely with businesses to identify and crack these with algorithmic approaches. 

If you think you are passionate about such problems and possess the ability to solve them by applying analysis, AI & ML, do reach out to us at


Written by

Anuj Mittal
Jagrati Gogia
Shahin Fathima
Vignesh C V


Leave a Reply

Your email address will not be published. Required fields are marked *