Steve: Thanks thats a good idea. That makes the average rating much more accurate. 

Rob: Yeah, the 2.5 was a bad idea. The issue is that you can't add nil to a number (integer or float). So originally, I used the ternary operator to catch all the nil ratings and set them equal to 0 so that I could still add up the ratings. Having a rating of 0 still increases the size of the reviews array so it was dragging the average rating down a lot. I decided to put in a 2.5 (halfway between 0 and 5) so that the average rating would be less wrong. It wasn't a good idea because less wrong is still wrong :-)

I like how you suggest mapping the ratings to an array and then using sum. I'm going to go back and use Steve's idea to only pull reviews without null ratings and then use your suggestion to clean up the code that calculates the average rating.