I am a software engineer with a stats problem: I want to deploy a new version of a web application to a subset of users, measure the error rates, and if there is not an increase of error rates, direct it to all users. (We call this 'Canary Releasing' - including this term so the problem is searchable)
I'm having trouble determining if the error rate has increased. My naive approach was to just calculate the error rate of each version:
error rate A = # of errors in A / # requests in A
error rate B = # of errors in B / # requests in B
However this is a bit of a coin flip: the rates are never the same and it's possible that error rate B is higher but it is not significant.
Is there a better test I can use?
Well, the issue is judging whether the difference in rates is significant, right?Yes - although I only care if it's different one way (new application has more errors)
– Dan Alvizu Jun 16 '16 at 16:24
– Dan Alvizu Jun 16 '16 at 21:59Please provide typical sample sizes for A and B and realistic error rateMy samples would be 'time slices' of 15 seconds - i'll get a count of total requests and total number of errors in that time. This would go on for about 20 minutes, so 80 data points total. I'll be routing 90% of all requests to version A and 10% to version B. I'm also using this same technique for a number of widely different services with different traffic profiles: some will get thousands of requests, and say 5% of those would generate errors. Others will get dozens of requests, and almost no errors at all.