If you're wanting to calculate the sequential means of observations 1, 1+2, 1+2+3, etc., then
MyEfficientList = Accumulate[data2]/Table[i, {i, Length[data2]}]
is much faster.
If you're then going to do something with those sequential means, there might be more efficient ways to get to that final product.