How I think

Intelligence layer for MSME lending

Lenders can now access a lot more data, a lot more seamlessly. But they face challenges in converting it into actionable intelligence. While the data rails have been standardised, each lender has different policies/ products/ processes (their underwriting harness, lets call it), and thus require different insights from the same data. That is the gap, not the data.

Status
Complete
PROBLEM SPACE
Financial Infra
TYPE
Platform Design
01 · Diagnosis
New data doesn't slot into legacy systems/harnesses. So it goes unused.
Access to MSME data has leapt ahead.

GST, Account Aggregator, Bureau, ITR. All now accessible in a single flow.

The ability to use it has not.

Lenders carry a lot of baggage and rigidity in their policies, SOPs, workflows - the underwriting harness that has accrued over years

So the data goes unutilized/ under-utilized

A risk-averse lender won't rebuild its policy architecture around every new data source.

The missing piece is an intelligence layer that has two roles
01 · Meet lenders where they are

Fit new data into each lender's existing harness (its fields, formats and policy structures) today.

02 · Don't cap them there

Expose richer intelligence that the lender can grow into when ready.

02 · MENTAL MODEL
Every lender essentially asks the same core questions. But no two answer them alike.
All lenders look for the same signals
01Ability to repay
02Intent to repay
03Identity and fraud
04Recoverability

The credit tenets: same across lenders irrespective of their underwriting harness/ lending product

But they differ in how they package those signals for underwriting
RIGIDITY →
Rigid · thin data team
Old-school NBFC

Locked into legacy fields, no analysts. Wants new data in the shape and form it already uses.

Rigid · strong models
Large bank

Potential in-house models, battle-hardened formats. Wants clean inputs, not opinions.

Flexible · thin data team
Small new lender

Open to change, no data team. Can use ready-made intelligence modules.

Flexible · strong models
Data-first fintech lender

Open and capable. Wants the raw material to build its own intelligence.

SOPHISTICATION →
03 · CORE INSIGHT
04 · Platform design
05 · WORKED EXAMPLEEvery number decomposes
Standardize only the building blocks. Let lenders package them into solutions
Six layers: many sources in, one core, many configs out.
One number, end to end.
The obvious move, standardize at the tenet level, fails

Was initially considering pre-built ability, intent and identity modules. But sameness at the question isn't the same as sameness at the answer. A standardized tenet-level aggregation kills the lender's ability to have its own weights.

Where lenders truly dont differ: Facts and signals

Standardization should stop at the highest level where lenders genuinely don't differ. Platform-authored modules can still exist on top as an option, but only as a default combination of signals that are configurable by the lender

Multiple outputs
Configurable packaging
Standardized core
Mapper
Multiple sources
ManyconsumersConfigurablepackagingOnecoreManysources
Large bankraw signals, API
Rigid NBFCretrofit view
New-age lenderstandard modules
Batch feedssame queries on a schedule
L6
Deliveryweb · API · batch — one internal API
L5
Configurationproduct templates × lender overlays
L4
Intelligence modulesnamed compositions of signals
L3
Signal libraryaggregates → signals → composites
L2
Canonical entity graphresolved entities + relationships
L1
Sources & ingestionone mapper per source
GST
AccountAggregator
Bureau
Udyam
PAN
ITR
LandRecords
Utility
Click a layer for details
L6 · Deliverymany formats out
Large bank · API{ corroboration: 0.93 }raw signal → the bank’s own models
NBFC · retrofit viewFIN-05 Banking–GST match: 93%the lender’s own field
L5 · Configuration
Product templateWorking capitalasks for financial health and corroboration
Lender overlaysBank → raw API NBFC → summaries, field FIN-05, web app
L4 · Intelligence modulecomposition of signals
Financial Healthcorroboration 0.93 · revenue +11% · buffer 23 days
L3 · Signal librarythe STANDARD core
Aggregate — computedBanked revenue: ₹3.9Crrule v2 · excl self-transfers, loan credits
Signal — computedCorroboration 0.93= 3.9 / 4.2 · both explainable to source
L2 · Canonical entity graphobserved, with receipts
FactDeclared revenue: ₹4.2Crattribute on: Business, from: GST filing · GSTR-3B
Events4,812 bank transactionstxn records linked to Account → Business · AA
L1 · Sources & ingestionmany sources in
Touched by this exampleGST · Account Aggregatorone mapper each
Available, not needed hereBureau · ITR · PAN · Udyam
Design principles
One global set to rule them all
01

