def _opp_cols_to_back(df):
    """
    Extracts columns starting with "Opp" and moves them to the end.

    :param df: dataframe

    :return: dataframe with reordered columns
    """

    cols = list(df.columns)
    oppcols = {col for col in cols if len(col) >= 3 and col[:3] == 'Opp'}

    neworder = [x for x in df.columns if x not in oppcols] + [x for x in df.columns if x in oppcols]
    return df[[neworder]]