garethhall I am also looking for something similar. I am planning to use the following steps
saving each page size in db before its delivered to user
All the images, CSS files etc details will be saved in DB, and a special parser/code will be used to deliver them to user and on each request, it will increment the user bandwidth in db
using perl for uploading so I can provide the upload meter as well as monitor the amount of data being uploaded. even if the page is canceled/closed before the file is completely uploaded, I will be saving the partial file upload size
but I got no idea how to log ftp bandwidth.