Methodology
The exact formulas and conventions used by PortfolioLens.
KPI formulas
- Repayment Rate
- Collections received in the reporting period ÷ expected collections in the period. Expected collections are the sum, over active accounts, of daily rate × days the account was active in the period. Prepayments are included, so this rate can exceed 100%.
- Repayment Rate, Paid vs Plan (cumulative)
- Σ min(cumulative paid, expected to date) ÷ Σ expected to date, over all accounts in scope. Prepayments are capped per account, write-offs are included, and the calculation uses aggregate totals rather than averaging account ratios.
- PAR>30 / PAR>60 / PAR>90 by value
- Outstanding balance of active accounts with days in arrears strictly greater than 30, 60 or 90 ÷ total outstanding balance of all active accounts.
- PAR>30 / PAR>60 / PAR>90 by count
- Number of active accounts with days in arrears strictly greater than 30, 60 or 90 ÷ number of all active accounts.
- Collection Rate (all-time)
- Total qualifying collections to the as-of date ÷ total expected to date across all accounts in scope. Expected to date for each account is min(total price, daily rate × max(0, as-of date − activation date)).
- Write-off Rate by value
- Outstanding balance of written-off or repossessed accounts that are not completed ÷ outstanding balance of all non-completed accounts.
- Write-off Rate by count
- Number of written-off or repossessed accounts that are not completed ÷ number of all non-completed accounts.
- Active vs Dormant
- An account is dormant when it is active and has no qualifying payment in the fixed window (as-of date − 90 days, as-of date]. The percentage is dormant active accounts ÷ all active accounts.
- Total Outstanding
- Σ max(0, total price − cumulative paid) over active accounts.
- Completion Rate
- Completed accounts ÷ all accounts activated by the as-of date. An account is completed when its status is completed or cumulative paid is at least total price.
- Daily rate
- If plan duration days is positive: total price ÷ plan duration days. Otherwise: installment amount ÷ frequency days, using 1 daily, 7 weekly, 14 fortnightly, 30 monthly and 91 quarterly.
- Paid-through date and arrears
- Days purchased = cumulative paid ÷ daily rate. Paid-through date = activation date + days purchased. For active accounts, days in arrears = max(0, whole days from paid-through date to as-of date); otherwise zero.
Finding definitions
- Severe arrears
- Active accounts more than 90 days in arrears; money at risk is their outstanding balance.
- Dormant accounts
- Active accounts with no qualifying payment in the fixed last 90 days; money shown is their outstanding balance.
- Orphan payments
- Payments whose account ID has no matching account. They are reported at their payment amount and excluded from KPIs.
- Zero-payment accounts
- Accounts in scope with cumulative qualifying payments equal to zero; money shown is their outstanding balance.
- Overpaid accounts
- Accounts whose cumulative qualifying payments exceed total price; money shown is the excess paid.
- Oversized single payments
- A payment is flagged when that single payment is greater than its account's total price. It remains included by default. The exclusion switch removes every such payment from all KPI, dashboard, finding and report calculations.
- Duplicate account IDs
- When an account ID appears more than once, the first occurrence is used for KPIs. The finding count is the number of duplicated IDs and the money shown is the stated total price of the extra rows.
- Agent or region anomalies
- Agent and region groups whose PAR>30 by value is at least twice the company PAR>30. Money shown is each flagged group's PAR>30 balance.
Calculation conventions
- Dates are measured in whole UTC days. The default as-of date is the latest payment date and can be overridden.
- The reporting window is (period start, as-of date], so a payment on the period-start date is outside the period.
- Only payments dated on or before the as-of date and linked to an in-scope account qualify. Accounts activated after the as-of date are outside scope.
- Missing status is derived as completed when cumulative paid is at least total price, otherwise active.
- The dormant window is always 90 days, regardless of the selected reporting period.
- Arrears bands are 0, 1–30, 31–60, 61–90 and 90+ days. PAR thresholds use strict “greater than”.
- Money sums are rounded to cents before comparisons so floating-point drift does not change completion status.
- Division by zero produces no rate, shown as “—”, never zero, NaN or infinity.
- Negative payments are retained as reversals and zero payments are retained. Both are surfaced as data warnings.
- Suspicious single payments remain included exactly as uploaded unless the user turns on “Exclude flagged payments from KPIs”.
How this relates to standards
PAR follows CGAP/SEEP practice but uses total contract value outstanding, which suits asset-finance portfolios, rather than principal only.
Paid vs Plan follows the GOGLA PAYGo PERFORM 2026 approach: prepayments are excluded by capping paid amounts at the account plan, and the numerator and denominator are aggregated before division.
The write-off rate here is a stock measure: outstanding of written-off accounts ÷ non-completed outstanding. It differs from the CGAP flow-based ratio of amounts written off during a period ÷ average gross portfolio.
KPI definitions follow standard microfinance portfolio practice and the GOGLA PAYGo PERFORM framework, and should be reconciled to the relevant standard for formal reporting.
