Real-Time in the Real World:
Building a State of the Art Real-Time Analytics Platform
INFORMS Analytics Conference April 14th, 2015 Joe DeCosmo Chief Analytics Officer Enova International
Real-Time in the Real World: Building a State of the Art Real-Time - - PowerPoint PPT Presentation
Real-Time in the Real World: Building a State of the Art Real-Time Analytics Platform INFORMS Analytics Conference April 14 th , 2015 Joe DeCosmo Chief Analytics Officer Enova International We are a growing global online Lender Founded
INFORMS Analytics Conference April 14th, 2015 Joe DeCosmo Chief Analytics Officer Enova International
k k
Over $13 billion in credit extended to 3MM+ customers around the world
CAO Data Services BI Portfolio Analytics Fraud Marketing Analytics Research and Platforms
Our teams are responsible for protecting and growing the profitability of the company through data-driven decision-making
SAS R Python Matlab Wolfram/Mathematica Microstrategy SQL Pentaho Hadoop
→ 30K to 75K decisions
per hour, < 1 second response
data
5
Easy-to-complete identity, employment, income, payroll date, bank account information Multi-stage Screening to verify identity and prevent fraud Decisioning in 3 to 6 seconds, analytics system pulls data, determines credit worthiness, and presents an offer Advanced Analytics massive parallel processing of 100 algorithms, 1,000 variables, 10 years and 9 TB of customer behavior data
Accept agreements reviewed and signed online Funding via ACH by next business day in U.S., within 10 minutes to debit card in U.K. Multi-Channel Service U.S. based in-house service center 24/7 for assistance and payment Proprietary Systems tailored CRM system integrated with analytics engine and marketing channels
Modeler builds model offline in R, SAS, Python, etc Modeler translates model for engineering Specifications are routed to software engineer (via a project manager) Software engineer attempts to implement the specifications in the production system in scalable fashion Software engineer and modeler compare results of test records and debug
This process could take weeks or even months for a complex model !!
Instruction: “Take the log of the variable X1” Modelers Intent: Natural log of X1, if X1 < 0 then use a specified default value Software Engineer’s Implementation: Log Base 10 of X1. If X1<0, then language throws an error.
Variable Name Group Operation Coefficient Default A alpha mult 2.5 1.0 B alpha mult 1.7 4 Intercept alpha mult 4.3 4.3 alpha agg sum 1 1
Result = A * 2.5 + B * 1.7 + 4.3 If A is null, replace with 1.0 If B is null, replace with 4
system
system
reconciliation
how it worked!!
10
Beginning in Q3 2013, we set out to build a new real-time platform from the ground up … – Support for a wider variety of models, data sources, and variables – Ability to execute scoring code from multiple platforms – Greatly speed up the time from modeling to deployment – Analysts can deploy models without software engineering – Can be called by any Enova or external service and return a result – Can scale up to 500,000 model evaluations per hour
Requirements
Q3 2013
Selection
Q4 2013
build
Q1 2014
Q2 2014
LIVE!!! Q3 2014
We took two finalists into a paid pilot project and made our final decision based on the results of the pilot
14
Application 1 Application 2 Application n
response JSON request
COLOSSUS
EnovaModelEvaluate
EnovaModelApply Model is applied to clean-key-value rules DefaultVariableCheckAndFill Variable exception checks are run, clean key value rules are prepared EnovaConditionalModelSelector Model selection based on raw key- value rules
Request translated into readable key-value rules Results including detailed variable handling information is converted back to JSON
We’re rolling out to all of our lines of business now and improving the variable fetching and storage to drive response time even lower
16
1. Meet the partners’ implementation teams 2. Invest in a paid pilot 3. Provide live use cases, example data, and unit tests at the very beginning 4. Define and enforce common architecture, vocabulary, and documentation 5. Plan for repairs
Joe DeCosmo Chief Analytics Officer jdecosmo@enova.com 200 West Jackson Blvd. Chicago, IL 60606 Tel 312.800.4390