Concept
Glossary
The vocabulary behind Duration's model. Every budget item has a purpose and a horizon, and the horizon decides where the money sits — these are the terms that describe that. The same definitions appear as the inline "?" hints throughout the app.
- Activity
- Activity is a bucket's real cash movement over the calendar month you are reading: money received into it (an income or refund posted here) minus what was spent from it. It is distinct from allocated, which is intent moved between envelopes without any cash changing hands — activity is money that actually arrived or left. A month with only spending shows a negative activity figure; a quiet month shows none. The window is the month for every bucket, whatever cadence its goal runs on — the goal's own cycle is spoken where the goal lives.
- Adjusted funded
- Adjusted funded is the drift balance: real funded after the four carve-outs — ready-to-allocate set aside, receivables added back, market movement held for attribution, excluded transactions dropped. It is the figure compared against allocated to produce drift, so the comparison stays honest. It is not the figure your bank shows — that is funded.
- Allocated
- Allocated is the intent figure for a horizon: the total parked across its buckets. Allocating raises it without moving any cash, so allocated can run ahead of funded. That gap is drift, and it is closed afterwards — by a sweep moving cash to match intent, or by attributing market movement so intent matches reality. On the Buckets page the Allocated column is the same act measured over one calendar month — how much intent you moved into that bucket this month, a flow — rather than the standing total, which the Balance column shows.
- Attribution
- Attribution drains the market pool (M) into buckets by a split you choose: pro-rata by current balance (the default), all to a single bucket, or a custom split. It moves intent only — no cash — so funded is untouched. Attributing into another horizon’s bucket is allowed too; that simply leaves an ordinary timing drift the sweep then closes.
- Balance
- A bucket's balance is what it holds at the as-of date: its opening balance for the cycle, plus everything allocated into it since, less everything spent from it. Like every figure in Duration it is derived from the journal, never stored — a filter-and-sum over the postings that reference the bucket. A negative balance is an overspent envelope, money spent that was not allocated here; for a receivable it is the mirror image, the amount another party still owes you.
- Book
- A Book is a complete, separate picture of one pile of money — its own accounts, buckets, allocated, funded and drift, kept in its own accounting currency. You switch between Books rather than blending them, so joint household money can be its own Book (the joint account tracked and swept like any other) while your personal contribution to it is simply a spend in your personal Book. Every unit of money belongs to exactly one Book, so nothing is counted twice.
- Bucket
- A bucket holds intent at a horizon — rent, a holiday, an emergency fund. Allocating moves money into a bucket (intent, not cash); spending draws it back down. A bucket belongs to one horizon at a time, but that membership is dated, so it can be re-homed to a nearer horizon as a deadline approaches without rewriting its history.
- Commitments
- Commitments is the sum of what your goals require you to set aside each month — each goal's required pace, a dated target spread to its deadline or a recurring target per cycle. It is a monthly flow, kept distinct from allocated, which is a balance already parked. Regular set-asides into buckets that have no goal are estimated from recent allocations and shown alongside as an advisory figure, but they are not counted as committed — give such a bucket a goal to firm it up.
- Contributions
- Contributions is the cumulative real cash moved into a horizon's accounts — income swept in, transfers in and out, opening balances — with mark-to-market revaluation excluded. Set against the tier's funded value over time, the gap is the tier's market return: for out-of-pocket the two coincide, while a long-term tier's value can run ahead of (or behind) what you contributed.
- Coverage (net vs gross)
- Coverage is the single out-of-pocket liquidity question: does the debit account, with or without the expected repayments, cover the card obligations? The net figure assumes the receivables settle before the bill is drawn; the gross figure counts on no repayment and covers the counterparty’s share too. It is presented as a choice, never applied automatically.
- Drift
- Drift is the difference between what you have allocated and what is actually funded. It deliberately separates into two parts that call for opposite actions: timing drift — intent the cash has not caught up to, which a sweep closes — and market movement, which is waiting to be attributed across buckets and is never swept. Keeping them apart is what lets a single figure not mislead you into the wrong move.
- Excluded
- Excluding a transaction keeps it in the real balance — the money moved, and the statement still reconciles — but removes it from the drift diagnostic and from every other derived figure, such as average spending and goal progress, so a one-off raises no phantom drift and pollutes no signal. The single flag does one clean thing; un-excluding toggles it back, after which the transaction wants a bucket like any other.
- Expectation
- An expectation is an accepted-but-not-yet-cleared transfer, kept off the ledger. It does two things: it suppresses re-suggesting the same move, and it waits to match the real transfer when it appears in an import. Until then the horizon honestly still shows underfunded, because the money has not actually moved. Settle it when the transfer lands; an expectation never matched simply expires, harmlessly.
- Expected income
- Expected income is the monthly baseline you declare — your take-home pay, after tax and deductions: the money that actually lands in your account, not your gross salary. It is versioned and effective-dated like a goal — a raise is a new version from its date, and the earlier value stays in your history, while a mistyped figure is corrected in place — and it is the figure the capacity lens measures your commitments against. Beside it, Duration shows the trailing average of income actually received as a quiet reality-check, but the declared figure is the one the arithmetic uses.
- Free to commit
- Free to commit is what remains of your expected income once every commitment is counted — the honest answer to “can I take this on?”. A new goal fits when its monthly requirement sits inside it. When it turns negative you have committed more than you expect to earn, the whole-economy sign that something has to give before you take on more. It is a forward lens, not a record of the past.
- Fund
- A fund is the sweep move for an underfunded invested horizon: it transfers cash from the debit hub into the invested account so funded catches up to what you have allocated there. It is the payday-sweep direction — money moving out along the horizon ladder.
- Funded
- Funded is the net position across a horizon's accounts — cash held, less any liability such as a card. Duration keeps two funded figures doing different jobs: this real balance, reconciled against statements, and an adjusted balance used only in the diagnostic — the real balance after carving out ready-to-allocate, receivables, market movement and excluded transactions, so the comparison against intent stays honest.
- Goal
- A goal is dated configuration over a bucket — a target by a date, or a recurring per-cycle target — never a separate pot of money; contributing is an ordinary allocation into the bucket. Progress is measured gross (the running sum of contributions in), so a drawdown lowers the bucket’s balance without erasing the progress you made toward the goal. Because a goal belongs to its bucket, it is read and changed where the bucket is: correcting one edits it in place, while a change meant to start on a later date is scheduled and leaves the earlier version in the goal’s history.
- Harvest
- A harvest is the sweep move for an overfunded invested horizon: it sells and transfers cash from the invested account back to the debit hub, where it can fund a tier that is short or return to ready-to-allocate. Harvests are surfaced before fundings so the hub never goes negative mid-sequence.
- Horizon
- A horizon is the spine of the model: a band defined by when you will need the money and how much risk it can bear, from out-of-pocket (a debit account) through short, medium and long-term invested tiers. Every account and bucket belongs to a horizon, and the horizon determines where the money actually sits. The aim is control and legibility — a clear picture of where everything stands — not chasing yield.
- Idle cash
- Idle cash is the one sweep move that is not a bare transfer: when ready-to-allocate is positive and past the threshold, it is both allocated into a bucket at the lowest invested tier and funded there. Doing both keeps the move from bouncing back as overfunding on the next sweep — the cash and the intent travel together.
- Market movement (M)
- Market movement (M) is the change in an invested account's value not explained by your recorded contributions. It is held as a per-horizon “to attribute” pool — the market analogue of ready-to-allocate — and shown as drift so you notice it, but labelled “attribute” rather than “sweep”. The gain is already in the account, so it is never swept; it waits until you decide how to spread it across buckets.
- Opening balance
- An opening balance is a posting primitive, not an onboarding flow: each account can carry one, effective-dated at a chosen epoch, that sets where it stood when the journal begins. Queries before that date are empty by construction. Opening allocated need not equal opening funded — any gap is honest opening drift, closed afterwards through ordinary allocation.
- Ready to allocate
- Ready-to-allocate is where income waits for a job. The cash sits in your debit account, but it is carved out of the out-of-pocket drift figure so that unassigned money shows as its own “ready to assign” line rather than masquerading as overfunding. You draw it down by allocating into buckets.
- Receivable
- A receivable is the mirror of ready-to-allocate: a special out-of-pocket bucket holding a counterparty’s share of a spend. A partner-split spend posts their share here, so it does not read as your underfunding; when they repay, you categorise the repayment into the receivable and it falls back to zero. Both are ordinary, drift-neutral moves — there is no special linked-pair object.
- Sweep
- The sweep proposes the cash moves that close timing drift, all routed through the debit hub: harvesting overfunded tiers up to the hub first (so it never runs short), then funding underfunded ones, plus moving genuinely idle ready-to-allocate into the lowest invested tier. It is advisory and recomputed from drift on every refresh — nothing moves until you record it.
- Threshold
- Each horizon has a threshold — an amount below which timing drift is not worth acting on. Within the dead-band no sweep suggestion is raised, and a flag persists only until the mismatch resolves or shrinks back below the line. Defaults are opinionated but adjustable: tighter for short horizons, more generous for long ones where short-run market movement is expected.
- Timing drift
- Timing drift is the part of drift a sweep should act on: the gap between a horizon’s adjusted funded and its allocated intent. Shown here in over-positive terms — a negative figure means underfunded, so cash must move into the horizon; a positive figure means overfunded, so cash can be swept up a tier, or idle out-of-pocket money moved into the lowest investment tier. Per-horizon timing drift always sums to zero, so every deficit is matched by a surplus elsewhere and the system is always sweep-able.
- Transfer
- A transfer is a cash-ledger move between two of your accounts that conserves value and leaves intent untouched — its whole purpose is to let funded catch up to allocated. The set is small and closed: the payday sweep, the credit-card payment, a sale-and-transfer out of an invested account, and a partner repayment. A card payment is a transfer, not a spend — the spending already happened when purchases hit the buckets.