I use NetWorx on my home network for bandwidth monitoring. It can log data directly from the router using SNMP or UPnP.
The caveat is that you need to keep your monitoring PC switched on and monitoring traffic 24/7 because the router resets its upload and download counters every 4 GB.
While this lets you know what your total bandwidth consumption is, it won't let you distinguish your data usage from your housemates' usage.
As @NevinWilliams mentioned in the comments, if you're not going to be using Wi-Fi, you can measure the traffic of individual network interfaces using SNMP. NetWorx can do that but you may need to run it on separate computers to monitor their individual LAN interfaces.
You could have each of your housemates install and run NetWorx to monitor their individual traffic, but this boils down to whether or not you trust them to diligently monitor their internet traffic and not cheat.
Alternatively, you can install DD-WRT on your router and set up a FreeRADIUS server to manage authentication and accounting. This is advanced stuff but you can find guides on the Internet and various forums and figure out how to do this.
If you'd rather not go through the trouble of setting all of that up, your best bet is to use a hotspot service like HotspotSystem to manage bandwidth. They have a few free plans but you're going to have to flash either DD-WRT or OpenWRT custom router firmware on a supported router.