Batch v6.2 is the successor model of batch v6.1. Quick notes
Two changes have gone live last week
Firstly, so far calling started on D8. Now, calling starts on D6.
Secondly, so far digital communication for collection (SMS, push, email, whatsapp, IVR, flash) was rule driven. Now we have made it model driven. And we are now live with this for 30% of the users in the DPD21-30 journey.
This is a deep RL model. This is the first time we are using a deep RL model at Simpl.
Quick recap - AARR (accrued amount payment required) - is a new concept we have introduced as a replacement to blocking. For a long time we had filters that block the users - blocked users can no longer transact with us. Then, beginning early 2025, many of the filters were put on "unblock on repayment" i.e. if the user repaid us back, then this was a signal enough that we should unblock the user. (Note that for some filters, even repayment is not a strong enough signal). Building on this functionality, we have now built AARR which has following functionality. When AARR is enabled then the user cannot do a transaction with Simpl. However, once they repay back their existing bill then they will be able to transact again. Now, we don't call these users as blocked - rather we say that they have AARR enabled.
Ok, so what's the big deal? Both with earlier "unblock on repayment" setup and current AARR enable and disable, user needs to repay the bill for their approval call to succeed. Differences are two fold. Firstly, on most merchants, user can repay the bill on the merchant app itself - their eligibility does not fail - they are taken to the repayment page. Secondly, since they are not blocked - nowhere in App, CRM etc will there be a mention that they are blocked. This will avoid confusion - that comes from seeing the number of blocks some which are unblock on repayments.
Coming to the work done this week, earlier AARR worked only with linked users. An AARR enabled user, could go through repayment on merchant page only if they were linked. Now, if they were not linked, then they are asked to link, and once linked, they are taken to repayment page. This was Chirag's last go-live project. We appreciate the efforts that he did even in the last week of his employment at Simpl (for now - he will come back after some quarters!) After this - a total of 4 filters are now using AARR.
Continuing problems regarding AARRManish and others in T&S team have pointed that there still two user experience to be resolved. Both our app homepage and repayment page say that bill is due by so and so date. So, there is incoherence - if bill is not due currently then why is Simpl asking for it right now?
Rule engine runs in real time and allocates PCL to users. Approval age based on MNRL data is now available to rule engine, and we have implemented rules that incorporate this.
After incorporation of the rules, the latency of rule engine increased. The team worked to bring it down quickly. I believe there is a lot of scope to do bring the rule engine latency drastically down (avg 40-50ms to like 20-30ms).
Following are the relevant tables:
| yellow_messenger.platform_analytics |
| yellow_messenger.leads |
| yellow_messenger.custom_analytics |
| yellow_messenger.conversations |
| yellow_messenger.chat_tickets |
| yellow_messenger.bot_tables |
| yellow_messenger.audit_logs |
Congrats to Nikhil Unavekar for his first project completion!
Once we were done with android 35 last week, we have now upgrade digio version in our android app. This will help reduce digio related crashes and reduce support tickets.
We (Vivek Bhardwaj specifically) spent around 2 weeks trying to have ensemble model - an ensemble of tree based batch v5 and DL based batch v6 - outperform our current approval model. We did not succeed. I still feel there has to be opportunity here. We look at this again once we have tried transformers for approval model.
In the last week's update, I reported that Repeat PI3 delinquency has risen significantly in last few months, and now it is above PL repeat delinquency. It was an incorrect observation. Thanks Harsha for looking into it. Repeat Pi3 delinq has indeed increased in last few months, but not significantly, and it remains below PL repeat delinquency.
Here are the revised DPD30 repeat numbers.
| Month | Pi3 | PL |
| Jan 2025 | 1.23% | 2.10% |
| Feb 2025 | 1.47% | 2.02% |
| Mar 2025 | 1.66% | 2.13% |
| Apr 2025 | 2.01% | 2.13% |
| May 2025 | 1.72% (not mature) | 2.23% |
So, Pi3 repeat delinq is better than PL repeat delinq.
Some login related improvements went live, but I did not spend time understand exactly what was done. Connect with Melron for details. Here is the relevant doc. Login success rates are on the upward path - perhaps hitting all time best on August 12. Thanks to all those who work on this and looking forward for more progress here.
Harsha wrote a doc on how credit limits works. Read it here.
Svelte migration has been very much delayed due to various reasons. Raksha says it will go live Aug 18.
Krishna estimates that we are paying around $100 per day across all our systems. With time it will increase as the cost seeps into our training and inferencing pipelines.
Increase is all explained by juspay calling us multiple times for zepto. They call us twice for PL and twice for Pi3. Once when user is early in checkout journey and other later. Himanshu had some idea for optimisation. He will talk to juspay.
SELECT SUBSTR(bucket_id, 6) AS date,
COUNT(CASE WHEN merchant_name = 'Zepto.' THEN 1 END) AS zepto,
COUNT(CASE WHEN merchant_name = 'Swiggy' THEN 1 END) AS swiggy,
COUNT(CASE WHEN merchant_name = 'Meesho' THEN 1 END) AS meesho,
COUNT(CASE WHEN merchant_name = 'Zomato' THEN 1 END) AS zomato,
COUNT(CASE WHEN merchant_name = 'blinkit' THEN 1 END) AS blinkit,
COUNT(CASE WHEN merchant_name = 'Apollo Pharmacy' THEN 1 END) AS apollo_pharmacy,
COUNT(CASE WHEN merchant_name = 'Astrotalk' THEN 1 END) AS astrotalk,
COUNT(CASE WHEN merchant_name = 'bigbasket' THEN 1 END) AS bigbasket,
COUNT(CASE WHEN merchant_name NOT IN ('Zepto.', 'Swiggy', 'Meesho', 'Zomato', 'blinkit', 'Apollo Pharmacy', 'Astrotalk', 'bigbasket') THEN 1 END) AS others
FROM public.user_approval_events
WHERE event_name IN (
'ZeroClickTransactionEligibilityFailedEvent',
'UserApprovedEvent',
'UserApprovalFailedEvent',
'ZeroClickTransactionEligibilitySuccessEvent')
AND bucket_id >= 'date_2025_06_01'
GROUP BY 1
ORDER BY 1
Last Thursday was Vijay and Chirag's last day at Simpl. They had contributed immensely to Simpl's technology. We wish them all the best.