Drive By - 

denominator should be a float so that integer calculations do not round down before we even choose to round then further.

e.g. I setup a course with total_possible_completions = 3, and completed 2 of them. Without this my progress was 66% instead of 67%; even though the course average (and I was the only student) showed as 67%.