All articles

Settling up

Splitting $10 three ways: where the extra cent goes

Three people, ten dollars, and no correct answer that gives everyone the same number. Rounding each share seems harmless and is not: sometimes it leaves the bill short, and sometimes it collects money nobody owes. Here is the rule that always adds up, and why which person pays the extra cent is not arbitrary.

Updated August 20267 min read

The short version

$10 between three people is $3.34, $3.33 and $3.33. Somebody pays a cent more, because ten does not divide by three and the remainder has to land somewhere.

What you must not do is round each share and hope. Give everyone $3.33 and you have collected $9.99, so the bill is a cent short. That failure is well known. The one nobody mentions is that rounding can go the other way and collect more than the bill, which is worse.

The rule

Work out each exact share. Give everyone the whole cents they are definitely owed. Then hand the leftover cents out one at a time, starting with whoever lost the most to rounding. The parts then always add back to the total, for any amount and any number of people.

Rounding does not just lose money

Everyone has seen the missing cent. Almost nobody has noticed that the same shortcut can overshoot, and that when it does you are collecting money that belongs to no one. There is no correct person to give a surplus back to, which is precisely why it is the worse of the two failures.

$10 between 3

Allocated properly
$3.34, $3.33, $3.33
Rounding each share
$9.99
Result
a cent short

$100 between 7

Allocated properly
$14.29 ×4, $14.28 ×3
Rounding each share
$100.03
Result
3c too much

$20 between 6

Allocated properly
$3.34 ×2, $3.33 ×4
Rounding each share
$19.98
Result
2c short

$1 between 3

Allocated properly
$0.34, $0.33, $0.33
Rounding each share
$0.99
Result
a cent short

5c between 3

Allocated properly
$0.02, $0.02, $0.01
Rounding each share
$0.06
Result
a fifth too much
The shipped allocator against rounding each share to the nearest cent. Both columns are real behaviors, not descriptions.

That last row is the one to sit with. Five cents between three people, rounded, produces six cents. A 20 percent error, from an operation that looks like being careful.

The same problem in percentages

Splitting by percentage hides it rather than avoiding it. Three equal shares are 33.333 percent each, 33.33 times three is 99.99 percent, and $10 split that way collects $9.99. The identical missing cent, arriving by a route that feels more rigorous.

The rule that always adds up

It is called largest-remainder allocation, and it is three steps you could do on paper.

  • Work out the exact share. $10 across three is 333.333 cents each.
  • Give everyone the floor. 333 cents each, which is $9.99 handed out and one cent still in your hand. The leftover is never more than one cent per person, so this always terminates quickly.
  • Distribute the remainder, biggest loser first. Everyone lost 0.333 of a cent here, so it is a tie, and the tie-break decides. One person gets $3.34.

The property that makes this correct rather than merely tidy: the parts sum to the total by construction. You never distribute more cents than you held back, and you never stop while holding one. There is no amount and no number of people for which it drifts.

Rounding asks each share to be nearly right. Allocation asks the total to be exactly right. Only one of those is a promise you can keep.

Who pays the extra cent, and why it is not arbitrary

When everyone lost the same fraction to rounding, something has to break the tie. The obvious choice is the first person in the list, and it is the wrong one, for a reason that has nothing to do with fairness.

Sort by position and the answer changes when the order changes. The same three people and the same $10 give a different result depending on how the list happened to be built, which means two devices looking at the same expense can compute two different splits and both be following the rules.

So the tie-break is on something stable. Halvy breaks ties by user id, and the effect is checkable: split $10 across Ana, Ben and Cleo, then split it again with the list reversed to Cleo, Ben, Ana. The extra cent lands on Ana both times.

Why that property is worth having

Because your phone and the server split the same expense separately, and they have to agree without conferring. A deterministic tie-break means a balance computed offline on a train matches the one computed on a server an hour later, to the cent. Sort by position instead and you get a class of bug that looks like a sync failure and is actually two correct answers disagreeing.

