def METHOD_NAME(original_df, new_df):
    if new_df.equals(original_df):
        logger.info("Skipping CFDA load, no new data")
        return False
    Reporter["new_record_count"], Reporter["updated_record_count"] = 0, 0
    logger.info("Inserting new CFDA data")
    for row in new_df.itertuples():
        record = row._asdict()
        del record["Index"]
        _, created = Cfda.objects.update_or_create(program_number=record["program_number"], defaults=record)
        if created:
            Reporter["new_record_count"] += 1
        else:
            Reporter["updated_record_count"] += 1
    logger.info("Completed data load")
    return True