When I joined Uber’s risk team in 2014, Uber was experiencing hypergrowth. The growth also brought fraud challenges, especially given the lucrative rider promotions and driver incentives. My first project was building a rules engine called Mastermind to fight fraud, which enabled risk analysts to build and roll out rules without the help of engineers.
When Ming joined the risk team in 2016, there was a need to use Mastermind at dispatch time — when drivers and riders are matched. However, dispatch is the most critical system of Uber, and it has a much bigger scale than previous use cases while having a very stringent latency requirement. Ming did enormous optimizations for Mastermind, which enabled this new use case and brought down fraud significantly. Mastermind is now used by hundreds of analysts and ops, and it makes real-time decisions throughout hundreds of user touchpoints.
I spent my last year at Uber working on a lending product, which also made use of Mastermind for underwriting. Then I joined a credit card startup and I found this product also needed a rules engine to manage fraud, credit, and compliance risks, but the startup didn’t have the resources like Uber to build one in-house. What’s more, explainability is important for fintech companies so that they can show regulators how decisions are made. It became apparent to me that there was a need for a rules engine as a service.
I immediately thought of Ming, who was working at Google leading the Cloud AI Feature Store. Ming and I had been discussing a few startup ideas in recent years so I knew he would be the right one. I called Ming on a Saturday night and he was intrigued! We did a quick search on the Latin word of rule and stumbled upon Sperta. It means `expert`. Luckily, sperta.com was also available. Sperta was born!
The current rules engine offerings all tout a no-code UI to build rules with a few mouse clicks. For us, this seems very limited when the rule logic gets more complicated. Our target users are analysts and data scientists, who already know SQL. So we decided to build an expression language with similar syntax to SQL. We had great success with this approach in Mastermind. It made it possible for analysts to onboard in just one week.
Rules won’t perform well if they are not tested. What’s worse, rules are so powerful that high false positives can kill growth. We are keenly aware of this. That’s why we are enabling rule unit tests for sanity checks, backtesting for measuring the rule performance, and percentage rollout for safely applying rule changes.
To solve our customers’ end-to-end needs, we are building a risk decision platform with the rules engine at its core. Sperta also integrates with data vendors, and it even allows analysts to transform features obtained from these vendors. Customers can bring their own models too, and Sperta provides a clean interface for integration. If decisions can’t be made automatically, the cases can be sent to Sperta’s case management tool.
While models give us probabilistic predictions, rules give us explainable decisions and deterministic actions. We can't wait to help the internet make better decisions faster!
Experiments help you test workflow versions on the live traffic to find the best-performing version.
Backtesting lets you test a new workflow version against historical data to gain more confidence before putting it into production.