def processed_transcript(df):
    """
    Cleans the Transcript table by splitting value fileds and replacing nan values, drop extra columns
    PARAMETERS:
        transcript dataframe
    
    RETURNS:
        Cleaned transcript  dataframe
    
    """
    
    #expand the dictionary to coulmns (reward, amount, offre id) from value field
    df['offer_id'] = df['value'].apply(lambda x: x.get('offer_id'))
    df['offer id'] = df['value'].apply(lambda x: x.get('offer id'))
    df['reward'] = df['value'].apply(lambda x: x.get('reward'))
    df['amount'] = df['value'].apply(lambda x: x.get('amount'))
    
    #move 'offer id' values into 'offer_id'
    df['offer_id'] = df.apply(lambda x : x['offer id'] if x['offer_id'] == None else x['offer_id'], axis=1)
    
    #drop 'offer id' column 
    df.drop(['offer id' , 'value'] , axis=1, inplace=True)
    
    #replace nan
    df.fillna(0 , inplace=True)
    
    return df