CredAIOpen the demo
Open source · runs on synthetic data, ready for yours

Credit scores for people banks can't see yet.

Most adults in Pakistan don't have a bank account, let alone a credit file — but they pay electricity bills, top up phones and move money through wallets every month. CredAI turns that history into an explainable score and a lending decision a human can stand behind.

Held-out AUC
0.78
Default rate cut
25% → 7.3%
To plug in real data
1 env var
BA
Bilal Ahmed
Ride-hailing & delivery · no bank account
Approve
742Excellent · Grade A300850
PKR 80,000 · 9 months
  • Paid 10 of 12 utility bills on or before the due date.+50
  • Same mobile number for 8 years 7 months.+18
  • Average wallet balance of PKR 98,163 against PKR 44,258 monthly wallet spend.+17
  • Meets every policy check. Eligible for instant approval.
Built for data fromLESCO, K-Electric, SNGPLJazz, Zong, Telenor, UfoneJazzCash, Easypaisa, SadaPayAny account with statement accessMicrofinance banks, BNPL

From raw payments to a decision in four steps

No black box. Every step is code you can read, and every score comes with the reasons behind it.

  1. 01
    Connect

    The customer consents to share utility bills, mobile top-ups, wallet, bank and repayment history — whatever they have. Any source can be switched off later.

  2. 02
    Engineer

    17 behavioural features computed from raw records: on-time ratios, income regularity, overdrawn days, savings buffer. One feature engine for training and production.

  3. 03
    Score

    A logistic scorecard on the familiar 300–850 scale. Each feature contributes points, and the points add up exactly — so every score explains itself.

  4. 04
    Decide

    Affordability, coverage and score checks produce a recommendation. Small loans can clear instantly; larger ones go to an analyst. Everything is audited.

Try the model

Shape a customer's behaviour and choose what they share. The score, the reasons and the lending recommendation update instantly — the same code the lender console runs.

Who is applying?
Data the customer shares
Utility bills
Mobile account
Mobile wallet
Bank account
Repayment history

Each change simulates 18 months of raw activity — 338 records right now — then runs the production feature engine and model in your browser.

708Good · Grade B300850
PKR 100,000 over 12 monthsApprove
  • +50Paid 20 of 24 utility bills on or before the due date.
  • −13Mobile account was topped up in 9 of the last 12 months.
  • −113 of 5 data sources connected.
  • +8Average wallet balance of PKR 72,708 against PKR 46,829 monthly wallet spend.
Repayment probability 87% · instalment PKR 9,651 · medium confidence

One engine, three workspaces

Bring your own data

The demo runs on a simulated population of customers with realistic transaction histories. Swapping in a real source means implementing one JSON contract — then setting an environment variable.

  • — Stateless POST /api/v1/score for any raw record
  • — Schema-validated: bad records are rejected with a path to the problem
  • — OpenAPI 3.1 spec, health checks and a mock partner API included
Score a customer from raw records
curl -X POST https://<your-deployment>/api/v1/score \
  -H 'content-type: application/json' \
  -d @examples/customer-record.json

{
  "report": {
    "score": 742, "grade": "A", "gradeLabel": "Excellent",
    "repaymentProbability": 0.91,
    "helping": [{ "label": "Utility bills paid on time",
                  "points": 49.7,
                  "reason": "Paid 10 of 12 utility bills on or before the due date." }, …],
    "missingSources": ["bank","credit"]
  },
  "decision": { "recommendation": "approve", "tier": "instant", … }
}
See it end to end in three minutes.

Apply as a customer, decide as a lender, audit as the platform team.

Start the guided demo