विश्लेषण ऑटोमेट करने के लिए फंक्शन बनाएँ

pandas के साथ मार्केटिंग कैंपेनों का विश्लेषण

Jill Rosok

Data Scientist

फंक्शन क्यों बनाएँ?

# Count the subs by referring channel and day
retention_total = marketing.groupby(['date_subscribed',
                                'subscribing_channel'])\
                                ['user_id'].nunique()

retention_subs = marketing[marketing['is_retained'] == True]\
                           .groupby(['date_subscribed',
                                     'subscribing_channel'])\
                            ['user_id'].nunique()

# Calculate the retention rate
daily_retention_rate = retention_subs/retention_total
daily_retention_rate = pd.DataFrame(
    daily_retention_rate.unstack(level=1)
)
pandas के साथ मार्केटिंग कैंपेनों का विश्लेषण
print(daily_retention_rate)
subscribing_channel  Email  Facebook  House Ads  Instagram      Push
date_subscribed                                                     
2018-01-01            1.00  0.875000   0.687500   0.750000  1.000000
2018-01-02            0.75  1.000000   0.588235   0.625000  1.000000
2018-01-03             NaN  0.800000   0.647059   0.909091  0.666667
2018-01-04            1.00  0.666667   0.466667   0.500000       NaN
2018-01-05            1.00  0.571429   0.500000   0.636364  1.000000

pandas के साथ मार्केटिंग कैंपेनों का विश्लेषण

रिटेंशन फंक्शन बनाना

def retention_rate(dataframe, column_names):
    # Group by column_names and calculate retention
    retained = dataframe[dataframe['is_retained'] == True]\
                    .groupby(column_names)['user_id'].nunique()

    # Group by column_names and calculate conversion
    converted = dataframe[dataframe['converted'] == True]\
                     .groupby(column_names)['user_id'].nunique()

    retention_rate = retained/converted

    return retention_rate
pandas के साथ मार्केटिंग कैंपेनों का विश्लेषण

चैनल के अनुसार रिटेंशन रेट

daily_retention = retention_rate(marketing, 
                                 ['date_subscribed', 
                                  'subscribing_channel'])

daily_retention = pd.DataFrame(
    daily_retention.unstack(level=1)
)
print(daily_retention.head()) 
subscribing_channel  Email  Facebook  House Ads  Instagram      Push
date_subscribed                                                     
2018-01-01            1.00  0.875000   0.687500   0.750000  1.000000
2018-01-02            0.75  1.000000   0.588235   0.625000  1.000000
2018-01-03             NaN  0.800000   0.647059   0.909091  0.666667
2018-01-04            1.00  0.666667   0.466667   0.500000       NaN
2018-01-05            1.00  0.571429   0.500000   0.636364  1.000000

pandas के साथ मार्केटिंग कैंपेनों का विश्लेषण

चैनल-वार डेली रिटेंशन प्लॉट करें

daily_retention.plot(date_subscribed, conversion_rate)
plt.title('Daily channel retention rate\n', size = 16)
plt.ylabel('Retention rate (%)', size = 14)
plt.xlabel('Date', size = 14)
plt.show()
pandas के साथ मार्केटिंग कैंपेनों का विश्लेषण

डेली चैनल रिटेंशन रेट चार्ट

pandas के साथ मार्केटिंग कैंपेनों का विश्लेषण

प्लॉटिंग फंक्शन

def plotting(dataframe):
    for column in dataframe:
        plt.plot(dataframe.index, dataframe[column])
        plt.title('Daily ' + column + ' retention rate\n',
                  size = 16)
        plt.ylabel('Retention rate (%)', size = 14)
        plt.xlabel('Date', size = 14)
        plt.show()


plotting(daily_channel_retention)   
pandas के साथ मार्केटिंग कैंपेनों का विश्लेषण

डेली ईमेल रिटेंशन रेट

pandas के साथ मार्केटिंग कैंपेनों का विश्लेषण

अभ्यास करते हैं!

pandas के साथ मार्केटिंग कैंपेनों का विश्लेषण

Preparing Video For Download...