RoomyFlow
← All posts

Why we count occupant-days, not roommates

· The RoomyFlow team

The "divide by four" trap

Most room-rental landlords split utilities the obvious way: take the bill total, divide by the number of tenants, send it out. Four tenants, RM 320 electric bill, everyone owes RM 80. Done.

It works right up until it doesn't.

  • A tenant moves out on the 12th of the month. Their replacement moves in on the 20th. Do you charge both of them a full share for May?
  • One tenant goes back to her hometown for a week during Raya. She still gets a full share of the air-con bill?
  • Another tenant's cousin stays for ten days. Is that free?

You can do the math by hand each month. We've seen landlords do it on the back of a receipt with a calculator. It's tedious, and tenants don't see the work — they just see the number you ask them to pay. So the first "why is mine so high?" message arrives, and now you're justifying yourself in a WhatsApp thread instead of running your business.

What we do instead

Every tenant in RoomyFlow has a count: occupant-days for the month.

  • Full month present? 30 days.
  • Moved in on the 14th? 17 days.
  • Holiday from 2–9 June? 22 days.
  • Hosted a visitor for 5 days? 35 days (yours + the visitor's).

We add up everyone's occupant-days, divide the bill by that total, and that's the cost per occupant-day. Each tenant pays their own day-count times that rate.

For a RM 312 electricity bill with 134 total occupant-days, the rate is RM 2.33/day. A tenant who was around for the whole month pays RM 70. A tenant who was away for a week pays RM 54. The tenant who had a friend crash for five days picks up the extra usage their friend caused.

Why this ends the arguments

When a tenant asks "why is mine higher?", you don't argue. You show them the breakdown. There it is:

Sarah · 30 days · RM 70.00

Marcus · 17 days · RM 39.60 (moved in 14 June)

Priya · 22 days · RM 51.20 (holiday 2–9 June)

Leon · 35 days · RM 81.60 (visitor 27 June – 1 July)

Sarah sees that Marcus paid less because he was here less. Marcus sees Leon paid more because Leon's guest was using the aircon too. Everyone can do the multiplication themselves. There's no judgment call hiding in the spreadsheet — just a rule applied consistently.

The math isn't complicated. It's just consistent. That's what the average landlord-and-calculator combination can't reliably deliver, especially around month-end when life is busy.

Where the day-counts come from

They're not magic. You enter them as the month happens:

  1. Move-ins and move-outs are already in the tenant record. They show up automatically.
  2. Holidays — when a tenant says "I'm going back to my hometown 2nd to the 9th," you record it in the calendar. Their day-count drops by 7.
  3. Visitors — when somebody asks "can my friend stay for a few days?", you record it. The host's day-count goes up by the visitor's stay length.

When you generate the bill at month-end, the day-counts are already there. The split happens in one click.

The corner cases we don't solve

A few honest caveats. Occupant-days work for things scaled with time: electricity, water, internet, gas. They don't work as well for fixed costs (like Wi-Fi router rental at RM 30/month) where every tenant benefits equally regardless of how long they were home — for those, an even split is more honest.

We also don't try to weight by intensity: a tenant who runs air-con 24/7 pays the same per-day as one who sleeps with a fan. To get more granular than occupant-days, you'd need per-room sub-metering (which RoomyFlow supports via Tuya smart meters — more on that in a future post).

For most bills though, occupant-days is the sweet spot: granular enough to feel fair, simple enough to defend with a sentence.

Try it on this month's bill

If you're using a calculator today, pull last month's electric bill and try the occupant-days math on a piece of paper. Compare it to what you actually charged. Two things tend to happen:

  1. The numbers shift by RM 5 to RM 40 per tenant. Not huge, but enough that the people who were around less feel the fairness.
  2. You realise you can't actually remember everyone's exact in-and-out dates from four weeks ago.

That second one is why the system exists. The math is easy. Remembering, every month, for every tenant, is the hard part.