1. Toggleable one- or two-stage model
Every loan record starts from the same first stage. What happens after
depends on the stage_mode you choose on the
generator page — the same "did
it happen" / "how bad was it" split every insurance line on this platform
uses:
- Default probability — whether the loan defaults before
maturity is table-rated, life's/health's/property's
technique. A loan-purpose base default rate
(Business/Housing/Education/Health/ Other) is the actuarial anchor;
missed-contribution history and occupation-sector informality each
apply a multiplicative loading on top, with region as a third,
decorative loading playing the same role property's
region_flood_loadingplays on its own frequency side. This logic is identical in both stage modes and is computed beforestage_modeis even consulted — single-stage's entire output, and stage one of two-stage. - Loss given default (two-stage only, computed only for
loans that default) — the unrecovered fraction of principal is a log-normal
draw, property's "multiple of a principal/sum field" technique, capped
at 1.0x
loan_principal_ghsthe same way property's payout is capped at 1.0x sum insured. Group guarantee presence and loan-to-savings ratio are the two core severity drivers; loan purpose and susu group type each apply a decorative multiplier on top, property's claim-category/property-type pattern.
Single-stage produces the default-probability columns only —
group_guarantee,
loan_to_savings_ratio, and
loss_given_default_ghs are entirely absent from
the output in this mode, not null-filled.
Two-stage is the default — same "default the richer shape,
allow opting down" reasoning the include-names toggle uses on every other
line. Whichever mode you pick is recorded in the dataset's manifest and
citation — two downloads of this line in different modes are, citation-wise,
two different datasets, since a single-stage download simply has no loss-given-default
columns at all.
Like property, this line puts two of its four core hypotheses on each stage, rather than all four loading onto one the way motor, life, and health each do.
2. The four hypotheses
Two hypotheses drive whether a loan defaults at all and hold in both
stage modes, since stage-one logic doesn't change based on the toggle;
the other two drive how much is actually lost once a default occurs,
and only exist — and are only verified — in two-stage mode, scoped to
records where default_occurred === 1.
Tracked separately below rather than in one undifferentiated table,
since which mode a factor actually applies in is the thing a reader
needs disambiguated.
| Factor | Stage | Direction | Rationale encoded |
|---|---|---|---|
| Missed-contribution history | Default probability both modes | Positive | A member's own record of showing up with their susu contribution is the closest thing an informal lending scheme has to a credit-bureau record — the observable proxy microfinance institutions actually use in the absence of formal credit data. |
| Occupation-sector informality | Default probability both modes | Positive | Informal-sector income is more volatile than formal-sector wage income, a documented driver of microfinance default — a coarser, less-current signal than the borrower's own recent contribution behavior, so it carries the smaller of the two loadings. |
| Group guarantee presence | Loss given default two-stage only | Negative | The joint-liability mechanism classic group lending is built around: fellow group members have a direct stake in recovering part of the shortfall once a default has already happened, which improves recovery rather than preventing the default in the first place. |
| Loan-to-savings ratio | Loss given default two-stage only | Positive | A loan sized well beyond what the borrower has actually accumulated in the susu fund leaves less of the borrower's own money on the table to recover against — thinner collateral, larger eventual loss. |
All four hypotheses are verified at n=5,000, the same default motor, health, and property already use — checked empirically per those lines' own precedent of not assuming n=5,000 holds without checking, rather than reused for consistency alone. All four directions held across every regression seed at that n, so unlike momo's rare Cash-Out-only channel effect, nothing here needed a larger sample to hold consistently.
3. Coefficients
Default probability is modeled as
p = clip(base_rate(loan_purpose) · missed_contributions_loading ·
occupation_sector_loading · region_loading, min_probability,
max_probability), where base_rate(loan_purpose) is the loan-purpose
base-rate table lookup, missed_contributions_loading is a banded multiplier on missed-contribution ratio, occupation_sector_loading applies by occupation sector, and region_loading is the decorative region term. When stage mode is two-stage, loss given
default, for loans that default, is modeled as
loss_given_default = min(loan_principal_ghs · exp(log_base +
log(group_guarantee_multiplier) + loan_to_savings_coef ·
loan_to_savings_ratio + log(loan_purpose_multiplier) +
log(susu_group_type_multiplier) + ε), loan_principal_ghs), where group_guarantee_multiplier applies only
when a group guarantee is present (else 1.0), loan_to_savings_coef is applied directly to the loan-to-savings ratio rather than as a category
lookup, loan_purpose_multiplier and
susu_group_type_multiplier are named terms keyed
off loan purpose and susu group type respectively, and ε is normal noise.
The min(..., loan_principal_ghs) term is this
line's loss cap — a defaulted loan can't lose more than its own principal
by construction, property's identical indemnity-cap reasoning. These coefficients
are illustrative, chosen to produce a clearly recoverable signal, anchored
against general microfinance/ susu-lending literature (Rutherford, The Poor and Their Money; Grameen-style group-lending studies; ILO informal-economy
estimates), not derived from any real Ghanaian susu scheme's own
default data. Exact magnitudes aren't published on this page — see the
current defaults, and change them, in the
Advanced: customize the model panel on the
Micro-Credit & Susu Scoring generator if your thesis calls for weaker or stronger effects, and note in your
write-up which values you changed from the defaults.
4. Determinism
Generation runs server-side using a seeded generator (numpy's
default_rng, PCG64) rather than an unseeded
source of randomness — same mechanism as every other line on the
platform. The same seed, record count, and generator version (stamped
in every citation and manifest — see the Cite section on the generator
page) will always reproduce byte-identical output. Report the seed and
record count alongside your dataset — that pair, together with the
generator version, is sufficient for anyone to regenerate exactly what
you analyzed.
5. What's decorative vs. load-bearing
Region, loan purpose's decorative loss-given-default multiplier, and
susu group type exist to make records look like real Ghanaian susu
lending and are internally consistent with each other, but they are
not the object of the four hypotheses above — loan purpose's own
frequency-side role (the base-rate anchor) is load-bearing;
only its severity-side multiplier is decorative. Unlike momo, a susu
record does carry a member_name field — a susu
group is a named, known-to-each-other set of people, not a wallet/MSISDN-keyed
transaction — gated by the same name-inclusion toggle as every other line
(ROADMAP.md Phase 4.5.3).
6. Known limitations
- This is synthetic data. It should never be presented as, or mistaken for, real susu-scheme or microfinance data in a publication.
- Default probability is table-rated with multiplicative loadings, not a from-scratch regression — no interaction effects between missed-contribution history, occupation sector, and region are modeled beyond simple multiplication, unless you add them yourself downstream.
- Loss given default is capped at 1.0x loan principal regardless of how group guarantee, loan-to-savings ratio, loan purpose, and susu group type stack — this line's loss cap, a harder constraint than it might look, since it follows directly from a defaulted loan not being able to lose more than it was worth, not from a chosen sanity limit.
- If your thesis needs a different balance between the four hypotheses, adjust the relevant loadings in the Advanced: customize the model panel on the Micro-Credit & Susu Scoring generator and say so in your write-up.
7. Citing this tool
Something like: "Synthetic data generated using Dataset Foundry (seed = 42, n = 5,000), a deterministic Micro-Credit & Susu Scoring data generator built for this thesis in the absence of accessible real-world susu- lending data." Include the seed and record count so the exact dataset is reproducible from the tool alone — or use the auto-generated citation block on the generator page, which also includes the generator version and any advanced-config changes.