def METHOD_NAME(self, identifier, metric_result, metric_name, final_score):
    if not self.updated_fields:
        self._update_fields()
    if self._last_profile and self._last_profile == identifier:
        report = self._last_profile
    else:
        report = self.per_instance_result(identifier, metric_result) if self.report_type == 'csv' else {}
    if self.report_type == 'json':
        report = self.generate_json_report(identifier, metric_result, metric_name)
        report['result'] = final_score
        return report
    if isinstance(report, list):
        for string in report:
            string['{}_result'.format(metric_name)] = metric_result[string['label']]['result']
    else:
        report['{}_result'.format(metric_name)] = metric_result['result']
    return report