Siddhartha Khanooja

Apple Card credit and fraud decisioning

The production decision layer behind every Apple Card application, at Goldman Sachs.

The decision layer

I was an Associate at Goldman Sachs from December 2022 to March 2024, working on Apple Card.

I implemented the credit and fraud strategies that decided every application, as final owner of the production decision layer. Every approval, decline and referral came out of rules I had put there. The work was projected at $65M of impact over ten years.

What ran in it

I deployed the fraud and delinquency machine learning models into that layer through SageMaker, with an offline Python fallback so that decisions still had a defined path when scoring was unavailable. Credit loss fell 15%, worth $25M over five years.

I delivered the APR band redesign agreed with Apple and Goldman managing directors, which returned $5M net over three years, and built the pre-order credit strategy for Apple New Product Days, worth $5M annually.

Forty-eight hours

The Risk Committee, which reports to the Board, directed a policy change. It was live in under 48 hours.

The number is short because the surrounding conditions are strict rather than because the change was small. The decision layer is always running, so there is no window in which it can be taken down and reasoned about. Every version is answering real applications from real people, which rules out trying a change to see what happens. And a credit decision cannot be quietly corrected later: someone has already been approved or declined, and the record of it persists.

Working at that pace means the change has to be right on the first deployment, which is a property of the testing and review around it rather than of how fast anyone types.

The same problem, later

I now build AI products for trading, and the constraint has not changed.

An automated system produces the decision. A person remains accountable for it. The wrong output costs real money and cannot be taken back. Whether the output is a declined application or a wrong leg in a live option order, the design question is the same one: what does the system do when it is not sure, and how would anyone find out.