Liquidity Gap and Buffer: Build the Ladder, Size the Stock
This tool builds a maturity ladder and sizes a buffer against it. Enter inflows and outflows by bucket and it returns each gap, the cumulative gap, the gap as a share of the bucket's outflows, buffer cover in times, and a test of each bucket against a cap on its own negative gap.
Build the ladder, size the buffer, and test the cap
Every field below is editable and nothing is stored: close the tab and the numbers go with it. The defaults reproduce the worked example this calculator uses throughout, for Vindhya Commercial Bank Limited, an invented bank. The one slider is the behavioural assumption: how much of the Rs 36,000 crore of balances with no contractual date is placed in bucket one. Moving it takes that amount out of the last four buckets in proportion to their outflows, so the ladder keeps tying. The case gives no split of that remainder, so the proportional spread is a stated choice and not the bank's. Every output is an illustration of arithmetic and never a requirement, a minimum or an opinion about any institution.
The second button moves nothing but the assumption. The third moves nothing but the four buffer lines. Both leave the two columns tying. The tie is what each button is for.
| Bucket | Inflows | Outflows | Bucket gap | Moves the running total | Cumulative gap |
|---|---|---|---|---|---|
| LB1 | |||||
| LB2 | |||||
| LB3 | |||||
| LB4 | |||||
| LB5 | |||||
| LB6 | |||||
| LB7 | |||||
| LB8 | |||||
| Total |
The gap column is inflows less outflows. The movement column is what that gap does to the running total. The last column is the running total after this bucket, and it is the gap column added up one row at a time.
On this ladder the worst cumulative shortfall is Rs 9,600 crore at bucket LB5, the buffer covers it 1.50 times, and the cap on bucket LB1 runs at 89.3 per cent with Rs 288 crore of headroom.
The defaults are Vindhya Commercial Bank Limited's own. On them the ladder ties at Rs 96,000 crore on each side, the deepest cumulative shortfall is Rs 9,600 crore one year out, the buffer of Rs 14,400 crore covers that deepest point 1.50 times, and the cap on the first bucket runs at 89.3 per cent with Rs 288 crore of headroom. The whole answer is those four figures, and that is a small thing. The arithmetic is one subtraction, a running total, four divisions and one comparison. A spreadsheet does all four, so the arithmetic is not what makes a tool worth building. The two things the calculator will not permit are what make it worth building.
What does this tool compute, and what does it refuse to compute?
A maturity ladderA table of every inflow and outflow slotted into time bands, so that the timing of cash can be read rather than guessed. and a buffer are easy enough to name. The difficulty starts one step later, where somebody has to actually produce the numbers and hand them to a committee. Twelve columns decide what that person can and cannot say. Six of them go in and six come out, and naming all twelve is the difference between a tool and a box nobody can see into.
In go the bucketOne time band of the ladder, defined by its start and end day, into which every flow is placed. boundaries, the inflows, the outflows and the behavioural assumptionThe share of a balance with no contractual maturity that is placed in an early bucket, which is a decision and never a measurement. applied to balances with no contractual date. The four of them build the ladder. The buffer components and the cap go in next, and those two test the ladder rather than build it. Out come the gap, the gap as a share of that bucket's own outflows, the cumulative gap, the cumulative gap as a share of cumulative outflows, buffer cover in times, and the utilisation of a cap on one bucket's negative gap. Six outputs from six inputs, and every one of the outputs is arithmetic that can be done on paper. The value of the tool therefore sits in the inputs rather than the outputs.
Now the refusals. The refusals are the reason this exists as a tool at all. The tool will not run on a ladder whose two columns reach different totals, and it will not run without a behavioural assumption entered as its own number. A spreadsheet permits both. A spreadsheet will happily produce eight confident gap figures from a table that describes no balance sheet, and it will happily let the most consequential number in the statement live inside somebody's head. The two silences are where a real structural liquidity statement actually goes wrong, and they are the only two things this tool is strict about.
The household version has an identical shape at every scale. A salary lands on the first of the month. Rent leaves on the fifth, the school fee on the twentieth, the loan instalment on the second. Writing those down in a diary builds a ladder. Writing down the rent and forgetting the school fee leaves a diary that still adds up to a tidy-looking month and is wrong in a way that nothing inside the diary can reveal. And if somebody in the household has quietly decided that a fifth of the savings account will be spent this month, that decision changes the answer more than any of the entries written down, and it appears nowhere in the diary.
Why does the tool refuse a ladder whose two columns do not tie?
The tie checkA test that both columns of the ladder reach the same total, without which the table describes no balance sheet at all. is the first thing that happens and nothing else runs until it passes. At Vindhya Commercial Bank Limited the eight buckets carry inflows of Rs 96,000 crore in total against outflows of the same Rs 96,000 crore, and the tool above prints all sixteen of those figures bucket by bucket. Both columns reach the same total because both columns are the same balance sheet read from two sides.
Suppose one of them did not. Suppose the outflow column came to Rs 94,800 crore because Rs 1,200 crore of something was never slotted. The ladder would still produce eight gap figures and they would still look like answers. But the cumulative gap would be wrong by Rs 1,200 crore at every bucket after the one the missing item belonged to, and nothing on the output identifies which bucket that is. The error sits in one place and contaminates everything downstream of it, and the reader has no way of knowing whether the contamination starts at bucket two or bucket seven.
So the tool stops, and it says which column is short and by how much. The refusal is a small habit, and it is the difference between a number that can be defended in a committee room and a number that cannot.
A ladder is entered with inflows totalling Rs 96,000 crore and outflows totalling Rs 94,800 crore. The tool refuses to run. Why is that the right behaviour?
How is a bucket gap turned into something comparable across buckets?
The bucket gapInflows less outflows inside one bucket, which is meaningless across buckets of different sizes until it is expressed as a share. is inflows less outflows inside one band, and at this invented bank the first five are negative and the last three positive. Because both columns tie, the eight gaps must sum to zero.
Read in rupees alone that list invites a mistake, and it is a mistake almost every reader makes on first sight. Bucket one and bucket five both show a gap of minus Rs 2,400 crore. The two figures look like the same size of problem. The gap of minus Rs 2,400 crore is not the same problem in both. Bucket one covers fourteen days and bucket five covers half a year, so the two bands are not carrying anything like the same volume of traffic. Bucket one has outflows of Rs 9,600 crore, so the gap is 25.0 per cent of what has to leave in that band. Bucket five has outflows of Rs 14,400 crore, so the same rupee figure is 16.7 per cent of what has to leave in that one.
Expressing every gap as a share of its own bucket's outflows is the only thing that makes eight rows of different sizes comparable at all. The tool therefore always prints both columns and never one.
Bucket LB1 and bucket LB5 both show a gap of Rs 2,400 crore. Are they the same size of problem?
What does the cumulative gap add that the bucket gaps do not?
A bucket gap answers a question about one band in isolation, and no institution lives one band at a time. If Rs 2,400 crore is short in the first fourteen days, that shortfall does not evaporate on day fifteen. The shortfall is carried forward and it meets whatever the next band brings. The cumulative gapThe running total of bucket gaps to a point in time, which shows whether a shortfall accumulates or reverses. is the running total, and it is what shows whether the position is getting worse or turning round.
At this bank it deepens through each of the first five buckets and then closes back to nothing. The deepest point is at one year, at Rs 9,600 crore. The figure is worth holding on to: Rs 9,600 crore is 1.25 times the whole of the bank's equity of Rs 7,680 crore. A maturity mismatch bigger than the capital sitting behind it is not an error. A mismatch of that size is what a bank does for a living, and the ladder is where the size becomes visible.
Expressed against cumulative outflows the same curve opens at a quarter, holds there for the second bucket, and falls away from bucket three onwards to nothing. The fall after one year is not the bank getting safer; it is the denominator growing while the long assets finally mature, and reading the fall as improvement is the commonest misreading of a ladder there is.
The final cumulative gap is zero, and it will always be zero, on every ladder, for every institution, in every month. The tie check makes certain of it: if both columns reach the same total then the running difference must close at the last bucket. A ladder that ties to zero at the end says nothing whatever about whether the institution is safe. Everything the table knows sits in the shape before that point.
The final cumulative gap on this ladder is zero. What does that establish?
How is a buffer compared with a gap when one is a stock and one is a flow?
A cumulative gap is a flow: it is money that has to be found over a period. A buffer is a stock: it is a pile of assets sitting there on the reporting date. Comparing a stock with a flow means asking one simple question: how many times over would the pile meet the shortfall? The answer is buffer coverThe buffer divided by a cumulative gap, expressed as how many times over the stock would meet the shortfall., expressed in times rather than in rupees or in days.
The buffer at this invented bank has four components entered separately: cash and balances with the central bank held in excess of the reserve this invented bank must keep, being Rs 1,920 crore, central government securities of Rs 9,600 crore, state government securities of Rs 1,920 crore, and other assets after the bank's own haircut of Rs 960 crore. The four components come to Rs 14,400 crore. Divide that by each cumulative gap and cover runs 6.00, 4.00, 2.40, 2.00 and 1.50 times through the first five buckets, then 2.00 and 3.00 times, and then it has no answer at all in the last bucket because the cumulative gap there is zero. Because dividing by zero is not a very large number but an absent question, the tool prints the words no answer rather than a symbol or a very large figure.
One caution now, of the sort that quietly wrecks a paper. Rs 14,400 crore is the buffer in this guide. Rs 14,400 crore is also the outflow figure in bucket five and the outflow figure in bucket eight of the very same ladder. Three different objects, one number, all in one table. The tool labels every figure with the object it belongs to for exactly this reason, and so does this guide.
The buffer is Rs 14,400 crore and the cumulative shortfall peaks at Rs 9,600 crore at one year. Before the tool is run: at which bucket is buffer cover at its worst, and roughly what is it?
Where is the worst point, and why is it rarely the first bucket?
Almost everybody looks at the first bucket. The first bucket is the nearest, it is where a run would start, and it is the one a nervous reader checks first. At this bank the first bucket is the most comfortable point in the entire table: a cumulative gap of Rs 2,400 crore against a buffer of Rs 14,400 crore is cover of 6.00 times. Nothing in the first fourteen days is remotely tight.
The tight point is at one year, and it is tight for a structural reason rather than an alarming one. Cover falls through the first five buckets because the shortfall is accumulating faster than anything is coming back, and it recovers afterwards because the long assets start maturing. The tightest cover in a cumulative table always sits wherever the running total peaks. The peak is a different place from where the largest single bucket gap sits, and the tool marks it so nobody has to hunt for it. Here it is bucket five, at 1.50 times.
What does the whole default answer look like in a single view?
Here is the complete default output, with all six output columns beside the two input columns. The behavioural assumption is an input and not a finding, so it sits above the table rather than below it.
The behavioural assumption applied here is that Rs 1,800 crore of the Rs 36,000 crore of balances with no contractual date sits in bucket one, being 5.0 per cent of them, with the remainder spread across the last four buckets. The 5.0 per cent is Vindhya Commercial Bank Limited's own, and it is a decision made by a committee rather than a measurement taken from a system.
| Bucket | Inflows | Outflows | Gap | Gap over own outflows | Cumulative gap | Cumulative share | Buffer cover |
|---|---|---|---|---|---|---|---|
| LB1, 1 to 14 days | 7,200 | 9,600 | minus 2,400 | 25.0 | minus 2,400 | 25.0 | 6.00 |
| LB2, 15 to 28 days | 3,600 | 4,800 | minus 1,200 | 25.0 | minus 3,600 | 25.0 | 4.00 |
| LB3, 29 days to 3 months | 9,600 | 12,000 | minus 2,400 | 20.0 | minus 6,000 | 22.7 | 2.40 |
| LB4, over 3 to 6 months | 8,400 | 9,600 | minus 1,200 | 12.5 | minus 7,200 | 20.0 | 2.00 |
| LB5, over 6 months to 1 year | 12,000 | 14,400 | minus 2,400 | 16.7 | minus 9,600 | 19.0 | 1.50 |
| LB6, over 1 to 3 years | 24,000 | 21,600 | plus 2,400 | 11.1 | minus 7,200 | 10.0 | 2.00 |
| LB7, over 3 to 5 years | 12,000 | 9,600 | plus 2,400 | 25.0 | minus 4,800 | 5.9 | 3.00 |
| LB8, over 5 years | 19,200 | 14,400 | plus 4,800 | 33.3 | zero | 0.0 | no answer |
| Total, Rs crore | 96,000 | 96,000 | zero |
Buffer components entered separately: Rs 1,920 crore, Rs 9,600 crore, Rs 1,920 crore and Rs 960 crore, being Rs 14,400 crore in total. Cap entered on bucket LB1 at 28.0 per cent of that bucket's outflows, being Rs 2,688 crore, against a gap of Rs 2,400 crore. Utilisation 89.3 per cent and headroom Rs 288 crore. Every one of those is this invented bank's own working figure.
What is named here, and where the binding version lives
The mechanism in this guide is jurisdiction-free arithmetic: one subtraction, a running total, four divisions and one comparison. Nothing about it is a rule anywhere.
The contractual maturity mismatch monitoring tool that this ladder descends from is published by the Basel Committee on Banking Supervision through the Bank for International Settlements at bis.org, and that is where the origin of the idea sits. An Indian bank's actual reporting obligation is a different question: the buckets it must use, the basis on which each item is slotted, any limit on a behavioural adjustment and any tolerance applied to a bucket all come from the Reserve Bank of India at rbi.org.in.
Bucket definitions, slotting rules, behavioural limits, tolerances and effective dates are the regulator's to set, and the defaults in the calculator above are illustrative rather than current. Every one of those can and does change, and each should be confirmed at the source before being used for anything other than learning the arithmetic. The arithmetic transfers to any jurisdiction. The figures transfer to none.
How is a bucket tested against a cap, and how is utilisation computed?
A capA limit on how large a bucket's negative gap may be, usually expressed as a share of that bucket's outflows. on a bucket's negative gap converts a shape into a pass or a fail, and that is the one place a ladder turns into something a committee can act on. At this invented bank the cap sits on bucket one and says that the negative gap there may not exceed 28.0 per cent of that bucket's outflows. The cap is the bank's own, and there is exactly one ladder cap in a set of twelve limits. One out of twelve is worth noticing on its own.
Turning that into an answer takes two steps and the order matters. First the cap becomes an amount: 28.0 per cent of Rs 9,600 crore is Rs 2,688 crore. Then utilisationWhat is running against a cap expressed as a percentage of it, computed from the amounts and never from rounded percentages. is the gap over that amount: Rs 2,400 crore over Rs 2,688 crore is 89.3 per cent, and the headroom is Rs 288 crore. To use that headroom up, the bucket's inflows would have to fall by Rs 288 crore, or 4.0 per cent of them. The alternative is outflows rising to Rs 10,000 crore, 4.2 per cent more than they are. The only ladder limit in a set of twelve has about four per cent of one bucket between it and a breach.
Now the shortcut. The shortcut is universal and it is wrong. Almost everybody computes utilisation by dividing the reported percentages: 25.0 over 28.0 gives 89.3 per cent. On this row the shortcut happens to be right. Neither figure was rounded far, so luck carries it. Take the same habit to the same bank's wholesale funding limit and it fails: 22.6 per cent over a 20.0 per cent limit gives 113.0 per cent. The amounts give something else: Rs 19,920 crore over Rs 17,664 crore is 112.8 per cent. Two tenths of a point does not sound like much until it is the number in a board paper that a different system computed differently. The tool divides amounts, always, and prints that it does so on the same screen as the answer.
How does the tool compute utilisation against a cap?
What does the tool require to be stated that a spreadsheet would allow to be left blank?
Three things, and every one of them is a sentence rather than a number. The slotting basis, meaning on what question each item was placed in the band it sits in. The behavioural assumption, entered as its own figure and printed above the answer rather than below it. And the source of every buffer component, written down so a reader can ask where Rs 960 crore of other assets after the bank's own haircut actually came from.
None of those changes the arithmetic by a rupee. All of them change whether the arithmetic can be defended. A number that cannot be traced back to the decision that produced it is not a measurement, it is an assertion with a decimal point on it.
The assumption nobody could see, and the cap it moved
Here is how this tool gets used the way a spreadsheet gets used, and how it produces a ladder that ties, a utilisation inside its cap, and an answer nobody can defend.
Somebody pulls the outflow column out of a system as a single list of eight figures and pastes it in. Bucket one comes across as Rs 9,600 crore and looks like a fact. The figure is not one. Inside that Rs 9,600 crore sits Rs 1,800 crore that somebody chose to put there, being 5.0 per cent of the Rs 36,000 crore of balances with no contractual date. The other Rs 7,800 crore is contractual. Nothing on the screen distinguishes the two.
Now move the assumption from 5.0 per cent to 6.11 per cent. The change is just over one percentage point in a number that was never visible. Bucket one's outflows become Rs 10,000 crore. The gap becomes Rs 2,800 crore. As a share of that bucket's outflows it is exactly 28.0 per cent, so cap utilisation is exactly 100.0 per cent and the only ladder cap in the whole limit set has been consumed to the rupee. And the ladder still ties to Rs 96,000 crore on both sides. No money appeared; the money moved from the last four buckets into the first one.
Every arithmetic check the tool runs still passes. The tie check passes. Every gap sums correctly. The cumulative gap still closes at zero. The only thing that changed was a number that was never on the screen, and the model that sets it is one this invented bank has never independently validated.
The invisibility is why this tool takes the behavioural assumption as a separate required input rather than letting it arrive buried inside an outflow column, and why it prints it above the answer instead of in a footnote. The failure is not that somebody was careless. The failure is that the format gave carelessness nowhere to show up.
The behavioural assumption moves from 5.0 to 6.11 per cent. What happens to the ladder and to the cap?
What can this tool never see?
Three things sit outside what this instrument can reach, and all three would change the view of the ladder it has just drawn. The tool knows amounts and not providers. A bucket funded by nine institutions and a bucket funded by four hundred thousand savers are identical to it, and they are not identical to anybody who has watched either behave. The tool applies no run-off factor to anything, so it takes the flows exactly as entered and its answer describes ordinary conditions rather than a stressed month. And it takes bucket totals rather than a daily path, so it can produce no count of days at all: there is no day one, day two, day three inside it to count. A comfortable ladder from this tool is a statement about the timing of contractual and behaviourally adjusted flows in ordinary conditions, and it is a statement about nothing else.
The tool reports a comfortable ladder. Which of these can it not see, and would change the view of the position?
What should be checked before an answer it produces is believed?
Three checks, and not one of them is arithmetic. Does the ladder tie? The tool checks that one and refuses to proceed without it. Is the behavioural assumption written down beside the answer? The tool forces that one by taking the assumption as its own input. And has anybody independently validated the model that produced that assumption? The tool cannot check that one, and nobody usually asks.
At this invented bank the third check is the one that bites. The model that sets the behavioural life of those balances is one of three in the bank's inventory that have never been validated. The model also cannot be tested against outcomes in the way a market model can. Its prediction, how long a deposit actually stays, is only observable over years. A model that cannot be tested against outcomes is exactly the one that most needs somebody independent to look at its data, its assumptions and its implementation, and it is exactly the one that most often gets skipped.
Who actually picks this up, and what do they do with it?
Four readers, four uses, and no two of them read the same part of the table.
Devendra Achar, head of treasury at this invented bank, reads one row. He looks at bucket one, checks the cap utilisation, and wants to know how much room he has this week. At 89.3 per cent with Rs 288 crore of headroom, that is roughly four per cent of one bucket, and it tells him he cannot let a large placement run off without replacing it. He is not reading the shape of the curve. He is reading the nearest constraint.
The independent director on the board risk committee reads the shape and ignores the first row entirely. She wants to know where the tightest point is and how tight it is. The tightest point is the sentence she has to be able to say out loud. Buffer cover of 1.50 times at one year is a sentence. Bucket gaps in rupees are not.
A credit analyst at another institution, looking at this bank as a counterparty rather than as an employer, reads the same table for one thing the bank itself never says out loud: how far the answer depends on an assumption. Move the assumption by a percentage point and the only ladder cap in the limit set is fully consumed. A position that is comfortable only under one committee's judgement is not comfortable in the same way as one that is comfortable under any of them, and sensitivity of that kind is exactly what an outsider looks for.
And now the household version. The mechanism does not change with scale. A person with a salary, three fixed outgoings and an emergency fund is running exactly this table. The buffer cover question, how many times over would the emergency fund meet the worst month, is a more useful thing to know than the balance of the emergency fund on its own, and almost nobody computes it because it needs the running total rather than the month.
What three checks decide whether an answer from this tool is worth believing?
Sources
| Source | Document | Site |
|---|---|---|
| Bank for International Settlements | The Basel Committee liquidity standards and monitoring tools, including the contractual maturity mismatch tool this ladder descends from, cited as the origin of the idea | bis.org |
| Reserve Bank of India | What actually binds an Indian bank on structural liquidity: the buckets, the slotting basis, any limit on a behavioural adjustment, any tolerance on a bucket and the reporting cycle | rbi.org.in |
| Indian Banks Association | Banking operational convention on how a maturity ladder is compiled and circulated in practice | iba.org.in |
Vindhya Commercial Bank Limited and Devendra Achar are invented.
Educational material. Not advice on any investment, tax, budget or market position.
