The Scoring module is designed to handle 'number crunching'. It is (of course) interface-based, which means we can have different plug-ins that handle number crunching, like Excel, Google Spreadsheets, SPSS, LexisNexis, or custom third party web services (such as bank NPV calculation engines).
Examples of scores include: - Performing an NPV calculation on a loan
- Analyzing a broker's performance on a portfolio of BPOs
- Analyzing a user's performance across all smart worklists
- Determining a borrower's propensity to succeed in a loan modification given their credit report trade line detail
The tables and classes involved include: - ScoreTemplate: this defines the behavior of a Score, including the plug-in to use to crunch the numbers
- ScoreItemTemplate: this defines the data points output by a Score
- Score: this is a 'number crunching calculation' run against an object (e.g. a Loan, a Broker, a User or a Borrower)
- ScoreItem: this stored the value of a data point output by a Score
At it's core, calling Score/Calculate performs the following: - Queries the QBO database for data (by default, Parent/Summary)
- Passes the data to a scoring engine (plug-in) via the IScore interface
- Accepts resulting data points from the scoring engine, storing each one in a ScoreItem row
|