Engineering, DS, Risk Updates

July 13, 2025

Summary

  1. Zepto Pi3 is live for 90% of zepto traffic!
  2. 5% of the users are now seeing autopay again. This is a step towards enabling autopay back after resolving all the known bugs and doing a through QA.
  3. Enabled new Pi3 orchestrator for Myntra for 5% of the users. This is a step towards moving all SIKA merchants to the new orchestrator.
  4. New approval model live! There are two changes(a) We use thresholds of approval age based on MNRL database(b) New version of the model incorporates approval explicitly in its training
  5. We discovered a bug in our SMS fetch code which was leading us to lose some fraction of SMS data. The bug fix is in progress and should be live today (i.e. .Monday). This has not impacted the deployment of rules that use SMS data - those rules would be deployed in a few days.

Detailed updates

Zepto pi3 is live for 90% of zepto

It was live for 10% for past few weeks. Here is TPV of zepto Pi3 per day.

Zepto pi3 TPV has jumped to from like 4L a day to like 30L a day. 30L a day is like 9 cr a month - a handsome win. A lingering question - how much does Pi3 TPV cannibalize PL TPV? That is question we will consider next week.

Autopay progress

We had paused new autopay updates after discovering 2 bugs that caused us a loss of ~55L (though more than 50% of that has been recovered by now). The team worked on two areas since then. Firstly we did a thorough QA of the autopay system. No new bug was found a result of this QA. Secondly we did a three way reconciliation, between payments, TS and PGs. These three systems have their own view of how much a user has paid us: payments collects the money and emits some events when it thinks money has been collected. TS creates an entry in the ledger when it thinks a user has repaid us back. Finally PGs pay us the amount of money that they thing is rightly owned to us. With repayments, refunds, aborted transactions, there can be bugs so that these systems don't agree with each other. During this reconciliation we did uncover a bug (which was unrelated to autopay) and we are correcting that.

We are now starting autopay again. Specifically now 5% of the users can set up auto pay again. We will keep doing reconciliation and expand as we get confidence that there are no bugs.

Yatin wrote this document around how we are doing the reconciliation.

New Pi3 orchestrator progress

We finished the new Pi3 orchestrator a few weeks ago. It takes care of the earlier pain point such as persisting payment attempts. First we put one Pi3 merchant - Oziva on this orchestrator, and last week we have also put 5% of myntra traffic here.

Approval system progress

Approval system has seen rapid progress lately. This week there have been two improvements.

Firstly, we went live with approval model v6.2 which has two additional features. One is that it considers approval age (i.e. time diff between current approval call and first approval call) in training/inference. Second is that it considers approval age on specific merchants as a feature. We have noted a 1.5% difference in OOT AUC with these features which is a significant gain.

Secondly, we are incorporating MNRL (mobile number revocation list) data to estimate approval age more accurately.

Suspending EKYC requirement for upgrades

The construct of "Let's ask 50% of the users to do EKYC before getting them beyond 7500" was ill-designed. Such users only got one popup and if they dismissed that popup they were never prompted again. We have removed this experiment now. When we have designed a good construct for this then we will again do a test vs control and make a decision to go one way or the other.

This is leading to a larger number of credit upgrades on a daily basis, and will taper down in a few days.