In 2020, one of the initiatives I was working on at Bizongo B2B e-commerce, was to improve OTIF (On-Time In-Full).
OTIF is an important metric in e-commerce. Given the relative maturity of e-commerce space in India, while a high OTIF may not be a value proposition, a bad OTIF would certainly drive away customers.
Issue
Roughly, INR 2 cr worth of monthly orders were not delivered on-time and/or in-full. Given the size of the business, this was significant. This impacted customer experience, and we ran the risk of losing business.So, how did we approach this problem?
Note: Improving OTIF is a large problem space in e-commerce, with numerous variables, and approaches. The following is just one of many.
Problem space
Below is the high-level journey of an e-commerce order.
Here, S2B: Seller to Buyer, W2B: Warehouse to buyer
Note: For the sake of simplicity, I have ignored S2W2B.
Post order activities until dispatch is internal, either to us or the seller, depending on the type - warehouse to buyer or seller to buyer. If we take dispatch as the point of concern, there are 4 possible scenarios:
Incorrect dispatch, Incorrect delivery
Incorrect dispatch, Correct delivery
Correct dispatch, Incorrect delivery
Correct dispatch, Correct delivery
Incorrect - breach of timeline or breach of quantity
Correct - On-Time and In-Full
On analysing the data, we found the following:
Partial deliveries were made only in case of S2B orders. For the sake of simplicity, we will not consider S2B orders in this post.
Of the W2B breaches:
a. 70% were on-time dispatch, delayed delivery
b. 20% were delayed dispatch, delayed delivery
c. 10% were delayed dispatch, on-time delivery
While the delayed dispatches were reflective of internal issues, delayed delivery with on-time dispatches indicated external issues. Exploration into the time to ship(TAT) from a location A to a location B, showed:
TAT for any combination of 2 cities were static values coming from the DB
TATs in the DB showed high variation when compared to the ones given in the LOIs(contract) signed with the logistic partners.
For instance, TAT for inter-state(in the same region) was 3 days in the LOI, whereas TAT in the DB for Bengaluru(Karnataka in South region) to Trivandrum(Kerala in South region) was 2 days. This led to majority of case a(in few cases, delivery was lost)
10% were delayed dispatch, on-time delivery - This happened when we had too conservative estimates of the TAT in the DB i.e mentioning 5 days instead of 3. This too had a negative impact on business as customers would have preferred earlier delivery from a different seller.
PPE(Personal Protective Equipment) shipments took more time to package, something not taken into consideration while scheduling. This led to b.
So, to summarise the root causes:
64%(=80%(a+c) of 80% W2B) of OTIF breaches were due to inaccurate TATs
16%(20%(b) of 80% W2B) of OTIF breaches were due to higher number of days to package PPE products.
Let’s focus on 1.
Solution space
There were multiple ways to correct estimated TATs.
Get TATs based on LOIs into the database
Pro: Low effort in the short term
Con: Tough to maintain as TATs may change during peak seasonUse a 3rd party service to get TATs from
Pro: Automated solution - no maintenance required
Con: Very few partners are tech savvy enough to input and maintain their own TATs in any systemEstimate TATs based on the LOIs and past data
Pro: Automated solution, which learns on itself
Con: Cannot eliminate breaches completely, as self-learning would require a breach
We went with Solution 3 as it was automated, low maintenance and offered biggest impact in terms of providing the right estimates. Here are the details:
Delivery date = Dispatch date + TAT, where, TAT=max(LOI estimate, 90% percentile of last 5 deliveries). Let’s break it down:
LOI estimates:
Intracity: 1 day
Intercity: 2 days
Interstate: 3 days
Inter-region: 6 days
90% of last 5 deliveries is 2nd maximum of last 5 deliveries. This took care of revising the TATs upward due to any seasonality.
Q. Why not consider maximum of the last 5 deliveries?
Ans: Based on our simulation, this gave the best result, owing to anomalous cases, where delivery actually took way more time. We didn’t want such rare cases to dictate future delivery estimates.
Q. Why include LOI estimates?
Ans: Stakeholder management. To get the trust of the operations team, this was put in place to ensure TAT was never lower than the estimates on the LOI. This was supposed to be phased out in the future.
Impact
By providing correct estimates to the customer, we brought down the breaches by 50% in the 2nd month post launch, and much improved customer experience.