Bläddra i källkod

add rank abtest

liqian 1 år sedan
förälder
incheckning
8ebaffebba
2 ändrade filer med 20 tillägg och 4 borttagningar
  1. 14 1
      cal_24h_score.py
  2. 6 3
      compose_score.py

+ 14 - 1
cal_24h_score.py

@@ -1,5 +1,6 @@
 # coding utf-8
 import sys
+import math
 import traceback
 import pandas as pd
 from utils import send_msg_to_feishu
@@ -69,9 +70,21 @@ def data_group(data_path):
 def cal_score(data_df):
     """计算score"""
     df = data_df.copy()
+    # share_rate_view = (share+1)/(view+1000)
+    df['share_rate_view'] = (df['share人数'] + 1) / (df['view人数'] + 1000)
+
+    # back_rate = (return+1)/(share+10)
+    df['back_rate'] = (df['回流人数'] + 1) / (df['view人数'] + 10)
+
+    df['log_back'] = (df['回流人数'] + 1).apply(math.log)
+
     # score1 = 回流/(view+10)
     df['24h_score1'] = df['回流人数'] / (df['view人数'] + 10)
-    score_df = df[['videoid', '24h_score1']]
+
+    # score2 = share/view * back_rate * logback
+    df['24h_score2'] = df['share_rate_view'] * df['back_rate'] * df['log_back']
+
+    score_df = df[['videoid', '24h_score1', '24h_score2']]
     # print(score_df)
     return score_df
 

+ 6 - 3
compose_score.py

@@ -27,14 +27,17 @@ def cal_compose_score(score_hour_path, score_24h_path, merge_score_path):
     log_.info(f"score_24h_df shape: {score_24h_df.shape}")
     log_.info(f"score_merge_df shape: {score_merge_df.shape}")
     score_merge_df['score1'] = score_merge_df['24h_score1'] + score_merge_df['hour_score1']
-    score_merge_df['score2'] = score_merge_df['24h_score1'] + score_merge_df['hour_score2']
+    # score_merge_df['score2'] = score_merge_df['24h_score1'] + score_merge_df['hour_score2']
     # score_merge_df['score3'] = score_merge_df['24h_score1'] + score_merge_df['hour_score3']
     score_merge_df['score4'] = score_merge_df['24h_score1'] + score_merge_df['hour_score4']
-    score_merge_df['score5'] = score_merge_df['24h_score1'] + score_merge_df['hour_score5']
+    # score_merge_df['score5'] = score_merge_df['24h_score1'] + score_merge_df['hour_score5']
+    score_merge_df['score6'] = score_merge_df['24h_score1'] * 0.2 + score_merge_df['hour_score4'] * 0.8
+    score_merge_df['score7'] = score_merge_df['24h_score2'] + score_merge_df['hour_score4']
+
     # print(score_merge_df)
     log_.info(f"score_merge_df shape: {score_merge_df.shape}")
     score_merge_df.to_csv(merge_score_path, index=False)
-    score_df = score_merge_df[['videoid', 'score1', 'score2', 'score4', 'score5']]
+    score_df = score_merge_df[['videoid', 'score1', 'score4', 'score6', 'score7']]
     log_.info(f"score_df shape: {score_merge_df.shape}")
     return score_df