Explorar el Código

h5和曝光少,取最小score

jch hace 3 semanas
padre
commit
100c0d4dce

+ 5 - 3
ad-engine-service/src/main/java/com/tzld/piaoquan/ad/engine/service/score/strategy/RankStrategyBy843.java

@@ -306,7 +306,9 @@ public class RankStrategyBy843 extends RankStrategyBasic {
         }
         long time5 = System.currentTimeMillis();
         int viewLimit = NumberUtils.toInt(paramsMap.getOrDefault("viewLimit", "3000"));
+        double h5PageFactor = NumberUtils.toDouble(paramsMap.getOrDefault("h5PageFactor", "2"));
         double h5PagePlus = NumberUtils.toDouble(paramsMap.getOrDefault("h5PagePlus", "300"));
+        double selfPageFactor = NumberUtils.toDouble(paramsMap.getOrDefault("selfPageFactor", "1"));
         double selfPagePlus = NumberUtils.toDouble(paramsMap.getOrDefault("selfPagePlus", "0"));
         // calibrate score for negative sampling or cold start
         for (AdRankItem item : result) {
@@ -322,10 +324,10 @@ public class RankStrategyBy843 extends RankStrategyBasic {
                 if (h5Page) {
                     double view14D = Double.parseDouble(b3Feature.getOrDefault("ad_view_14d", "0"));
                     double conver14D = Double.parseDouble(b3Feature.getOrDefault("ad_conversion_14d", "0"));
-                    double smoothCxr14D = NumUtil.divSmoothV1(conver14D, view14D + h5PagePlus, 1.64);
+                    double smoothCxr14D = NumUtil.divSmoothV1(conver14D, view14D * h5PageFactor + h5PagePlus, 1.64);
                     double view12H = Double.parseDouble(b3Feature.getOrDefault("ad_view_12h", "0"));
                     double conver12H = Double.parseDouble(b3Feature.getOrDefault("ad_conversion_12h", "0"));
-                    double smoothCxr12H = NumUtil.divSmoothV1(conver12H, view12H + h5PagePlus, 1.64);
+                    double smoothCxr12H = NumUtil.divSmoothV1(conver12H, view12H * h5PageFactor + h5PagePlus, 1.64);
                     // 模型打分和统计计算取打分更低的
                     item.getScoreMap().put("cvcvrItemValue", 1.0);
                     if (smoothCxr14D < calibratedScore) {
@@ -339,7 +341,7 @@ public class RankStrategyBy843 extends RankStrategyBasic {
                 } else {
                     double view14D = Double.parseDouble(b3Feature.getOrDefault("ad_view_14d", "0"));
                     double conver14D = Double.parseDouble(b3Feature.getOrDefault("ad_conversion_14d", "0"));
-                    double smoothCxr14D = NumUtil.divSmoothV1(conver14D, view14D + selfPagePlus, 1.64);
+                    double smoothCxr14D = NumUtil.divSmoothV1(conver14D, view14D * selfPageFactor + selfPagePlus, 1.64);
                     //模型打分和统计计算取打分更低的
                     item.getScoreMap().put("cvcvrItemValue", 1.0);
                     if (smoothCxr14D <= calibratedScore) {