Building an End to End Microlending System using Okra

Building an End to End Microlending System using Okra

Microlending refers to modest loans made to individuals (typically without collateral) to help kickstart a venture or pay bills. Assume Mr. A is a retailer of household goods who needs to replenish his store. As a solo entrepreneur, he lacks collateral to obtain the financing he needs. His poor financial situation and lack of collateral may not necessarily meet the standards. Mr. A, on the other hand, can obtain the cash he requires to carry out his objectives through microlending.

Microlending is often focused on the development of small enterprises rather than the traditional goal of profiting from loan interest.

Whereas traditional loans seek to benefit from the interest earned. Microlending allows companies to grow and flourish by providing loans, as well as alleviating poverty. Some micro-lending institutions may provide alternatives to help sole owners improve their business skills.

How can you access Microlending?

In Nigeria, one of the most common is Microfinance banks. There are also peer-to-peer lending groups that aid in the facilitation of microlending. In addition, during the last several years, the federal government-sponsored microlending service – Trader-Moni – has gained pace and is becoming highly popular among Nigerian petty traders.

The loans are generally low-interest, and all you need is a cause for taking out the loan and an acceptable repayment plan. Microlending is the easiest way to obtain small-scale loans.

However, Okra's sophisticated API is altering the narrative and assisting financial institutions by removing the conventional pattern involved in the process and making it easier to give modest loans.

Disclaimer: This is simply a guide on how to use Okra products to improve loan disbursement and recovery. It is not a hard and fast rule for how loans should be distributed. We recommend that you implement additional internal risk mitigation measures to further reduce loan defaults.


Okra Income product identifies streams of income, their sources, length, and predicts the number of recurrences using advanced pattern matching and machine learning algorithms. It gives insight into the previous year's income numbers and uses the streams to predict the expected future income amount. The following is an example of an income stream response object:

Response Object Explanation:

The confidence score is a measure of how correct the income values are

  • last_two_years_income = income for year y-2, where y = current year
  • last_year_income = income for year y-1, where y = current year
  • projected_yearly_income = projected income for year y
  • last_two_years_to_this_year_projected_income  = approximate income estimate using income from year y-2, y-1, and y
  • last_year_to_this_year_projected_income = approximate income estimate using income from year y-1, and y

Each income stream contains

  • days - the number of working days we estimated for the income
  • number_of_months - the number of months the stream occurred
  • projected_months - the number of months we project the income would reoccur
  • income_start_date - the first date the stream of income was noticed
  • income_last_date - the last date it last occurred, and the income type which could be 'salary', 'recurring credit', or 'unstructured'

From the income response, the user makes an average of

N194,693.75 + N4,273,940.1 = N4,468,633.85 per month.

Read more about Income

Spending Patterns

Okra Spending Patterns product uses state-of-the-art NLP and NLU techniques to understand transactions and classify them into 19 different categories including gambling, food, medical, utilities, travel, and gifts. It aggregates all user debit transactions, predicts the spending category, and calculates the spent amount, the spent percentage, and the number of times each category occurred. A typical spending pattern response object can be seen below:

The spending pattern response object contains the following:

  • channel - breaks down the different channels through which a user spends money, which could be 'web pos', 'transfers', or 'cash'.
  • streams - Streams are recurrent expenses that have been discovered in the user transactions. Each stream has a 'pattern' and 'period' which represent the spending pattern of the stream, and the frequency of repetition - weekly, monthly, bi-monthly, respectively.
  • pattern - groups the user transactions into different spending categories which include utilities, transportation, savings, and entertainment.

Each pattern has the following:

  • "count": The number of transactions that belong to this category,
  • "max": The maximum transaction amount in this category,
  • "min": The minimum transaction amount in this category,
  • "percentage": The percentage of the total transaction sum represented by this pattern.
  • "sum": The total amount spent on this pattern

Read more about Spending Patterns

Using Income and Spending Pattern to make a lending decision

With income and spending patterns, we can lend money using a couple of techniques:

Manual Process:

  • Prioritising users with a consistent recurrent income stream, that is, users with income streams of type 'salary' or 'recurrent credit'. To further enhance this, we can ensure that the 'number_of_months" of those streams is more than 2 and the number of months between 'income_last_date' and the current month is less than or equal to 2.
  • Prioritising users with a low spend rate.

We can decide to give loans to people with income above a certain threshold and spending patterns below a certain threshold. We may decide to use the income-to-spending percentage as this threshold.

  • We can decide to give loans to people with income above a certain threshold and spending patterns below a certain threshold. We may decide to use the income-to-spending percentage as this threshold.
  • We can also threshold each spending pattern category. In this approach, we choose to give loans to users who earn more than x in naira, and who spend less than g naira on gambling, more than h naira on healthcare and less than e naira on entertainment. These thresholds can also be expressed as percentages, concerning the overall spent amount.

Using Machine Learning

  • After a few loans have been disbursed using the manual process, we can model a machine learning system to predict the probability of loan default.
  • From the manually disbursed loans, we can keep track of the repayment schedules including dates of repayment and amounts paid. We can also keep track of the number of defaults (if any) and the percentage of principal already repaid.
  • We combine the payment schedule, the spending pattern breakdown, and the income values to train a model to predict default. The features are the different spending category values, income, and repayment schedules. The label can be whether loan default happened (classification), or the number of defaults (regression). We can further increase the granularity of the prediction, redesigning the label as the probability of defaulting in the next payment cycle, given the repayment schedules, income, spending pattern, and percentage of principal paid.
  • The ML model can then be used to determine if future users with income x and spending patterns y should be allowed to collect loans.

Garnishment using Okra Payment

Okra garnishment feature helps creditors legally collect money from an account to repay outstanding debt, It is a great deal for creditors to turn when debtors repeatedly ignore requests to pay back what they owe. To further establish how garnishment can come in very handy, let's observe this scenario - Let's assume KiakiaLoanNG company provides a loan to Kingsley (an entrepreneur), the loan amount was 50,000, and the repayment date of the loan is one month. When the one month elapses and Kingsley doesn't have the exact amount (50,000) to repay the loan or is unwilling to repay the loan, KiakiaLoanNG could leverage the garnish feature to debit partial funds from Kingsley periodically until the loan is completely repaid.

Enhancing Loan Recovery using Okra Complete View

Okra Complete View gives a view into other bank accounts owned by a customer. It allows the ability to prompt the users to connect all owned accounts and provide consent to access data, thereby ensuring that loan recovery can be made from any connected account using Okra Direct Debit.

From the response above, you can prompt the user to connect their Fidelity Bank Account. Using Complete View, you do not get billed for responses where unconnected accounts are not found.


This is merely a primer on how to utilize Okra products to improve loan distribution and recovery. It is not an absolute method for disbursing loans. To further decrease risk and limit the number of loan defaults, we recommend that you implement additional internal controls.

To get started, signup here and start building today!

A good place to check other cool stuff is our docs, and if you are passionate about open finance, you definitely should visit our website, to see other services that might be appealing to you.

Contact sales or send an email to to get started!