SlideShare ist ein Scribd-Unternehmen logo
1 von 18
© 2016. Capital One Bank - All Rights Reserved.
Loan Decisioning Transformation
Project IDEAL
(Intelligent Decisioning Engine for Auto Lending)
Fred Crable, Director, Software Engineering
Fredrick.Crable@CapitalOne.com
2© 2016. Capital One Bank - All Rights Reserved.
About Capital One
• A leading diversified bank
– One of the largest Credit Card companies
– Top 10 bank in US
– Nation’s largest digital bank
– 3rd largest independent auto loan provider in US
– Largest consumer and commercial banking institution
headquartered in the Washington, DC region
• Major operations in 15 US cities, Canada,
UK
• More than 70 million customer accounts
• Business & Leadership
– Ranked #127 on the Fortune 500
– Ranked #128 on Forbes
“Most Reputable Companies” list
– Listed on The Financial Times “Global 500” (#278)
– Ranked Training magazine's “Top 125” companies for
employer-sponsored workforce training and
development
2
3Confidential
Loan Decisioning
4Confidential
Pull Credit
• Equifax
• Transunion
• Experian
Lexis Nexis
*Analytic
Models
• Customer
FICO, Debt
• Collateral
Loan to Value
• Back/Front-
End
• Pricing Tiers
*Policy Engine
• Max $
Financed
• Tiers
• Limits
• Fees
• Exceptions
Pick Best
• Cash Down
• Sales Price
• Warranty
• APR
IDEAL - Fast Data Use Case
*Run 1000’s in Parallel and pick the best
5© 2016. Capital One Bank - All Rights Reserved.
Big Data Use Case 1 – Analyze and Adjust
• Customer
• CollateralApplication
• Credit Report
• Driver
Variables
Credit
• In/Out of
Policy
• Offers
• Scores
Model /
Policy
• Accept / Reject
• APR, Finance
Amount...
Outcome
• Adjust
• AvoidAnalyze
Refit/Test
6© 2016. Capital One Bank - All Rights Reserved.
Big Data Use Case #2 – Inventory Search & Scoring
•Inventory
•Book ValueSearch
•Model Scoring
•Policy Checks
Model /
Policy
•In/Out of
Policy
•APR, Finance
Amount...
Outcome
7© 2016. Capital One Bank - All Rights Reserved.
Our Implementation over AKKA
• A system that loads a set of services and uses these services in order specified
– Operations can run in parallel or in sequence ( if they have dependencies )
• The sequence of operations and order of operations are configuration driven
• The initial operation is evaluated and the result set tested to continue
• System takes input from Queue or API and kicks-off the sequence
• Operation chains can be expressed as data condition tests or model/mathematical
operations (expressed as configuration yaml or json)
8© 2016. Capital One Bank - All Rights Reserved.
Open Source Scoring Platform with Basic Decisioning Workflow
• Runs 10s of thousands of models per second on
a single server (4 cores).
• This will scale out with more cores or servers. As
they are added this number increases.
• We can add additional actor systems for other
asynchronous activities (e.g. Bureaus or external
data sources)
9© 2016. Capital One Bank - All Rights Reserved.
AKKA basics
• AKKA helps implement parallel computing easier. Through Actor model.
• AKKA helps to implement distributed parallel computing easier.
• Develop code as actor and message handling – (Loosely a java thread).
10Confidential
Using an Actor (Java)
public class Calculator implements Receiver {
LoggingAdapter log = Logging.getLogger(TypedActor.context().system(), this);
public void onReceive(Object msg, ActorRef actor) {
log.info("Received Message Q> {}", msg);
}
}
//Get access to the ActorRef
ActorRef calActor =
TypedActor.get(_system).getActorRefFor(calculator);
//pass message
calActor.tell("Hi'there");
11© 2016. Capital One Bank - All Rights Reserved.
Actor Flow Development – JSON Defined Workflow
API
Initiates / Blocks
Parallel
Operation
Group 1 Element 1
Parallel
Operation
Group 1 Element 2
Parallel
Operation
Group 1 Element 3
Serial
Operation
Group 2 Element 1
Serial
Operation
Group 2 Element 2
Message
Handler
Supervisor
{
"actorSystemName": ”SimpleSystem",
"context": {
"type": "Define",
"supervision": "Escalate",
"router": "RandomPool",
"lowerCount": 1,
"upperCount": 1,
"childrenMode": "Sequential”
},
"messageHandler": [
{
"name": "MessageHandler1",
"desc": "MessageHandler1",
"clazz": ”Class1",
"group": [
{
"name": "g1",
"desc": "g1",
"order": 1,
"context": {
"type": "Inherit",
"childrenMode": ”Parallel"
},
"element": [
{
"id": 1,
"name": "group1-element1",
"desc": ”first actor in sequence",
"order": 1,
"clazz": [
”MessageInput"
],
"bean": ”Class1Bean"
}
interface Class1Bean <MessageInput, MessageOutput>
extends ServiceInterface {
…
public MessageOutput execute(MessageInput M1)
12© 2016. Capital One Bank - All Rights Reserved.
Actor Workflow Supervisor Pattern
13© 2016. Capital One Bank - All Rights Reserved.
Supervisor Actor Patterns
14© 2016. Capital One Bank - All Rights Reserved.
Actor Workflow Mechanics – Operation and Service Definition
"messageHandler": [
{
"name": "ApplicationScoringService",
"desc": "ApplicationScoringService",
"clazz": "com.capitalone.auto.lo.business.Application",
"context": {
"group": [
{
"name": "ideal",
"desc": "ideal credit pull and decisioning workflow",
"order": 1,
"context": {
"childrenMode": "Sequential",
"carryoverRequest": "true"
},
"element": [
{
"name": "dataService",
"desc": ”get credit data and alternate data",
"clazz": [ "CurrentMessage" ],
"bean": ”DataService"
},
on receive
Handler
Bean
Output
Rules
Define service
Bean and
relative order of
execution
15© 2016. Capital One Bank - All Rights Reserved.
Actor Workflow Mechanics – Conditional Rules
"conditions": [
{
"id": 1,
"name": "Exception",
"reference": "any executionElementId",
"watch": {
"values": ["throws java.lang.Exception”]
}
},
{
"id": 2,
"name": "PrescoreResponse",
"reference": "executionElementId:1.1.1",
"watch": {
"values":
["com.capitalone.auto.lo.response.PreScoreResponse[getAppDecision notEquals A]"]
}
},
on receive
Handler
Bean
Output
Rules
Define service
Bean and
relative order of
execution
16© 2016. Capital One Bank - All Rights Reserved.
Actor Workflow Mechanics – Conditional Flow
"consequences": [
{
"id": 1,
"order": 1,
"name": "Exception",
"action": {
"whenMatched": [ "Exception”],
"thenGoto": "executionElementId:1.3.1"
}
},
{
"id": 2,
"order": 2,
"name": "PreScoreDecline",
"action": {
"whenMatched": [”ModelScoringResponse"],
"thenGoto": "executionElementId:1.2.1"
}
},
on receive
Handler
Bean
Output
Rules
Define service
Bean and
relative order of
execution
17© 2016. Capital One Bank - All Rights Reserved.
Decisioning Workflow
18© 2016. Capital One Bank - All Rights Reserved.
Best Practices
• Plan out your logging strategy with MDC (thread local variable) and use
tools like Splunk
• Identify actors like a person, with state and identity
• Limit granularity of fan-out or scatter-gather operations
• Make sure all actors have the data they need to do their jobs w/o calling
external resources
• Make sure actor operations are idempotent
• Take checkpoints and use AKKA persistence where applicable

Weitere ähnliche Inhalte

Andere mochten auch

Building and managing complex dependencies pipeline using Apache Oozie
Building and managing complex dependencies pipeline using Apache OozieBuilding and managing complex dependencies pipeline using Apache Oozie
Building and managing complex dependencies pipeline using Apache OozieDataWorks Summit/Hadoop Summit
 
Solving Performance Problems on Hadoop
Solving Performance Problems on HadoopSolving Performance Problems on Hadoop
Solving Performance Problems on HadoopTyler Mitchell
 
Deconstructiong Recommendations on Spark-(Ilya Ganelin, Capital One)
Deconstructiong Recommendations on Spark-(Ilya Ganelin, Capital One)Deconstructiong Recommendations on Spark-(Ilya Ganelin, Capital One)
Deconstructiong Recommendations on Spark-(Ilya Ganelin, Capital One)Spark Summit
 
The Transformation Underway in FinTech Lending
The Transformation Underway in FinTech LendingThe Transformation Underway in FinTech Lending
The Transformation Underway in FinTech LendingDushyant Shahrawat, CFA
 
Scalable Machine Learning Pipeline For Meta Data Discovery From eBay Listings
Scalable Machine Learning Pipeline For Meta Data Discovery From eBay ListingsScalable Machine Learning Pipeline For Meta Data Discovery From eBay Listings
Scalable Machine Learning Pipeline For Meta Data Discovery From eBay ListingsSpark Summit
 
The Columnar Era: Leveraging Parquet, Arrow and Kudu for High-Performance Ana...
The Columnar Era: Leveraging Parquet, Arrow and Kudu for High-Performance Ana...The Columnar Era: Leveraging Parquet, Arrow and Kudu for High-Performance Ana...
The Columnar Era: Leveraging Parquet, Arrow and Kudu for High-Performance Ana...DataWorks Summit/Hadoop Summit
 
Apache hadoop bigdata-in-banking
Apache hadoop bigdata-in-bankingApache hadoop bigdata-in-banking
Apache hadoop bigdata-in-bankingm_hepburn
 
Build a predictive analytics model on a terabyte of data within hours
Build a predictive analytics model on a terabyte of data within hoursBuild a predictive analytics model on a terabyte of data within hours
Build a predictive analytics model on a terabyte of data within hoursDataWorks Summit
 
LLAP: long-lived execution in Hive
LLAP: long-lived execution in HiveLLAP: long-lived execution in Hive
LLAP: long-lived execution in HiveDataWorks Summit
 
Appraiser: How Airbnb Generates Complex Models in Spark for Demand Prediction...
Appraiser: How Airbnb Generates Complex Models in Spark for Demand Prediction...Appraiser: How Airbnb Generates Complex Models in Spark for Demand Prediction...
Appraiser: How Airbnb Generates Complex Models in Spark for Demand Prediction...Spark Summit
 

Andere mochten auch (20)

High-Scale Entity Resolution in Hadoop
High-Scale Entity Resolution in HadoopHigh-Scale Entity Resolution in Hadoop
High-Scale Entity Resolution in Hadoop
 
Building and managing complex dependencies pipeline using Apache Oozie
Building and managing complex dependencies pipeline using Apache OozieBuilding and managing complex dependencies pipeline using Apache Oozie
Building and managing complex dependencies pipeline using Apache Oozie
 
Solving Performance Problems on Hadoop
Solving Performance Problems on HadoopSolving Performance Problems on Hadoop
Solving Performance Problems on Hadoop
 
Apache Hive 2.0: SQL, Speed, Scale
Apache Hive 2.0: SQL, Speed, ScaleApache Hive 2.0: SQL, Speed, Scale
Apache Hive 2.0: SQL, Speed, Scale
 
H20: A platform for big math
H20: A platform for big math H20: A platform for big math
H20: A platform for big math
 
Beyond TCO
Beyond TCOBeyond TCO
Beyond TCO
 
Deconstructiong Recommendations on Spark-(Ilya Ganelin, Capital One)
Deconstructiong Recommendations on Spark-(Ilya Ganelin, Capital One)Deconstructiong Recommendations on Spark-(Ilya Ganelin, Capital One)
Deconstructiong Recommendations on Spark-(Ilya Ganelin, Capital One)
 
Solving Big Data Problems using Hortonworks
Solving Big Data Problems using Hortonworks Solving Big Data Problems using Hortonworks
Solving Big Data Problems using Hortonworks
 
The Transformation Underway in FinTech Lending
The Transformation Underway in FinTech LendingThe Transformation Underway in FinTech Lending
The Transformation Underway in FinTech Lending
 
Scalable Machine Learning Pipeline For Meta Data Discovery From eBay Listings
Scalable Machine Learning Pipeline For Meta Data Discovery From eBay ListingsScalable Machine Learning Pipeline For Meta Data Discovery From eBay Listings
Scalable Machine Learning Pipeline For Meta Data Discovery From eBay Listings
 
The Columnar Era: Leveraging Parquet, Arrow and Kudu for High-Performance Ana...
The Columnar Era: Leveraging Parquet, Arrow and Kudu for High-Performance Ana...The Columnar Era: Leveraging Parquet, Arrow and Kudu for High-Performance Ana...
The Columnar Era: Leveraging Parquet, Arrow and Kudu for High-Performance Ana...
 
Active Learning for Fraud Prevention
Active Learning for Fraud PreventionActive Learning for Fraud Prevention
Active Learning for Fraud Prevention
 
SQL and Search with Spark in your browser
SQL and Search with Spark in your browserSQL and Search with Spark in your browser
SQL and Search with Spark in your browser
 
Apache hadoop bigdata-in-banking
Apache hadoop bigdata-in-bankingApache hadoop bigdata-in-banking
Apache hadoop bigdata-in-banking
 
Build a predictive analytics model on a terabyte of data within hours
Build a predictive analytics model on a terabyte of data within hoursBuild a predictive analytics model on a terabyte of data within hours
Build a predictive analytics model on a terabyte of data within hours
 
LLAP: Sub-Second Analytical Queries in Hive
LLAP: Sub-Second Analytical Queries in HiveLLAP: Sub-Second Analytical Queries in Hive
LLAP: Sub-Second Analytical Queries in Hive
 
LLAP: long-lived execution in Hive
LLAP: long-lived execution in HiveLLAP: long-lived execution in Hive
LLAP: long-lived execution in Hive
 
Appraiser: How Airbnb Generates Complex Models in Spark for Demand Prediction...
Appraiser: How Airbnb Generates Complex Models in Spark for Demand Prediction...Appraiser: How Airbnb Generates Complex Models in Spark for Demand Prediction...
Appraiser: How Airbnb Generates Complex Models in Spark for Demand Prediction...
 
Analysis of Major Trends in Big Data Analytics
Analysis of Major Trends in Big Data AnalyticsAnalysis of Major Trends in Big Data Analytics
Analysis of Major Trends in Big Data Analytics
 
File Format Benchmark - Avro, JSON, ORC & Parquet
File Format Benchmark - Avro, JSON, ORC & ParquetFile Format Benchmark - Avro, JSON, ORC & Parquet
File Format Benchmark - Avro, JSON, ORC & Parquet
 

Ähnlich wie Loan Decisioning Transformation

Ähnlich wie Loan Decisioning Transformation (20)

Shanish_SQL_PLSQL_Profile
Shanish_SQL_PLSQL_ProfileShanish_SQL_PLSQL_Profile
Shanish_SQL_PLSQL_Profile
 
IOOF IT System Modernisation
IOOF IT System ModernisationIOOF IT System Modernisation
IOOF IT System Modernisation
 
Resume-Manish_Agrahari_IBM_BPM
Resume-Manish_Agrahari_IBM_BPMResume-Manish_Agrahari_IBM_BPM
Resume-Manish_Agrahari_IBM_BPM
 
amitabh.g
amitabh.gamitabh.g
amitabh.g
 
Updated resume
Updated resumeUpdated resume
Updated resume
 
Shriraam-performance test engineer 5.4 years
Shriraam-performance test engineer 5.4 yearsShriraam-performance test engineer 5.4 years
Shriraam-performance test engineer 5.4 years
 
Updated resume
Updated resumeUpdated resume
Updated resume
 
Ojas it services
Ojas it servicesOjas it services
Ojas it services
 
AbdulRasoolShaik_Pega_LSA
AbdulRasoolShaik_Pega_LSAAbdulRasoolShaik_Pega_LSA
AbdulRasoolShaik_Pega_LSA
 
Rani_Shinde_Resume
Rani_Shinde_ResumeRani_Shinde_Resume
Rani_Shinde_Resume
 
Business Applications of Predictive Modeling at Scale - KDD 2016 Tutorial
Business Applications of Predictive Modeling at Scale - KDD 2016 TutorialBusiness Applications of Predictive Modeling at Scale - KDD 2016 Tutorial
Business Applications of Predictive Modeling at Scale - KDD 2016 Tutorial
 
Umashankar_K_CV_Updated
Umashankar_K_CV_UpdatedUmashankar_K_CV_Updated
Umashankar_K_CV_Updated
 
IBM Rational HATS Overview 2013
IBM Rational HATS Overview 2013IBM Rational HATS Overview 2013
IBM Rational HATS Overview 2013
 
mayank_unix_sql_Jboss
mayank_unix_sql_Jbossmayank_unix_sql_Jboss
mayank_unix_sql_Jboss
 
Resume - Santosh B
Resume - Santosh BResume - Santosh B
Resume - Santosh B
 
Recruiting for Drupal #Hiring
Recruiting for Drupal #HiringRecruiting for Drupal #Hiring
Recruiting for Drupal #Hiring
 
Are API Services Taking Over All the Interesting Data Science Problems?
Are API Services Taking Over All the Interesting Data Science Problems?Are API Services Taking Over All the Interesting Data Science Problems?
Are API Services Taking Over All the Interesting Data Science Problems?
 
IbrahimAYussif_Resume
IbrahimAYussif_ResumeIbrahimAYussif_Resume
IbrahimAYussif_Resume
 
ashishtripathi
ashishtripathiashishtripathi
ashishtripathi
 
Chand_chanu
Chand_chanuChand_chanu
Chand_chanu
 

Mehr von DataWorks Summit/Hadoop Summit

Unleashing the Power of Apache Atlas with Apache Ranger
Unleashing the Power of Apache Atlas with Apache RangerUnleashing the Power of Apache Atlas with Apache Ranger
Unleashing the Power of Apache Atlas with Apache RangerDataWorks Summit/Hadoop Summit
 
Enabling Digital Diagnostics with a Data Science Platform
Enabling Digital Diagnostics with a Data Science PlatformEnabling Digital Diagnostics with a Data Science Platform
Enabling Digital Diagnostics with a Data Science PlatformDataWorks Summit/Hadoop Summit
 
Double Your Hadoop Performance with Hortonworks SmartSense
Double Your Hadoop Performance with Hortonworks SmartSenseDouble Your Hadoop Performance with Hortonworks SmartSense
Double Your Hadoop Performance with Hortonworks SmartSenseDataWorks Summit/Hadoop Summit
 
Building a Large-Scale, Adaptive Recommendation Engine with Apache Flink and ...
Building a Large-Scale, Adaptive Recommendation Engine with Apache Flink and ...Building a Large-Scale, Adaptive Recommendation Engine with Apache Flink and ...
Building a Large-Scale, Adaptive Recommendation Engine with Apache Flink and ...DataWorks Summit/Hadoop Summit
 
Real-Time Anomaly Detection using LSTM Auto-Encoders with Deep Learning4J on ...
Real-Time Anomaly Detection using LSTM Auto-Encoders with Deep Learning4J on ...Real-Time Anomaly Detection using LSTM Auto-Encoders with Deep Learning4J on ...
Real-Time Anomaly Detection using LSTM Auto-Encoders with Deep Learning4J on ...DataWorks Summit/Hadoop Summit
 
Mool - Automated Log Analysis using Data Science and ML
Mool - Automated Log Analysis using Data Science and MLMool - Automated Log Analysis using Data Science and ML
Mool - Automated Log Analysis using Data Science and MLDataWorks Summit/Hadoop Summit
 
The Challenge of Driving Business Value from the Analytics of Things (AOT)
The Challenge of Driving Business Value from the Analytics of Things (AOT)The Challenge of Driving Business Value from the Analytics of Things (AOT)
The Challenge of Driving Business Value from the Analytics of Things (AOT)DataWorks Summit/Hadoop Summit
 
From Regulatory Process Verification to Predictive Maintenance and Beyond wit...
From Regulatory Process Verification to Predictive Maintenance and Beyond wit...From Regulatory Process Verification to Predictive Maintenance and Beyond wit...
From Regulatory Process Verification to Predictive Maintenance and Beyond wit...DataWorks Summit/Hadoop Summit
 

Mehr von DataWorks Summit/Hadoop Summit (20)

Running Apache Spark & Apache Zeppelin in Production
Running Apache Spark & Apache Zeppelin in ProductionRunning Apache Spark & Apache Zeppelin in Production
Running Apache Spark & Apache Zeppelin in Production
 
State of Security: Apache Spark & Apache Zeppelin
State of Security: Apache Spark & Apache ZeppelinState of Security: Apache Spark & Apache Zeppelin
State of Security: Apache Spark & Apache Zeppelin
 
Unleashing the Power of Apache Atlas with Apache Ranger
Unleashing the Power of Apache Atlas with Apache RangerUnleashing the Power of Apache Atlas with Apache Ranger
Unleashing the Power of Apache Atlas with Apache Ranger
 
Enabling Digital Diagnostics with a Data Science Platform
Enabling Digital Diagnostics with a Data Science PlatformEnabling Digital Diagnostics with a Data Science Platform
Enabling Digital Diagnostics with a Data Science Platform
 
Revolutionize Text Mining with Spark and Zeppelin
Revolutionize Text Mining with Spark and ZeppelinRevolutionize Text Mining with Spark and Zeppelin
Revolutionize Text Mining with Spark and Zeppelin
 
Double Your Hadoop Performance with Hortonworks SmartSense
Double Your Hadoop Performance with Hortonworks SmartSenseDouble Your Hadoop Performance with Hortonworks SmartSense
Double Your Hadoop Performance with Hortonworks SmartSense
 
Hadoop Crash Course
Hadoop Crash CourseHadoop Crash Course
Hadoop Crash Course
 
Data Science Crash Course
Data Science Crash CourseData Science Crash Course
Data Science Crash Course
 
Apache Spark Crash Course
Apache Spark Crash CourseApache Spark Crash Course
Apache Spark Crash Course
 
Dataflow with Apache NiFi
Dataflow with Apache NiFiDataflow with Apache NiFi
Dataflow with Apache NiFi
 
Schema Registry - Set you Data Free
Schema Registry - Set you Data FreeSchema Registry - Set you Data Free
Schema Registry - Set you Data Free
 
Building a Large-Scale, Adaptive Recommendation Engine with Apache Flink and ...
Building a Large-Scale, Adaptive Recommendation Engine with Apache Flink and ...Building a Large-Scale, Adaptive Recommendation Engine with Apache Flink and ...
Building a Large-Scale, Adaptive Recommendation Engine with Apache Flink and ...
 
Real-Time Anomaly Detection using LSTM Auto-Encoders with Deep Learning4J on ...
Real-Time Anomaly Detection using LSTM Auto-Encoders with Deep Learning4J on ...Real-Time Anomaly Detection using LSTM Auto-Encoders with Deep Learning4J on ...
Real-Time Anomaly Detection using LSTM Auto-Encoders with Deep Learning4J on ...
 
Mool - Automated Log Analysis using Data Science and ML
Mool - Automated Log Analysis using Data Science and MLMool - Automated Log Analysis using Data Science and ML
Mool - Automated Log Analysis using Data Science and ML
 
How Hadoop Makes the Natixis Pack More Efficient
How Hadoop Makes the Natixis Pack More Efficient How Hadoop Makes the Natixis Pack More Efficient
How Hadoop Makes the Natixis Pack More Efficient
 
HBase in Practice
HBase in Practice HBase in Practice
HBase in Practice
 
The Challenge of Driving Business Value from the Analytics of Things (AOT)
The Challenge of Driving Business Value from the Analytics of Things (AOT)The Challenge of Driving Business Value from the Analytics of Things (AOT)
The Challenge of Driving Business Value from the Analytics of Things (AOT)
 
Breaking the 1 Million OPS/SEC Barrier in HOPS Hadoop
Breaking the 1 Million OPS/SEC Barrier in HOPS HadoopBreaking the 1 Million OPS/SEC Barrier in HOPS Hadoop
Breaking the 1 Million OPS/SEC Barrier in HOPS Hadoop
 
From Regulatory Process Verification to Predictive Maintenance and Beyond wit...
From Regulatory Process Verification to Predictive Maintenance and Beyond wit...From Regulatory Process Verification to Predictive Maintenance and Beyond wit...
From Regulatory Process Verification to Predictive Maintenance and Beyond wit...
 
Backup and Disaster Recovery in Hadoop
Backup and Disaster Recovery in Hadoop Backup and Disaster Recovery in Hadoop
Backup and Disaster Recovery in Hadoop
 

Kürzlich hochgeladen

Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...apidays
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...apidays
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Victor Rentea
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodJuan lago vázquez
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Zilliz
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelDeepika Singh
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businesspanagenda
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native ApplicationsWSO2
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Angeliki Cooney
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Jeffrey Haguewood
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...apidays
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Orbitshub
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxRustici Software
 

Kürzlich hochgeladen (20)

Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering Developers
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 

Loan Decisioning Transformation

  • 1. © 2016. Capital One Bank - All Rights Reserved. Loan Decisioning Transformation Project IDEAL (Intelligent Decisioning Engine for Auto Lending) Fred Crable, Director, Software Engineering Fredrick.Crable@CapitalOne.com
  • 2. 2© 2016. Capital One Bank - All Rights Reserved. About Capital One • A leading diversified bank – One of the largest Credit Card companies – Top 10 bank in US – Nation’s largest digital bank – 3rd largest independent auto loan provider in US – Largest consumer and commercial banking institution headquartered in the Washington, DC region • Major operations in 15 US cities, Canada, UK • More than 70 million customer accounts • Business & Leadership – Ranked #127 on the Fortune 500 – Ranked #128 on Forbes “Most Reputable Companies” list – Listed on The Financial Times “Global 500” (#278) – Ranked Training magazine's “Top 125” companies for employer-sponsored workforce training and development 2
  • 4. 4Confidential Pull Credit • Equifax • Transunion • Experian Lexis Nexis *Analytic Models • Customer FICO, Debt • Collateral Loan to Value • Back/Front- End • Pricing Tiers *Policy Engine • Max $ Financed • Tiers • Limits • Fees • Exceptions Pick Best • Cash Down • Sales Price • Warranty • APR IDEAL - Fast Data Use Case *Run 1000’s in Parallel and pick the best
  • 5. 5© 2016. Capital One Bank - All Rights Reserved. Big Data Use Case 1 – Analyze and Adjust • Customer • CollateralApplication • Credit Report • Driver Variables Credit • In/Out of Policy • Offers • Scores Model / Policy • Accept / Reject • APR, Finance Amount... Outcome • Adjust • AvoidAnalyze Refit/Test
  • 6. 6© 2016. Capital One Bank - All Rights Reserved. Big Data Use Case #2 – Inventory Search & Scoring •Inventory •Book ValueSearch •Model Scoring •Policy Checks Model / Policy •In/Out of Policy •APR, Finance Amount... Outcome
  • 7. 7© 2016. Capital One Bank - All Rights Reserved. Our Implementation over AKKA • A system that loads a set of services and uses these services in order specified – Operations can run in parallel or in sequence ( if they have dependencies ) • The sequence of operations and order of operations are configuration driven • The initial operation is evaluated and the result set tested to continue • System takes input from Queue or API and kicks-off the sequence • Operation chains can be expressed as data condition tests or model/mathematical operations (expressed as configuration yaml or json)
  • 8. 8© 2016. Capital One Bank - All Rights Reserved. Open Source Scoring Platform with Basic Decisioning Workflow • Runs 10s of thousands of models per second on a single server (4 cores). • This will scale out with more cores or servers. As they are added this number increases. • We can add additional actor systems for other asynchronous activities (e.g. Bureaus or external data sources)
  • 9. 9© 2016. Capital One Bank - All Rights Reserved. AKKA basics • AKKA helps implement parallel computing easier. Through Actor model. • AKKA helps to implement distributed parallel computing easier. • Develop code as actor and message handling – (Loosely a java thread).
  • 10. 10Confidential Using an Actor (Java) public class Calculator implements Receiver { LoggingAdapter log = Logging.getLogger(TypedActor.context().system(), this); public void onReceive(Object msg, ActorRef actor) { log.info("Received Message Q> {}", msg); } } //Get access to the ActorRef ActorRef calActor = TypedActor.get(_system).getActorRefFor(calculator); //pass message calActor.tell("Hi'there");
  • 11. 11© 2016. Capital One Bank - All Rights Reserved. Actor Flow Development – JSON Defined Workflow API Initiates / Blocks Parallel Operation Group 1 Element 1 Parallel Operation Group 1 Element 2 Parallel Operation Group 1 Element 3 Serial Operation Group 2 Element 1 Serial Operation Group 2 Element 2 Message Handler Supervisor { "actorSystemName": ”SimpleSystem", "context": { "type": "Define", "supervision": "Escalate", "router": "RandomPool", "lowerCount": 1, "upperCount": 1, "childrenMode": "Sequential” }, "messageHandler": [ { "name": "MessageHandler1", "desc": "MessageHandler1", "clazz": ”Class1", "group": [ { "name": "g1", "desc": "g1", "order": 1, "context": { "type": "Inherit", "childrenMode": ”Parallel" }, "element": [ { "id": 1, "name": "group1-element1", "desc": ”first actor in sequence", "order": 1, "clazz": [ ”MessageInput" ], "bean": ”Class1Bean" } interface Class1Bean <MessageInput, MessageOutput> extends ServiceInterface { … public MessageOutput execute(MessageInput M1)
  • 12. 12© 2016. Capital One Bank - All Rights Reserved. Actor Workflow Supervisor Pattern
  • 13. 13© 2016. Capital One Bank - All Rights Reserved. Supervisor Actor Patterns
  • 14. 14© 2016. Capital One Bank - All Rights Reserved. Actor Workflow Mechanics – Operation and Service Definition "messageHandler": [ { "name": "ApplicationScoringService", "desc": "ApplicationScoringService", "clazz": "com.capitalone.auto.lo.business.Application", "context": { "group": [ { "name": "ideal", "desc": "ideal credit pull and decisioning workflow", "order": 1, "context": { "childrenMode": "Sequential", "carryoverRequest": "true" }, "element": [ { "name": "dataService", "desc": ”get credit data and alternate data", "clazz": [ "CurrentMessage" ], "bean": ”DataService" }, on receive Handler Bean Output Rules Define service Bean and relative order of execution
  • 15. 15© 2016. Capital One Bank - All Rights Reserved. Actor Workflow Mechanics – Conditional Rules "conditions": [ { "id": 1, "name": "Exception", "reference": "any executionElementId", "watch": { "values": ["throws java.lang.Exception”] } }, { "id": 2, "name": "PrescoreResponse", "reference": "executionElementId:1.1.1", "watch": { "values": ["com.capitalone.auto.lo.response.PreScoreResponse[getAppDecision notEquals A]"] } }, on receive Handler Bean Output Rules Define service Bean and relative order of execution
  • 16. 16© 2016. Capital One Bank - All Rights Reserved. Actor Workflow Mechanics – Conditional Flow "consequences": [ { "id": 1, "order": 1, "name": "Exception", "action": { "whenMatched": [ "Exception”], "thenGoto": "executionElementId:1.3.1" } }, { "id": 2, "order": 2, "name": "PreScoreDecline", "action": { "whenMatched": [”ModelScoringResponse"], "thenGoto": "executionElementId:1.2.1" } }, on receive Handler Bean Output Rules Define service Bean and relative order of execution
  • 17. 17© 2016. Capital One Bank - All Rights Reserved. Decisioning Workflow
  • 18. 18© 2016. Capital One Bank - All Rights Reserved. Best Practices • Plan out your logging strategy with MDC (thread local variable) and use tools like Splunk • Identify actors like a person, with state and identity • Limit granularity of fan-out or scatter-gather operations • Make sure all actors have the data they need to do their jobs w/o calling external resources • Make sure actor operations are idempotent • Take checkpoints and use AKKA persistence where applicable