abstracted evaluation metric function