The issue with this system is overhearing contact tosses it out.
Better...
Local data collection, with a c,b,a,s score based on.
Calc on bosses only as fights are longer
Dps thing to take into data collection
Amount of proper rotation done
time global cool down timer up but no action happening
Dmg taken,
Aoe avoided
Tank
Dmg mitigated
Dmg taken
Aoe avoid
Time spent with hate in yellow zone ie more closely missing hate mean tank dosing more.
(Only time I miss hate on a boss is when I am in dps stance pushing my numbers higher so staying in yellow means you keeping hate but dps good too, yes I know this could be cheesed)
Healers
Aoe avoid
Dmg dealt
Dmg mitigated
over cure
But just base dps numbers do not work because of overhearing
Or in cases of tanks using STR crafted gear vs being 340