Design Spec Review — AffyScore Pitch Site — 1 June 2026
Behavioural credit intelligence for South African lenders

The credit signal the bureau doesn't have.

Bank statements in. Explainable decision pack out — behavioural score, affordability, fraud checks, reason codes, and outcome recommendation. Programmatic risk scoring via API or portal.

612 / 850
FAIR
Income
78%
Buffer
54%
Discipline
62%
Red Flags
85%
REASON 01 — Debt service is 30-50% of salary
● ADVISORY: tamper check clear
6 SA banks parsed
17 NCR categories
18 document tampering checks
API + Portal

The problem

Half your declines aren't bad credit. They're no credit.

50%

Thin file

of declined applications have insufficient bureau data. Not bad history — no history.

20–45 min

Manual grind

per application reading statements, categorising transactions, plugging numbers into spreadsheets. Qualified staff doing work a machine should do.

0

Invisible signals

bureau data points from bank statement behaviour. Income regularity, cash buffer, gambling spend, returned debits — none of it reaches the credit decision.


See it run

Watch it work.

2-minute walkthrough: bank statements uploaded, decision pack delivered.

Loom demo — coming soon

How it works

Bank statements in. Decision pack out.

Three months of statements. Six stages. One complete, defensible credit decision.

01

Intake

Operator upload or customer self-upload via tokenised WhatsApp link. Batch up to 30 statements.

02

Extract

Six SA banks parsed by fingerprint — FNB, Standard Bank, ABSA, Nedbank, Capitec, Discovery. Regex extraction with AI vision enhancement for scanned and complex documents.

03

Tamper Check

18 document tampering checks across metadata, font/layout, mathematical, and sequence anomalies. Advisory — informs the human, never blocks.

04

Classify

Every transaction categorised into 17 NCR categories. Counterparty identification. Salary detected by recurrence.

05

Affordability

Regulation 23A on statement income. Disposable income, max instalment, norm-floored, audit-stamped.

06

Score + Recommendation

300–850 behavioural score across four weighted families. Reason codes in plain English. Outcome recommendation to support the lender's decision.


The output

Line-by-line. Every transaction. Fully categorised.

Download sample output from a real extraction. Every transaction is there — date, description, amount, balance, category, confidence score, and counterparty.

{ } Download Sample JSON 📊 Download Sample CSV 📄 Download Sample PDF 📊 Download Sample Excel

The score

Four families. One number. Every factor traceable.

300–850, built from what the statement actually shows. Not a black box — every point traces back to a transaction.

30% — Income

Income

  • Salary recurrence
  • Salary stability (CoV)
  • Irregular-income share
25% — Cash Buffer

Cash Buffer

  • Average daily balance between pay cycles
  • Low-balance days
25% — Discipline

Discipline

  • Returned debit orders
  • Lender stacking
  • Debt-service ratio
20% — Red Flags

Red Flags

  • Gambling share-of-wallet
  • Cash withdrawal dominance
REASON 01 Debt service is 30-50% of salary.
             Less room before a new instalment overcommits the applicant.

REASON 02 Gambling is 5-10% of income.
             Material gambling erodes real affordability.

Every score ships with plain-English reason codes. Your underwriter sees why, not just what.


Beyond the score

The same signals reveal fit.

Short-term lenders / BNPL detected Consolidation loan Expensive recurring debits point to a rehabilitation opportunity
Insurance premiums mapped Broker review Existing cover mapped to short-term, funeral, legal, medical aid
Tuition debits detected Education finance Tuition payments flag an education loan opportunity
Gambling spend flagged Wellness referral Never a product. Routes to financial wellness — deliberately distinct

Underwriter-facing signals. No automated marketing. The human decides.


Integration

Plugs into your workflow. Not the other way around.

⚡ API

  • REST API with async webhooks
  • Fire-and-forget: POST statements, get job ID, receive result via callback
  • Batch processing: overnight cron, morning review queue
  • N8N, Zapier, or direct integration
  • JSON response with full decision pack

🖥 Portal

  • Web dashboard for manual upload and review
  • Operator uploads statements, views pipeline progress
  • Score card, reason codes, affordability output, tamper advisory
  • Export to JSON, CSV, PDF, or Excel
Built for SA banks NCA compliant POPIA Section 21

Pricing

Transparent pricing. Per extraction.

No setup fees. No subscriptions. Pay per decision pack.

Starter
Up to 200 / month
R35 per extraction
Full decision pack: extraction, classification, 18 tamper checks, Reg 23A affordability, behavioural score with reason codes, outcome recommendation. Export to JSON, CSV, PDF, Excel.
Enterprise
1,000+ / month
Custom
Volume pricing from R8–R14. Dedicated support, SLA, custom integrations.

Free credits for your first PoC. Book a demo and we'll set you up.


See it on your own statements.

Book a 15-minute demo. Bring three months of bank statements — we'll run them live and walk you through the decision pack.