FICO is more than just the FICO credit score. Founded in 1956, FICO also offers analytics applications for customer acquisition, service, and security, plus tools for decision management.
One of those applications is the Falcon Assurance Navigator (FAN), a fraud detection system that monitors purchasing and expenses through the full procurement to pay cycle. Consider an expense report: the entities involved include the reporter, the approver, the vendor, the department or business unit, the expense line items, and more. A single report has multiple line items, where each line may be broken into different expense codes, different budget sources, and so on. This translates into a complicated data model that can be nested 6 or 7 layers deep – a great match for MongoDB’s document model, but quite hard to represent in the tabular model of relational databases.
FAN Architecture Overview
The fraud detection engine consists of a series of microservices ("Introduction to Microservices and MongoDB") that operate on transactions in queues that are persisted in MongoDB:
- Each transaction arrives in a receiver service, which places it into a queue.
- An attachment processor service checks for an attachment; if one exists, it sends it to an OCR service and stores the transaction enriched with the OCR data.
- A context creator service analyzes it and associates it with any past transactions that are related to it.
- A decision execution engine runs the rules that have been set up by the client and identifies violations.
- One or more analytics engines review transactions and flag outliers.
- Now decorated with a score, the transaction goes to a case manager service, which decides whether to create a case for human follow-up based on any identified issues.
- At the same time, a notification manager passes updates on the processing of each transaction back to the client’s expense/procurement system.
To learn more, watch FICO’s presentation at MongoDB World 2018.