Try it on your own numbers

Put in any amount and any number of people. The left is the allocator the app uses; the right is rounding each share, which is what a calculator gives you.

Allocated properly

1 × $3.34, then 2 × $3.33

Adds to $10.00, which is the bill.

Rounding each share

$3.33 × 3 = $9.99

$0.01 short. The bill goes unpaid.

The left column is the allocator the app runs. Try $100 across 7, or 5 cents across 3, for the case people find surprising: rounding collects more than the bill.

A cent does not matter. Until it does.

On one dinner, this is pedantry. Nobody is chasing a penny, and a friend who did would be a worse problem than the penny.

It matters when a record runs for months. Every expense that does not divide evenly adds another cent of drift, in whichever direction the rounding happened to fall, and the errors do not cancel. After a few dozen expenses the balances are out by an amount too large to ignore and too small to explain.

That is the real cost, and it is not the money. It is that nobody can tell whether the discrepancy is rounding or a genuine mistake, so the whole record stops being evidence. A shared ledger people no longer trust is worse than no ledger, because they have stopped keeping receipts too.

Which is why this is worth getting right once, in the thing doing the arithmetic, rather than adjudicating later. The fewest payments that settle everyone up depends on it completely: netting people off only works if the parts reconcile, and how to split shared costs fairly covers choosing the method before any of this arithmetic applies.

Common questions

How do you split $10 three ways?
$3.34, $3.33 and $3.33. One person pays a cent more, because $10 does not divide by three and somebody has to absorb the remainder. The wrong answer is $3.33 each, which collects $9.99 and leaves the bill a cent short. Which of the three pays the extra cent should be decided by a fixed rule rather than by whoever is listed first, so that the same input always gives the same answer.
What happens if you just round each share?
You either come up short or collect too much, and which one is not predictable. Rounding $10 across three people gives $9.99, a cent short. Rounding $100 across seven gives $14.29 each, which is $100.03: three cents MORE than the bill. Collecting more than the total is the worse failure, because the surplus belongs to nobody and there is no correct person to give it back to.
Is it better to round up or round down when splitting a bill?
Neither, because both are wrong in one direction. The fix is not a rounding choice but an allocation rule: work out each share exactly, give everyone the whole-cent floor of their share, then hand out the remaining cents one at a time to whoever was rounded down the most. That is called largest-remainder allocation, and it means the parts always add back to the total exactly.
Who should pay the extra cent?
Whoever a fixed, repeatable rule says, and it matters less which rule than that it never changes. Deciding by position in a list is the tempting option and the wrong one, because reordering the same people then changes the answer. Halvy breaks ties by user id, so splitting $10 across three people puts the extra cent on the same person whether the list runs forwards or backwards, which is what lets your phone and the server agree without checking with each other.
Does a single cent actually matter?
Not on one dinner. It matters when a shared ledger runs for months, because the error compounds: every expense that does not divide evenly adds another cent of drift, and eventually the balances stop reconciling. At that point nobody can tell whether the discrepancy is rounding or a genuine mistake, and a record people no longer trust is worse than no record.
Why do percentage splits not add up to 100?
Because a repeating decimal has to be cut off somewhere. Three equal shares are 33.333 percent each, and 33.33 times three is 99.99 percent, so a $10 bill split that way collects $9.99. It is the same missing cent as before arriving by a different route, which is why splitting by percentages needs the same remainder rule as splitting by amounts.

Arithmetic you do not have to check

Halvy allocates every split this way, so the parts always add back to the bill and the same expense gives the same answer on every device. It splits by income for free, has no ads on any tier, and never asks to connect to a bank. Free on iOS and Android.

Every figure here came from running Halvy’s allocator against a naive round-each-share for the same inputs, including the cases where rounding overshoots. The determinism claim was checked by splitting the same amount across the same three people twice, with the list reversed the second time.