def percentage_birts_by_month(df, years_greater_than=1980):
    """Take the prepared df and calculage the average births (avg_births)
    and percent above average (percent_above_average) for each month.

    Args:
        df (pd.DataFrame): The prepared birth data (created using df_birth_no_geo_prep). 
            Requires columns: "conc_yy", "conc_month", "dob_yy", "birth_month", 
            "conc_mm", "dob_mm", "births",
        years_greater_than (int): Only include data from above this year.

    """
    # group by month
    df = df.groupby([
        'conc_yy', 'conc_month','dob_yy',
        'birth_month','conc_mm','dob_mm',], as_index=False).sum()

    df = df.sort_values(by=['dob_yy','dob_mm']).reset_index(drop=True)

    # add 12 month rolling average
    df['avg_births'] = df['births'].rolling(window=12).mean() 
    df['percent_above_avg'] = (df['births'] - df['avg_births'])/df['avg_births']*100

    # only select dates > years_greater_than
    df = df[df['dob_yy'] > years_greater_than]

    return df