Standardize facts and signals, not lender requirements.

02

Observed and computed stay strictly separate.

03

A score is okay, a decision is not.

04

Every number must decompose to source facts.

05

Configuration over customization. Customization exits the platform.

06

Don’t hard-code structures experts themselves might debate about.

L1
Sources and ingestion

One mapper per source. The only code in the platform that knows source formats.

01

Each mapper parses the source’s payloads and writes facts and event records onto the canonical entity graph (L2).

02

The source-to-entity mapping is many-to-many: GST, for eg, maps identity onto the Business entity, creates filing records, invoice-level transaction records, and counterparty references (check out L2 for details on entities and records)

03

Consequence: A new data source is a new mapper and nothing else. It writes facts into schemas that already exist, so the layers above just get richer inputs.

GST · Account Aggregator · Bureau · ITR · PAN · Udyam
L2
Canonical entity graph

“What each source says” → “What we know about each real-world thing, with receipts.”

01

Standardized representation of entities and facts/records, along with relationships between them.

02

Master entities — Business, Person, Account, Counterparty — resolved across sources and connected to each other by their relationships.

03

Event records — Transaction, Filing, Invoice — are never merged, only linked to the right master entities.

04

Facts are observed-only: value, source, timestamp, confidence. Anything computed, even a sum, goes to L3

05

Source-versus-source disagreement → fraud signal; derived-versus-fact → corroboration gap.

06

Why a graph: makes relationships first-class objects with their own facts and signals, allowing underwriting against them. Also makes structural fraud, like circular invoicing, easier to catch.

Person —owns→ Business —supplies→ Counterparty
L3
Signal library

A lender-agnostic, source-agnostic computation over the graph, each with provenance and confidence.

01

Tiered computation: base aggregates → signals → composite signals. Every step is recorded and explainable to source.

02

Pure signals are facts about the entity alone and can be precomputed. Contextual signals (like FOIR) need borrower × proposed loan terms, and are computed at query time.

03

Because signals are lender-agnostic, they could get reused in unplanned ways: GST might be used for a compliance module now, but counterparty modules for another lender later.

revenue trend · bounce incidence · days sales outstanding · cash flow periodicity
L4
Intelligence modules

A composition of signals answering a credit question.

01

The core component of this layer is a composition engine that can aggregate signals into a module/ composite score with open weights.

02

Platform-authored: standardized compositions that are like the platform’s catalog of pre-built modules

03

Lender-authored: retrofit modules/ custom scorecards built with the same composition engine (exposed to the lenders as a tool).

04

Output always has constituent signals. A standardized composite score could also be offered. If it is, it should have a published lender-agnostic methodology.

05

Out of scope: scores that provide default probability

06

A module can be the granularity level at which per-team access is configured.

Cash Flow Health · GST Compliance · Identity & Fraud · Counterparty Quality
L5
Configuration

Config only, no computation: product templates × lender overlays.

01

Products are defined by stripping down to attributes: repayment source, what’s underwritten, receivable and payer identification, self-liquidating or not, etc.

02

A product template defines what questions to ask: which modules, signals, entities, relationships matter

03

A lender overlay defines lender config: standard or lender-authored modules, team visibility, raw signals or summaries, channels, LOS mapping, etc.

04

A setup is a product × lender pair. A second product is cheap, a new lender cheaper.

templates: working capital · overlays: module visibility
L6
Delivery

