Prechádzať zdrojové kódy

h5和曝光少,取最小score

jch 3 týždňov pred
rodič
commit
35cb90ecd6

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

@@ -306,6 +306,8 @@ public class RankStrategyBy843 extends RankStrategyBasic {
         }
         long time5 = System.currentTimeMillis();
         int viewLimit = NumberUtils.toInt(paramsMap.getOrDefault("viewLimit", "3000"));
+        double h5PagePlus = NumberUtils.toDouble(paramsMap.getOrDefault("h5PagePlus", "500"));
+        double selfPagePlus = NumberUtils.toDouble(paramsMap.getOrDefault("selfPagePlus", "100"));
         // calibrate score for negative sampling or cold start
         for (AdRankItem item : result) {
             double originalScore = item.getLrScore();
@@ -317,12 +319,14 @@ public class RankStrategyBy843 extends RankStrategyBasic {
             boolean h5Page = this.landingH5Page(item);
             if ((CollectionUtils.isNotEmpty(DnnCidDataHelper.getCidSetV2()) && !DnnCidDataHelper.getCidSetV2().contains(item.getAdId()))
                     || view3Day <= viewLimit || h5Page) {
+                double smoothPlus = h5Page ? h5PagePlus : selfPagePlus;
+
                 double conver3D = Double.parseDouble(b3Feature.getOrDefault("ad_conversion_3d", "0"));
-                double smoothCxr3D = NumUtil.divSmoothV1(conver3D, view3Day, 1.64);
+                double smoothCxr3D = NumUtil.divSmoothV1(conver3D, view3Day + smoothPlus, 1.64);
 
                 double view1Day = Double.parseDouble(b3Feature.getOrDefault("ad_view_1d", "0"));
                 double conver1D = Double.parseDouble(b3Feature.getOrDefault("ad_conversion_1d", "0"));
-                double smoothCxr1D = NumUtil.divSmoothV1(conver1D, view1Day, 1.64);
+                double smoothCxr1D = NumUtil.divSmoothV1(conver1D, view1Day + smoothPlus, 1.64);
 
                 // 模型打分和统计计算取打分更低的
                 item.getScoreMap().put("cvcvrItemValue", 1.0);