mysql backed - fraud prevention
TRANSCRIPT
WireCash is an online money transfer marketplace. We enable U.S. residents to access a wide range of money transfer companies, compare services, and complete money transfers around the world in the WireCash marketplace.
Some of the companies I am involved with:
02
WIRECASHSEND MONEY WORLDWIDE
Background
About Me
TheDriverslabArchegos Partners
Fraud is increasing and is affec@ng all of us.
The average American has never done more of their daily tasks online. Companies of all sectors con=nue to suffer data breaches making consumer data into a highly-‐traded commodity -‐ easily accessible to fraudsters.
Companies who transact online have to deal with the influx of stolen informa=on and siD through the good customers and the fraudsters.
Tools to help in this task are not accessible to small/medium-‐sized businesses making it necessary to develop in-‐house proprietary systems.
03The Problem
Identity & Payment Fraud are Rising
14%
10%
62% 42%
Americans are credit card fraud vic@ms
Financial providers suffered known data breaches
Companies targeted by fraudsters
Americans who were fraud vic@ms in last 5 years
Using Proxy?
Behaves Normally?Stolen
CC?
Valid Phone?
Voice Sample
Using a combina@on of machines and humans we can effec@vely siP through transac@ons We ask a lot of ques=ons about each transac=on. We need to answer those ques=ons and come to conclusions in real-‐=me.
Efficient storage and quick retrieval of data is paramount to the processing of informa=on and successful opera=ons
04The Solution
Algorithms To The Rescue
Real Person?
Facebook Page
Consumer Provided Data Environment Historical Velocity Checks Human Input Decision
There is a chain of data that needs to be accounted for prior to a decision being made. Each piece of data is collected and fed through different algorithms to reach a conclusion about its validity and an ul=mate decision. The availability of each data point is crucial for processing the next step in the algorithm. Therefore, the data retrieval speed has a direct impact on the fluidity of the consumer experience.
05Data Flow
Information Instrumental to Decisioning
06
We Do Not! …Divide and Conquer
Responsiveness
How can we do it with just MySQL?
MySQL should be not used exclusively Take advantage of all system components
Processing & RAM is cheap, use it! Take advantage of lowering costs to leverage memory for quick temporary storage
System Architecture is Key When designing your system, account for processes that have high data intensity and are data dependent.
! " #
We collect a lot of data to aid in the decisioning process, which must be op@mized across different components of the stack.
Although all data is ul=mately being stored in MySQL, it is not all being retrieved from the database when used.
Store data in the appropriate app-‐layer Last country a customer sent money to can be retrieved from a cookie
Cache queries that do not change oDen MySQL queries that are being executed oDen but do not change should be cached at the closest layer to the request
Batch non-‐mission cri=cal data to DB Data that is retrievable from other layers in the stack does not need to overwhelm the DB and can be wriQen later
07Data Storage
How is Data Stored?
Browse
r
Web Sessi
on
Web Cach
e
Back En
d Cache
MySQL
Frontend Web Server Database Backend Server
0
0.75
1.5
2.25
3
Before Scaling Scaled
Scaling of servers
08Scalability
Major Savings in ScalingW
eb
Web
Back
end
Back
end
DB
DB
Asymmetric ScalingSince data is distributed across components of the stack, when scaling up, it is not necessary to scale all components.
The database is the last link in the chain of data-‐flow. If high-‐demand data is stored at a previous link (server), it is not necessary to scale the database, only the link that is storing that data.
5
32
435%
# of users same
password
# of users with same ip
# of users same city last hour
# of users sending $33 last hour
% above historical
transac@ons
09Use Case
Velocity Checks
Velocity checks test whether different customers are ac@ng in a similar way
With a lot of data being compared, execu=ng mul=ple MySQL queries is extremely complex and would highly burden the database
Having a rolling cache in the back-‐end layer storing a summary of historical data in a hash map yields faster lookups, while limi=ng RAM usage.
4
# of users same
area code
11
Presented By
Building a company is hard with tough decisions and many ques@ons. We've been working in Santa Monica for 7 years (pre-‐Silicon Beach!). We're excited to announce Startup Technology & Strategy Office Hours to help others in the community however we can!
Stop by with a technical challenge, strategy dilemma, or a random thought. Enjoy the view from Ocean Ave. with a beverage and some noshies and we'll provide some insight. (Oh ya, it's all free, and we aren't selling anything!)
Community
Startup Technology and Strategy Office Hours
April
20
Mark the dateWIRECASHSEND MONEY WORLDWIDE
twitter.com/egblue
linkedin.com/in/rangrushkowsky
Contact
$