Inspiration
The inspiration behind this project comes from addressing the challenges banks faces when processing commercial loads and trying to detect fraud in those cases. Trying to go through applications one at a time can make it difficult to catch suspicious connections and activities between businesses. We wanted to build a platform that helps banks uncover these hidden relationships and based off of this, make more informed lending decisions.
What it does
Verifin is an AI-powered commercial lending application that allows banks to analyze loan applications, detect any cases of fraud, and manage lending workflows. We have several features such as the Intelligence Graph which finds connections between businesses, suppliers, payment accounts, financial documents, and other factors. This map allows user to uncover relationships that might have not been noticed when reviewing the applications one at a time. This application also uses machine learning and document analysis to identify unusual financial patterns and any key inconsistencies that are important to note. It also includes a load workflow management to help track applications, deadlines, documents, and approvals. This platform also includes detailed authentication and security features which allows employees to access information based on the role that they currently have. For instance, the admin role will have access to all data, however other type of employees will be limited to data that is required for their role.
How we built it
We built this application using React and TypeScript for the frontend and Python with FastAPI for the backend. We also used the provided commercial lending challenge datasets to get the application to work. This included information such as historical load records, financial information, borrower documents, and bank statements. For the fraud detection system we created an analysis engine that extracts information from the PDF and CSV files. We then used this information to find pattern across different applications, such as the reused applier payment accounts, changes in supplier banking information, shared load preparers, and matching financial statements. We implemented an Isolation Forest machine learning modeling using Scikit-learn to find applications with unusual activities. For the Intelligence Graph, we created an interactive network that displays the relationships between current applications, historical deals, suppliers, documents, and accounts. There is also a load workflow system that tracks applications through different stages, checking any missing documents, deadlines, and will require human approval for important fraud-related decisions. There is also an employee authentication and role-based access control system to protect any sensitive information.
Challenges we ran into
The biggest challenge was extracting and connecting information from different documents. The datasets included PDF's, CSV files, financial and bank statements, and loan applications. Extracting useful information and then having to connect it across different businesses needed to to create a system that could organize and compare these records. We also had to identify suspicious patterns without having to label legitimate business relations as fraud. For instance, several businesses using the same accountant or supplier did not mean that they were necessarily involved in fraudulent cases. Another key issue was working with limited historical fraud labels, which is why we used unsupervised anomaly detection.
Accomplishments that we're proud of
One of the major accomplishments is creating the cross-deal detection capabilities since this allows the platform to identify patterns involving shared suppliers payment accounts, supplier account changes, similar financial statements, sequential equipment quotes, and the connection to historical load records.