df_search = pd.read_csv(folder + 'mtm_ABsearch_0319_0328.csv')
Dữ liệu phân tích lấy từ ngày 19/3 - 28/3
# Đếm số lượng session trong mỗi phiên bản
counts_by_variant = df_search_remove_dup.groupby(['sv_search_vietnamese_analyze']).size().reset_index(name='count').sort_values(by='count', ascending=False)
print(counts_by_variant)
CR của application trong session có sử dụng search engine
# Tính số lượng số lượng application trong search có search có trong var1
num_variant_1_success = variant_1_success.shape[0]
# Tính số lượng session có search trong var1
num_variant_1 = df_search_remove_dup[df_search_remove_dup['sv_search_vietnamese_analyze'] == 'variant-1'].shape[0]
# Tính tỉ lệ apply thành công trong session search
ratio_1 = num_variant_1_success / num_variant_1 if num_variant_1 != 0 else 0
print('Hiện tại: ',round(ratio_1*100,2), '%')
# Tính số lượng số lượng application trong search có search có trong var2
num_variant_2_success = variant_2_success.shape[0]
# Tính số lượng session có search trong var2
num_variant_2 = df_search_remove_dup[df_search_remove_dup['sv_search_vietnamese_analyze'] == 'variant-2'].shape[0]
# Tính tỉ lệ apply thành công trong session search
ratio = num_variant_2_success / num_variant_2 if num_variant_2 != 0 else 0
print('Bản mới: ', round(ratio*100,2), '%')
Bản mới đang có tỉ lệ CR tốt hơn
Tỉ lệ application/session
# Đếm số lượng application
num_application_var1 = variant_1_success.shape[0]
# Đếm số lượng user duy nhất
num_session_var1 = variant_1_success['idvisit'].nunique()
# Tính tỉ lệ application/user
application_per_session_var1 = num_application_var1 / num_session_var1 if num_session_var1 != 0 else 0
print('Hiện tại: ', round(application_per_session_var1, 2), 'application/session')
# Đếm số lượng application
num_application_var2 = variant_2_success.shape[0]
# Đếm số lượng user duy nhất
num_session_var2 = variant_2_success['idvisit'].nunique()
# Tính tỉ lệ application/user
application_per_session_var2 = num_application_var2 / num_session_var2 if num_session_var2 != 0 else 0
print('Bản mới: ', round(application_per_session_var2, 2), 'application/session')
Bản mới đang có số lượng application/session cao hơn bản hiện tại
Thời gian có application đầu tiên sau 1 lần search
# Chuyển đổi dữ liệu từ dạng string sang dạng datetime (nếu cần)
variant_1_success['search_time'] = pd.to_datetime(variant_1_success['date_time'], format='%d/%m/%Y %H:%M:%S')
variant_1_success['apply_time'] = pd.to_datetime(variant_1_success['application_time'], format='%d/%m/%Y %H:%M:%S')
# Lọc dataframe theo điều kiện thời gian cột 2 lớn hơn cột 1
df_filtered_variant_1 = variant_1_success[variant_1_success['apply_time'] > variant_1_success['search_time']]
# Lấy ra thời gian nhỏ nhất của cột 2 dựa vào cột 'id'
df_filtered_variant_1 = df_filtered_variant_1.sort_values('application_time').groupby('idvisit').first().reset_index()
# Tính sự khác biệt giữa hai cột và giá trị trung bình
average_time_diff_var1 = (df_filtered_variant_1['apply_time'] - df_filtered_variant_1['search_time']).dt.total_seconds().mean()
print('Hiện tại: ',round(average_time_diff_var1/60, 2), 'minutes')
# Chuyển đổi dữ liệu từ dạng string sang dạng datetime (nếu cần)
variant_2_success['search_time'] = pd.to_datetime(variant_2_success['date_time'], format='%d/%m/%Y %H:%M:%S')
variant_2_success['apply_time'] = pd.to_datetime(variant_2_success['application_time'], format='%d/%m/%Y %H:%M:%S')
# Lọc dataframe theo điều kiện thời gian cột 2 lớn hơn cột 1
df_filtered_variant_2 = variant_2_success[variant_2_success['apply_time'] > variant_2_success['search_time']]
# Lấy ra thời gian nhỏ nhất của cột 2 dựa vào cột 'id'
df_filtered_variant_2 = df_filtered_variant_2.sort_values('application_time').groupby('idvisit').first().reset_index()
# Tính sự khác biệt giữa hai cột và giá trị trung bình
average_time_diff_var2 = (df_filtered_variant_2['apply_time'] - df_filtered_variant_2['search_time']).dt.total_seconds().mean()
print('Bản mới: ', round(average_time_diff_var2/60, 2), 'minutes')
Thời gian để phát sinh 1 application đầu tiên trong session sau khi search của bản mới đang ngắn hơn phiên bản hiện tại
Top 100 keyword được sử dụng nhiều nhất trong khoảng thời gian đánh giá và CR của mỗi phiên bản
df_check_dict
Bản so sánh kết quả CR tạo ra application mỗi phiên bản với cùng 100 keyword sử dụng nhiều nhất