25 min

Asset servicing and the payment waterfall

A servicer splits every collected payment down a strict priority order of fees, interest and principal, which is precisely the kind of rule a program can run without a back office.

Where you are. You can generate one loan’s schedule. Now hold a thousand of them. Money arrives every month from borrowers who mostly pay, some pay late and a few do not pay at all, and it has to be divided among parties who were promised different things. Somebody does that work, and the rule they follow is the subject of this lesson.

Somebody has to actually collect it

A pool of loans is an abstraction until you notice what it requires. Every month, a thousand payments must be collected, matched to the right loan, and applied to the right balances. Late payers must be chased. Insurance and taxes must be checked. Statements must go out.

That work does not do itself, and it is not done by whoever owns the loans. It is done by a servicer, who is paid a fee off the top of everything collected - and paid first, before anybody who bought the pool sees a penny.

The idea in one paragraph

Asset servicing is the operational work of running a pool of loans, and the waterfall is the rule that divides what it collects. The rule is strict priority: each level takes what it is owed in full before the next level receives anything at all. The servicer’s fee comes first, because if the servicer stops working nothing is collected for anybody. Then interest owed to investors. Then principal, which receives whatever remains and may receive nothing. Because the rule is mechanical, it is exactly the kind of thing a program runs without judgement - and because it is strict rather than proportional, a shortfall does not reduce everyone a little; it stops dead at whichever level runs out.

Strict, not proportional

That distinction is the entire lesson and the source of most misunderstanding.

Under a proportional split, a shortfall of ten percent reduces every claimant by ten percent, and everyone shares the pain. Under strict priority, the first levels are paid in full and the last level absorbs the whole shortfall. The exercise’s month has a few late payers, so collections come in below a full month: the fee is paid entirely, interest is paid entirely, and principal takes whatever survives.

Posting it, so nothing can vanish

The exercise does not merely compute the split; it posts each part to a ledger and asserts the sheet still balances.

That is deliberate discipline rather than ceremony. The commonest failure in this kind of processing is not a wrong rule but a rounding error or a dropped remainder that leaves a few pennies unaccounted, repeated across thousands of loans and hundreds of months. Posting every split to a double-entry ledger means the arithmetic has to close: what came in equals what went out, or the ledger refuses it. The assertion that the splits sum exactly to collections is the same check module 1 built into every posting.

Why this is programmable

Because the rule is a total order with no discretion in it, servicing is one of the most automatable jobs in finance, and much of it genuinely is automated. The residual difficulty is not the arithmetic; it is the exceptions - the borrower in hardship, the disputed payment, the loan whose documents disagree - and those consume the human effort.

The pattern generalises well beyond loans. Any time money arrives against several claims of different seniority, somebody writes a waterfall, and the next lesson turns that ordering into a product you can sell in slices.

Check yourself

1. Why is the servicer paid before the investors who own the loans?

Because if the servicer stops, nothing is collected for anybody. Paying it first keeps the machinery running under all conditions, including the ones where the pool is performing badly and the fee is the only thing that is certain.

2. Collections come in ten percent short. Under a strict waterfall, who bears it?

Whoever sits at the level where the money runs out, and everyone below them. The levels above are paid in full and feel nothing. That is the difference from a proportional split, where everyone would take a ten percent reduction.

3. Why does the exercise post the splits to a ledger instead of just computing them?

Because it forces the arithmetic to close. Rounding errors and dropped remainders are the characteristic failure of this kind of processing, and posting each split as a balanced entry means what came in must equal what went out or the ledger raises. It converts a silent error class into a loud one.

4. Where do the servicer’s incentives diverge from the investors’?

Its fee depends on collecting rather than on the pool performing well, and its handling of a troubled loan - modify, forbear or foreclose - affects different classes of claimant differently while its own income is taken off the top regardless. The interests overlap but are not identical, and the divergence shows up precisely when loans go bad.

Do this

Split a month’s collections down the waterfall and post every part.

python3 code/waterfall.py

The starter leaves you waterfall: take the servicing fee off the top, pay interest in full if what remains covers it, and let principal receive whatever is left, which may be nothing. The assertions check that the splits sum exactly to collections, that the fee is taken first, and that posting all three to the trust’s ledger leaves it balanced. Success prints the three amounts and confirms the sheet closes.

The completed version is in solutions/waterfall.py.

What you can now do. You can allocate collections down a strict priority order, post the splits without losing a penny, and say who absorbs a shortfall. The next lesson takes that ordering and sells it: the same pool, cut into slices that fail in a chosen sequence.

What you can now do

You can allocate a month's collections down a priority waterfall and post every split to a ledger that refuses to lose a penny.