Browse Source

Merge branch 'feature_gufengshou_20240401_pid_v6' into pre-master

gufengshou1 1 year ago
parent
commit
8f568ece07

+ 15 - 12
ad-engine-service/src/main/java/com/tzld/piaoquan/ad/engine/service/score/VlogMergeEcpmScorer.java

@@ -65,24 +65,27 @@ public class VlogMergeEcpmScorer extends BaseLRModelScorer {
 
     public void callMergeScore(AdRankItem item,CountDownLatch countDownLatch){
         try {
-            boolean isTfType=item.getItemFeature().getCreative_7day_cnt_features().getAdView()<5000;
+//            boolean isTfType=item.getItemFeature().getCreative_7day_cnt_features().getAdView()<5000;
+//            double pctr = isTfType?item.getTf_ctr():item.getCtr();
+//            double pcvr = isTfType?item.getTf_cvr():item.getCvr();
             double cpa = item.getCpa();
             double bid1 = item.getBid1();
             double bid2 = item.getBid2();
-            double pctr = isTfType?item.getTf_ctr():item.getCtr();
-            double pcvr = isTfType?item.getTf_cvr():item.getCvr();
-            item.setScore_type( isTfType?1:0);
+            double pctr = item.getCtr();
+            double pcvr = item.getCvr();
+//            item.setScore_type( isTfType?1:0);
+            item.setScore_type( 0);
             //todo
             double ecpm;
-            if(isTfType){
-                ecpm = cpa * bid1 * bid2 * pcvr * pctr * 1000d;
-            }else {
-                cpa=cpa*item.getPidLambda();
-                if(cpa<0.5){
-                    cpa=0.5;
-                }
-                ecpm = cpa* bid1 * bid2 * pcvr * pctr * 1000d;
+//            if(isTfType){
+//                ecpm = cpa * bid1 * bid2 * pcvr * pctr * 1000d;
+//            }else {
+            cpa=cpa*item.getPidLambda();
+            if(cpa<0.5){
+                cpa=0.5;
             }
+            ecpm = cpa* bid1 * bid2 * pcvr * pctr * 1000d;
+//            }
 //            ecpm = cpa * bid1 * bid2 * pcvr * pctr * 1000d;
             item.setEcpm1(ecpm/1000d);
             item.setScore(ecpm/1000d);

+ 7 - 6
ad-engine-service/src/main/java/com/tzld/piaoquan/ad/engine/service/score/container/PidLambdaContainer.java

@@ -46,7 +46,7 @@ public class PidLambdaContainer {
     @Value("${model.oss.pid.filename.lambda:pid/lambda.txt}")
     String lambdaFileName = "";
 
-    @Value("${model.oss.pid.v2.filename.dCpa:pid/dCpaV2.txt}")
+    @Value("${model.oss.pid.v2.filename.dCpa:pid/dCpa.txt}")
     String dCpaFileName = "";
 
     @Value("${ad.model.pid.kp:0.4}")
@@ -108,9 +108,7 @@ public class PidLambdaContainer {
             Double cpa=0d;
             Double realCost=0d;
             Double latestRealCPA=0d;
-//            double et=0d;
             double sumE=0d;
-//            double ve=0d;
             while ((line = bufferedReader.readLine()) != null){
                 try {
                     String[] cols=line.split(",");
@@ -123,12 +121,15 @@ public class PidLambdaContainer {
                     conversion=Double.parseDouble(cols[1]);
                     cpa=Double.parseDouble(cols[2]);
                     realCost=Double.parseDouble(cols[3]);
-                    if(conversion<5d){
-                        conversion=1d;
+                    if(conversion<3d){
+                        temp.put(creativeId,cacheItem);
+                        continue;
                     }
                     latestRealCPA=realCost/conversion;
                     Double lambdaNew =cacheItem.calculate(kp,ki,kd,cpa,latestRealCPA);
-
+                    if(lambdaNew<0.5){
+                        lambdaNew=0.5;
+                    }
                     cacheItem.lambda=lambdaNew;
                     cacheItem.latestRealCpa=latestRealCPA;
                     cacheItem.sumError=sumE;