Configuring the Formulas

Business Formulas processes different inputs from your digital journey in order to generate desired outputs. By inserting arguments and using them in steps, the system creates complex calculations to be triggered in a flow. The formulas take data either from what the SME representative has declared in Company Details or from a third-party connector. FintechOS has developed several connectors with access to platforms that hold financial information. For this solution, FintechOS recommends installing Company House and Experian to collect additional data that is accurate. The list with all the connectors developed by the company is found here. Choose the most suitable for your needs.

Business Formulas

For this solution, five formulas were developed to determine whether or not the potential customer is eigible of not for the amount requested and for even a bigger amount and a credit limit as well.

Access Fintech OS Studio > Automation Blocks > Business Formulas > Formulas.

  • Knockout_CML
  • Scoring_CML
  • OfferCalculation_CML
  • FinancialAnalysis_CML
  • CrossSell_CML.

The first formula executed is Knockout_CML triggered after the step Disclosures. Then, the system calculate the scoringClosed Credit scoring is a statistical analysis performed by lenders and financial institutions to determine the creditworthiness of a person or a small, owner-operated business. of the cutomer. If the score of the customer matches the minimum value needed, the system calculates the offers for the requested offer and the maximum offer. Then, the DTIClosed The Debt-to-Income ratio (DTI) is a personal indicator of a good balance between debt and income. Monthly debt payment amount / Monthly gross amount (before taxes and other deductions). is calculated within the FinancialAnalysis_CML and a decision is made. Lastly, depending on the maximum debt the customer can take on a credit limit is approved or denied.

Rejection Criteria

Based on the answers from the step Disclosures, for the questions:

If the borrower selected Yes for both, the system rejects the application.

County Court Judgment has two statuses:

  • Settled
  • Not settled (the loan is denied).

If it is settled, then the system needs to record the number of County Court Judgment in the past 12 months.

If there are two more County Court Judgments, then the system registers the total value. If the total value is bigger than 1000, the loan is denied.

The date and the amount to be paid are recorded as well from a connector. For this solution, a series of connectors are possible to be integrated: KeysFin Connector/ Dun and Bradstreet Connector/ Experian or even other third-party platforms.

Knockout_CML

Execution Order Name Source of Data Master Type Subtype Calculation Type Formula
1 KNOCKOUT_HaveCourtJudgements It is taken from a third-party connector. FintechOS suggests using Experian. Simple Type Text Normal result = DataSet("KNOCKOUT_CML_HaveCourtJudgements", ("haveCourtJudgements", haveCourtJudgements));
2 KNOCKOUT_HaveDeclaredBankrupcy It is taken from a third-party connector. FintechOS suggests using Company House. Simple Type Text Normal result = DataSet("KNOCKOUT_CML_HaveDeclaredBankrupcy", ("haveDeclaredBankrupcy", haveDeclaredBankrupcy));
3 KNOCKOUT_Decision It is calculated by Business Formulas. Simple Type Text Normal

if (KNOCKOUT_HaveCourtJudgements == "Approved" && KNOCKOUT_HaveDeclaredBankrupcy == "Approved") result = "Approved";

else result = "Rejected";

Eligibility Criteria

The result of whether or not an SME may take on a loan is comprised of the FICOClosed The FICO score is an algorithm used internationally, mainly by banks, to determine the degree of risk for a person who applies for a loan, and is collected by the Credit Bureau. score and the application score. The FICO score must be equal or over 700 to be approved, and the application score must be equal or over 160, otherwise the SME is not eligible for the sum.

Scoring criteria

Based on the values for the following information, an SME may be eligible for a loan:

NOTE  

These values can be changed using the Fintech OS Studio to fit the bank's requirements.
  • Social capital
  • Number of employees
  • Turnover in the past 12 months
  • Business legal status
  • Company establishment
  • Trading on credit
  • Expected annual debt repayments over the last 12 months
  • Type of industry.

Scoring_CML

Execution Order Name Source of Data Master Type Subtype Calculation Type Formula
1 SCORE_SocialCapital

Input from the customer from the Company Details page.

Verified with the third-party connector of your choice (FintechOS used Company House).

Additionally, a bank employee can check using the balance sheet.

Simple Type Whole Number Normal result = DataSet("SCORING_CML_SocialCapital", ("socialCapital", socialCapital));
2 SCORE_EmployeesNo

