Você pode misturar média e grupo fazer algo como
MyClass.group('product_id').average('score')
# => {product_id1 => average1, product_id2 => average2, ... }
MyClass.group('product_id').average('score')
# => {product_id1 => average1, product_id2 => average2, ... }