Web, API and batch are just three wrappers of one internal API, not three products.

01

The API that gets exposed to API lenders in the future is just a wrapper on the internal API the V1 web app calls. So "Launching APIs" is just auth + docs, not a rebuild.

02

Batch is the same queries on a schedule. No new pipeline.

03

Access control (lender/ team/ module visibility) should be enforced at this shared API layer, so it gates all the channels simultaneously.

web app · API · scheduled batch pulls
Why it’s computableProvenance
Source 1observed
Source 2computed
Source 3observed
Signalcorroboration

Corroboration is a by-product of co-locating facts on resolved entities.

Sources carry important info about the origin of the data being used. But making the sources themselves canonical makes the system inflexible towards new sources, and conflicted between multiple sources.

Instead, if the atomic facts carried by the sources are made canonical, while sources continue to provide provenance to the data/computations, we get a system that benefits from the sources (even from their redundancies) without being bound by them.

Data redundancy between sources is itself a source for:

→Corroborating data: observed vs computed
→Calculating composite signals: computed over observed (like in the example above)
→Identifying fraud: observed vs observed
Standardize facts/signals, componentize intelligence & configure outputsThe product should therefore funnel data from multiple sources into a source-agnostic standard core, that then serves standardized building blocks for configuring multiple output modules
Product Philosophy
06 · Configuration vs customization
What's standardized, what's a config, and what's outside the platform
◼ STANDARDIZED

Entity schema · signal definitions and methodology · module composition engine · product template schema · provenance format. 

◐ CONFIGURABLE

Module configuration (weights, mappings, scores) · product templates (defined as attribute profiles) · module visibility per team · consumption pref (raw signals to summaries) · delivery channel.

◇ OUTSIDE THE PLATFORM

Genuinely bespoke logic should be built by the lender on the raw signal API. The platform should never fork per lender.

PRODUCT TEMPLATE × LENDER OVERLAY
Lender ALender B
Working capitalP1×LAP1×LB
Equipment finance—P2×LB
Supply-chain →—+ P3

A deployment is a product template × lender overlay pair. A new product is a new row. A new lender, a new column. Both reuse existing machinery in some form.

07 · Extensibility
Five kinds of change, with almost no rework.
ManyconsumersConfigurablepackagingOnecoreManysources12345
Large bankraw signals, API
Rigid NBFCretrofit view
New-age lenderstandard modules
Batch feedssame queries on a schedule
L6
Deliveryweb · API · batch — one internal API
L5
Configurationproduct templates × lender overlays
L4
Intelligence modulesnamed compositions of signals
L3
Signal libraryaggregates → signals → composites
L2
Canonical entity graphresolved entities + relationships
L1
Sources & ingestionone mapper per source
GST
AccountAggregator
Bureau
Udyam
PAN
ITR
LandRecords
Utility
Five kinds of change
1

New data source → one new mapper (L1). Nothing above notices.

2

New lender → one overlay (L5), plus a retrofit view if the lender's system is rigid (L4). L1–L3 untouched.

3

New lending product → a new product template (L5); sometimes a new signal or entity subtype (L3/L2). 

4

New intelligence module → just a new composition over existing signals (L4).

5

New consumption channel → a new wrapper on the same internal API (L6).

Unplanned reuse

GST ingestion built for working-capital compliance modules can later feed supply-chain counterparty modules from the same tables.

08 · North Star
The North star should be a pair: Penetration x Marginal cost of onboarding
Penetration

The share of an onboarded lenders' volumes employing this layer defines the value add, and the usability of the product.

Without it, it is gonna be an unused pipe that creates no value irrespective of how beautiful/ sophisticated it might be.

Falling marginal cost

Onboarding cost of a new lender/product must trend down over time (as the reuse ratio of existing entity/record types, signals, modules, etc goes up).

Without it, its a services business masquerading as a platform.

The strongest proof it works:

An onboarded lender launching a second product on the platform