Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

WILLIAMS RESPONSE

35.714 units (the amount of units between dates in the Channel) x 27 (not 28 for some reason) (the number of days in the bill) = 964.3 (the predicted advance for the billing period)

964.3 units (the predicted advance for the billing period) added to 12345 (the previous reading in the bill) = 13309.3  (validator shows 13308.4)

IF THE BILL PERIOD IS 1/2/20 - 28/2/20, WHY IS THE PROJECTED METER READING 13308  - THE LAST READING IN THE CHANNEL IS 13000 OF 31/3/20 (AFTER THE BILL PERIOD??)

ASKED WILLIAM 17/4/2020

Hi Kim -

This one is a jolly puzzle and I don't think dev has got this spot-on because I can't get the maths exact.  More prediction examples would be needed to check around the calcs.

The thing to bear in mind with this is that it uses the consumption in the METER CHANNEL per day going forwards from the nearest 'from' meter reading it can find to the bill 'from' date, to add on to the days to the bill 'read' date, to the latest 'from' read IN THE BILL. 

This gives it an approximate expected value for the READ in the bill.  It then compares this projected value to the actual bill read and then does its comparisons with limits set in the validator tolerance etc.

So -  the nearest 1st Feb date is at 23:00 on that day so it will use that and go forward to the 1st March at 23:00 read.

It then gets the consumption per day forwards from that read.  So it will be 1000 kWh in 28 days.  This is 35.714 kWh/day.

It then finds out how many days there are between 1st Feb on your bill and 28th Feb - the read date - on your bill.  It c*cks this up by saying that is 27. (It should use 28 days).

It then multiplies the daily meter rate of 35.714 by 27, giving a meter advance of 964.3.

This is then added to the 'from' read on Feb 1st and gives 13309.3  That is the closest I can get!

I may be wrong in the exact calcs there but that is the essence (including the essence of suspected processing faults).

So you can see that in your comments here:

BUT the failure is saying it predicts a value of 13308.4  ?   If my meter reading in Sigma is 15000 as of 28/2/2020 how can a predicted reading of 13308 be right (if you look at the channel there is a reading of 13000 for 31/3/2020 (which is lower than the predicted one?)

Is it to do with the 10% tolerance set in the validator?

you are not looking in the right place for a prediction.  The reads in the channel can be completely different from the reads in the bills for the same start and end points being considered; it is just the consumption per day coming from the meter channel that matters.  (The tolerance in the validator will have nothing to do with what the bill read is compared to (the prediction of 13308) when it has failed: it will show the predicted value, not the value + tolerance.)

This is an awkward validation giving rise to many user enquiries and much head-scratching.  But that above is what it is (sort of) doing.  I am not happy because it hasn't come out exact - even allowing for the #days error (should be 28) and I do not trust the code behind this.

I'll have to stop there and go on to your next!  Hope this clarifies though.  If you have any comments then please come back to me, as usual and of course.

Cheers for now

WIlliam

 GB – BillReadsAgainstSelfReadChannel 

...