I am an ISP who does volume-based billing. In the past I used Multi Router Traffic Grapher (MRTG) to get bytes used by each customer. Now I'm using PacketShaper to gather this data. I've noticed than PacketShaper records approximately 10-15% more bytes than MRTG does. Why is there a difference?
MRTG is polling the device at certain intervals using SNMP. The polled values are real-time data and not the average. Depending on the time you are polling, you may sometimes get a higher value and sometime you get a lower value, but not the average. Even if you average all the polled data, the result will not be the real average. Since PacketShaper has statistics of all the data flowing through, it can record the exact statistics. When it forwards a packet, it records the bytes so PacketShaper statistics are much more accurate than SNMP polling.