Input from the customer from the Company Details page.

Verified with the third-party connector of your choice (FintechOS used Company House).

Simple Type Whole Number Normal result = DataSet("SCORING_CML_EmployeesNo", ("numberOfEmployees", employeesNo));
3 SCORE_Turnover

Input from the customer from the Company Details page.

Verified from the Profit and Loss StatementClosed The P&L statement refers to a financial statement that summarizes the revenues, costs, and expenses incurred during a specified period, usually a quarter or fiscal year..

Simple Type Whole Number Normal result = DataSet("SCORING_CML_Turnover", ("turnover", turnover));
4 SCORE_LegalStatus Verified with the third-party connector of your choice (FintechOS used Company House). Simple Type Whole Number Normal result = DataSet("SCORING_CML_LegalStatus", ("legalStatusId", legalStatus));
5 SCORE_CompanyEstablishment Verified from the Profit and Loss Statement. Simple Type Whole Number Normal result = DataSet("SCORING_CML_CompanyEstablishment", ("companyEstablishmentId", companyEstablishment));
6 SCORE_TradeCreditCustomer

Input from the customer from the Company Details page.

Verified from the Balance Sheet.

Simple Type Whole Number Normal result = DataSet("SCORING_CML_TradeCreditCustomers", ("tradeCreditCustomersId", tradeCreditCustomer));
7 SCORE_ExpectedAnnualDebt

Input from the customer from the Company Details page.

Verified from the Profit and Loss Statement.

Simple Type Whole Number Normal result = DataSet("SCORING_CML_ExpectedAnnualDebt", ("expectedAnnualDebt", expectedAnnualDebt/netProfit));
8 SCORE_SicCodes Data set imported in Business Formula. Simple Type Text Normal result = DataSet("SCORING_CML_SICCodes", ("sicCodes", sicCodes));
9 SCORE_Industry Data set imported in Business Formula. Simple Type Whole Number Normal result = DataSet("SCORING_CML_Industry", ("industry", SCORE_SicCodes));
10 ApplicationScore It is calculated by Business Formulas. Simple Type Whole Number Normal

result = SCORE_SocialCapital + SCORE_EmployeesNo + SCORE_Turnover + SCORE_LegalStatus + SCORE_CompanyEstablishment + SCORE_TradeCreditCustomer

+ SCORE_ExpectedAnnualDebt + SCORE_Industry;

11 SCORE_FICOScore For this solution, it is hardcoded, but it should be taken from FICO or a third-party connector such as Experian. Simple Type Text Normal

if (FICOScore != 0)

result = DataSet("FICOScoreDecision", ("FICOScore", FICOScore));

else result = "Approved";

12 ApplicationScoreDecision It is calculated by Business Formulas. Simple Type Text Normal result = DataSet("SCORING_CML_ApplicationScore", ("ApplicationScore", ApplicationScore));
13 Decision It is calculated by Business Formulas. Simple Type Text Normal

if (SCORE_FICOScore == "Rejected" || ApplicationScoreDecision == "Rejected")

result = "Rejected";

else if (SCORE_FICOScore == "Derogation" || ApplicationScoreDecision == "Derogation")

result = "Derogation";

else result = "Approved";

The SME Matrix Calculations

Steps for the scoring matrix

  1. The system calculates the applicant score by adding the attributes that the customer declared and matching them to the values in the matrix.
  2. The system fetches the FICO from the data set, but it should be taken from FICO or a third-party connector such as Experian score.
  3. The formula is triggered to see if the scoring value is valid for approval of the loan.
  4. Fit the applicant score into the scoring category (from A to D).
  5. Using the scoring result, the system determines the maximum DTI for the customer by reading the DTI matrix.

DTI Calculations and Offers

Two calculations are done for the offers:

  • Requested offer: the amount and period inserted by the user in the Simulation step.
  • Maximum offer: the maximum amount that the DTI allows by the system and the maximum period for the loan.
NOTE  
The income for the SME used in the calculations is the monthly net profit.

