Six borrower circles sit around a village hub, each a joint-liability lending group (the Grameen-style model). Every household (a small dot) draws a loan, invests it in a tiny business (the ring around the dot grows with accumulated capital), and owes an installment on a fixed schedule. When a household's cash covers the installment it pays on time and turns green. When it falls short, group members pool spare cash to cover part of the gap — that's joint liability in action, shown as a bright line pulsing from the shortfall household to the group hub. If the whole group still can't close the gap, that household goes into default (red) and the entire group's ring dims: future loans for every member in that group shrink and their interest premium rises, exactly as real microfinance groups get repriced or cut off after a member default.
due = loan × (rate + 1/installments)
shortfall = due − cash
covered = min(shortfall, Σ peer_spare_cash × liability)
default if shortfall − covered > 0
- Members per group — larger groups spread joint liability further but also mean more neighbours a single shock can drag down.
- Interest per installment — the cost of capital; higher rates make the installment harder to clear from business income alone.
- Joint liability strength — how much of a shortfall peers are willing (or required) to cover before the group reports a default.
- Income shock risk — the chance any household's business income takes a hit this tick (illness, bad harvest, a slow market day).
- Cycle pace — how fast installment deadlines and loan cycles roll by.
Real-world relevance: this is the core trade-off microfinance design has to solve — joint liability lets lenders reach borrowers with no collateral, but it only works if the group's combined cash flow, not any one member's, is what gets tested against the installment. This 2D top-down view runs the identical equations as the 3D village scene, drawn as a flat map so the group topology and the spread of shortfall coverage are easier to read at a glance.