January 21, 2019 | 02 min read
Share:
“Is the travelling salesman problem an NP-hard or an NP-easy problem?” our CEO asked one of the new R&D employees at Mobisy.
The non-techies, like me, maintained grave, intelligent expressions, pretending we knew what NP-hard meant.
But we actually probably looked like this.
The reason for his question was that being in the business of transforming the supply chain for consumer goods, the ‘travelling salesman’ is truly at the core of the $100Bn CPG Industry in India.
First posed in the 1800s, the ‘travelling salesman’ problem is still a favourite puzzle amongst developers and mathematicians. You can read about it here.
But why am I telling you about this? Because it’s FMCG’s biggest puzzle too which every brand, including yours, has been trying to solve at some level or other.
The Travelling Salesman in CPG
With thousands of outlets in a single city/town where one retail outlet caters to approximately 25 households, it’s always a balancing act to cover as many outlets as possible and service the top 10-20% of your key outlets which gives you up to 60% sales.
So how do you optimize your salesman’s time and effort to ensure that your products are visible and available in as many outlets as possible, ensuring the highest throughput possible.
I sat down with our in-house Data Scientist to get some gyaan on how this works. In between jargon like VRP and the knapsack problem, he managed to simplify it enough for laymen like me to understand and put it in the context of FMCG. So here’s my breakdown.
There are two parts to this problem: Beat Optimization & Delivery Optimization. To keep you from dozing off we’ll stick to just Beat Optimization for now.
Beat Optimization
Scenario: A city with 30,000 outlets
Quick Math Time
Daily outlets visited per sales rep: 45 (Industry average)
Total outlets covered in a week: 45*6=270
Assuming the brand has a weekly beat system
Total No. of sales reps: 30,000/270= 112. Let’s round it off to a nice-sounding number 125.
By using basic logic, one can prioritize outlets depending on sales and optimize this so that the crucial outlets are visited at least once a week. The rest are serviced fortnightly and monthly and so on.
But this has various limitations as the ASM assigning beats manually just cannot take into account multiple parameters and create the ideal beat plan which covers the most outlets in the shortest time while also achieving targets and not missing any key accounts.
(Spoiler: You can increase productivity by up to 40% by simply letting machines do what they’re good at.)
So here are some of the constraints that an algorithm can take into account to produce the most optimized beat plan.
Selection Criteria:
While all this sounds cool, how do we align this to a brand’s desired outcomes and strategic goals?
Well, depending on what your goals are, the beat plans can change dynamically. So depending on whether outlet growth is a priority, sales targets is a priority, or you’re looking at a mixture of both, the algorithm can churn out a beat plan most suited to your needs and ensure outcomes are met at a route level.
For eg., If you want a minimum of 30 outlets per beat and a minimum order value of Rs 10,000, then you would have a different route plan as opposed to if you wanted to concentrate on just reaching the maximum outlets in a new geography.
To know more about how Bizom’s retail intelligence platform helps you optimize your beats get in touch with us at marketing@bizom.in or book a demo with us.
Cookie | Duration | Description |
---|---|---|
cookielawinfo-checkbox-advertisement | 1 year | The cookie is set by GDPR cookie consent to record the user consent for the cookies in the category "Advertisement". |
cookielawinfo-checkbox-analytics | 11 months | This cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Analytics". |
cookielawinfo-checkbox-functional | 11 months | The cookie is set by GDPR cookie consent to record the user consent for the cookies in the category "Functional". |
cookielawinfo-checkbox-necessary | 11 months | This cookie is set by GDPR Cookie Consent plugin. The cookies is used to store the user consent for the cookies in the category "Necessary". |
cookielawinfo-checkbox-others | 11 months | This cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Other. |
cookielawinfo-checkbox-performance | 11 months | This cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Performance". |
elementor | never | This cookie is used by the website's WordPress theme. It allows the website owner to implement or change the website's content in real-time. |
viewed_cookie_policy | 11 months | The cookie is set by the GDPR Cookie Consent plugin and is used to store whether or not user has consented to the use of cookies. It does not store any personal data. |
Cookie | Duration | Description |
---|---|---|
collect_chat_launcher_load | 1 month | This cookie is set by the provider Collect.chat. This cookie is used for enabling the chat function on the website. |
collect_chat_page_load | 1 month | This cookie is set by the provider Collect.chat. This cookie is used for optimizing the chat-box functionality by recognising the user. |
Cookie | Duration | Description |
---|---|---|
_gat | 1 minute | This cookies is installed by Google Universal Analytics to throttle the request rate to limit the colllection of data on high traffic sites. |
Cookie | Duration | Description |
---|---|---|
CONSENT | 16 years 4 months 14 hours 16 minutes | These cookies are set via embedded youtube-videos. They register anonymous statistical data on for example how many times the video is displayed and what settings are used for playback.No sensitive data is collected unless you log in to your google account, in that case your choices are linked with your account, for example if you click “like” on a video. |
_ga | 2 years | This cookie is installed by Google Analytics. The cookie is used to calculate visitor, session, campaign data and keep track of site usage for the site's analytics report. The cookies store information anonymously and assign a randomly generated number to identify unique visitors. |
_gat_gtag_UA_34263932_3 | 1 minute | This cookie is set by Google and is used to distinguish users. |
_gid | 1 day | This cookie is installed by Google Analytics. The cookie is used to store information of how visitors use a website and helps in creating an analytics report of how the website is doing. The data collected including the number visitors, the source where they have come from, and the pages visted in an anonymous form. |
Cookie | Duration | Description |
---|---|---|
fr | 3 months | The cookie is set by Facebook to show relevant advertisments to the users and measure and improve the advertisements. The cookie also tracks the behavior of the user across the web on sites that have Facebook pixel or Facebook social plugin. |
IDE | 1 year 24 days | Used by Google DoubleClick and stores information about how the user uses the website and any other advertisement before visiting the website. This is used to present users with ads that are relevant to them according to the user profile. |
test_cookie | 15 minutes | This cookie is set by doubleclick.net. The purpose of the cookie is to determine if the user's browser supports cookies. |
VISITOR_INFO1_LIVE | 5 months 27 days | This cookie is set by Youtube. Used to track the information of the embedded YouTube videos on a website. |
YSC | session | This cookies is set by Youtube and is used to track the views of embedded videos. |
yt-remote-connected-devices | never | These cookies are set via embedded youtube-videos. |
yt-remote-device-id | never | These cookies are set via embedded youtube-videos. |
yt.innertube::nextId | never | These cookies are set via embedded youtube-videos. |
yt.innertube::requests | never | These cookies are set via embedded youtube-videos. |
_fbp | 3 months | This cookie is set by Facebook to deliver advertisement when they are on Facebook or a digital platform powered by Facebook advertising after visiting this website. |