The calculations are:

  1. Determine the current DTI using the expected annual debt repayments over the last 12 months. This info is given on the disclosures screen. The system divides that value by 12 (since it's annualized) and compares it to the monthly net profit, i.e. monthly profit/ monthly repayments.
  2. Check if the current DTI is above the maximum DTI permitted by the matrix.
    • If it is bigger, then the application is rejected.
    • If it is smaller, the system calculates the offer's eligibility.

The maxDTI has as input:

  • client category (performance)
  • currency amount
  • interest type
  • loan maturity.

FinancialAnalysis_CML

Execution Order Name Master Type Subtype Calculation Type Formula
1 ClientCategory Simple Type Text Normal result = DataSet("FINCALC_CML_ClientCategory", ("ApplicationScore", applicationScore));
2 MaxDTI Simple Type Decimal Normal result = DataSet("FINCALC_CML_MaxDTI", ("InterestType", interestType), ("Currency", currency), ("ClientCategory", ClientCategory));
3 DTI Simple Type Decimal Normal result = loansMonthlyPayment / income;
4 Decision Simple Type Text Normal

if (MaxDTI < DTI)

result = "Rejected";

else if (scoringDecision == "Rejected" || scoringDecision == "Derogation") {

result = "Rejected";

}

else result = "Approved";

Calculating offers

Requested offer

It represents the exact amount over the requested period of time. The system calculates:

  • the new proposed DTI that includes the monthly instalment determined by the requested offer. The new DTI is calculated by adding all the monthly repayments of the user (calculated in Disclosures). The system adds the new repayment for the current offer, then, it divides this number to the monthly net profit.
  • If the NewDTI is smaller than MaxDTI, then the offer is eligible, and it is displayed to the customer.

Maximum offer

It represents the maximum amount the bank can offer over the maximum period of time. The maximum monthly instalment available for the customer is calculated using the formula:

MaxInstallment = Income * maxDTI – (Other installments+ Monthly payments for Credit limits)

Afterward, the loan amount is determined. The period is set at the maximum value available for the product. The loan amount is calculated using the formula:

PV(interest rate / 12 , tenor, -maxInstallment)

The result is the maximum amount the SME is eligible over the max tenure.

OfferCalculation_CML

Execution Order Name Master Type Subtype Calculation Type Formula
1 newDTI Simple Type Decimal Normal result = (loansMonthlyPayment + monthlyInstallment)/income;
2 maxInstallment Simple Type Decimal Normal result = income * maxDTI - loansMonthlyPayment;
3 maxOffer Simple Type Decimal Normal

var value = maxInstallment * ((1 - (1 / (POWER(1 + interestRate / 12, loanPeriod)))) / (interestRate / 12));

if (value < maxLoanAmountProd) result = value;

else result = maxLoanAmountProd;

4 response Simple Type Text Normal

if (newDTI <= maxDTI) {

if (loanAmount >= maxOffer) result = "New offer";

else result = "Max offer";

}

else if (maxOffer >= minLoanAmountProd) result = "New offer";

else result = "No offer";

Revolving Credit Limit

For this product, the system calculates the maximum offer using the DTIClosed The Debt-to-Income ratio (DTI) is a personal indicator of a good balance between debt and income. Monthly debt payment amount / Monthly gross amount (before taxes and other deductions). limitations from the scoring matrix. When the maximum offer amount is bigger than 5000 EURO, then the revolving credit limit is displayed in the journey.

CrossSell_CML

It determines if the customer is eligible (Approved or Rejected) to get the associated product of the main banking product based on the available DTI, the system calculates the max amount they can get, based on min and max defined at product level and return Approved if the calculated financed amount is at least equal to the minimum defined at product level.

Copy

Input

{
    "income": 50000,
    "maxProductAmount": 100000,
    "maxDTI": 0.2,
    "minProductAmount": 1000,
    "DTI": 0.1,
    "interestRate": 0.12
}
 
Execution OrderNameMaster TypeSubtypeCalculation TypeFormula
1availableDTISimple TypeDecimalNormalresult = maxDTI - DTI;
2maxInstallmentSimple TypeDecimalNormalresult = income * availableDTI;
3offerSimple TypeWhole NumberNormalvar value = maxInstallment * ((1 - (1 / (POWER(1 + interestRate / 12, 12)))) / (interestRate / 12)); if (value < maxProductAmount) result = value; else result = maxProductAmount;
4decisionSimple TypeTextNormal

if (offer >= minProductAmount) {

result = "Approved";

}

else result = "Rejected";

For more details, see Business Formulas.