Calculate[NumCoders_,Rating_,Volatility_,TimesPlayed_,ARank_]:=Module[{},
AveRating=(((∑_(i=1)^NumCoders)Rating[[i]])/NumCoders);
CF=(Sqrt[(((∑_(i=1)^NumCoders)((Volatility[[i]])^2))/NumCoders)+(((∑_(i=1)^NumCoders)(((Rating[[i]]-AveRating))^2))/(NumCoders-1))]);
ERank=Table[0.5+(∑_(i=1)^NumCoders)0.5(1+Erf[((Rating[[i]]-Rating[[j]])/(Sqrt[2(((Volatility[[i]])^2)+((Volatility[[j]])^2))]))]),{j,NumCoders}];
EPerf=(Sqrt[2]) InverseErfc[2 (((ERank-0.5))/NumCoders)];
APerf=(Sqrt[2]) InverseErfc[2 (((ARank-0.5))/NumCoders)];
PerfAs=Rating+CF*(APerf-EPerf);
Weight=(1/(1-0.18-(0.42/(TimesPlayed+1))))-1;
NewRating=((Rating+Weight*PerfAs)/(1+Weight));
NewVolatility=(Sqrt[((((NewRating-Rating))^2)/Weight)+((Volatility^2)/(Weight+1))]);
{NewRating,NewVolatility}
];

Calculate[4,{1200,1200,1200,1200},{550,550,550,550},{0,0,0,0},{1,2,3,4}]