Ver código fonte

Merge branch 'feature_gufengshou_20240401_pid_v6' into pre-master

gufengshou1 1 ano atrás
pai
commit
d9e941be8d

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

@@ -126,6 +126,10 @@ public class PidLambdaContainer {
                         continue;
                     }
                     latestRealCPA=realCost/conversion;
+                    if(latestRealCPA.equals(cacheItem.latestRealCpa)){
+                        temp.put(creativeId,cacheItem);
+                        continue;
+                    }
                     Double lambdaNew =cacheItem.calculate(kp,ki,kd,cpa,latestRealCPA);
                     if(lambdaNew<minLambda){
                         lambdaNew=minLambda;

+ 10 - 4
ad-engine-service/src/main/java/com/tzld/piaoquan/ad/engine/service/score/impl/RankServiceImpl.java

@@ -155,9 +155,12 @@ public class RankServiceImpl implements RankService {
                 lambda=PidLambdaContainer.getPidLambda(item.getAdId());
                 if(lambda<0){
                     item.setCpa(dto.getCpa());
-                    item.setPidLambda(0.8);
+                    item.setPidLambda(0.6);
                 }else {
-                    item.setCpa(PidLambdaContainer.getPidLambda(item.getAdId()));
+                    if(dto.getCpa()>1&&lambda<=1){
+                        lambda=2d;
+                    }
+                    item.setCpa(lambda);
                     item.setPidLambda(1d);
                 }
 
@@ -178,9 +181,12 @@ public class RankServiceImpl implements RankService {
                 lambda=PidLambdaContainer.getPidLambda(item.getAdId());
                 if(lambda<0){
                     item.setCpa(dto.getCpa());
-                    item.setPidLambda(0.8);
+                    item.setPidLambda(0.6);
                 }else {
-                    item.setCpa(PidLambdaContainer.getPidLambda(item.getAdId()));
+                    if(dto.getCpa()>1&&lambda<=1){
+                        lambda=2d;
+                    }
+                    item.setCpa(lambda);
                     item.setPidLambda(1d);
                 }
 //                item.setCpa(dto.getCpa());