|
@@ -41,7 +41,7 @@ public class PidLambdaV2Container {
|
|
|
@Value("${model.oss.bucketName:art-recommend}")
|
|
|
String bucketName = "";
|
|
|
|
|
|
- @Value("${model.oss.pid.v2.filename.lambda:pid/lambdaV2.txt}")
|
|
|
+ @Value("${model.oss.pid.v2.filename.lambda:pid/lambdaV2_test.txt}")
|
|
|
String lambdaFileName = "";
|
|
|
|
|
|
@Value("${model.oss.pid.v2.filename.dCpa:pid/dCpaV2.txt}")
|
|
@@ -100,11 +100,27 @@ public class PidLambdaV2Container {
|
|
|
Double conversion=Double.parseDouble(cols[1]);
|
|
|
Double cpa=Double.parseDouble(cols[2]);
|
|
|
Double realCost=Double.parseDouble(cols[3]);
|
|
|
+ Double yesterdayConv=Double.parseDouble(cols[4]);
|
|
|
+ Double yesterdayCpa=Double.parseDouble(cols[5]);
|
|
|
+ Double yesterdayRealCost=Double.parseDouble(cols[6]);
|
|
|
Double lambdaNew=1d;
|
|
|
- if(cpa*conversion!=0&&!realCost.equals(0d)){
|
|
|
- lambdaNew=(cpa*conversion)/realCost;
|
|
|
+ if((conversion+yesterdayConv)!=0){
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ if((realCost*yesterdayRealCost)!=0){
|
|
|
+ double yesterdayW=yesterdayConv/(yesterdayConv+2*conversion);
|
|
|
+ lambdaNew=(yesterdayW*yesterdayConv*yesterdayCpa)/yesterdayRealCost
|
|
|
+ +(1-yesterdayW)*(cpa*conversion)/realCost;
|
|
|
+ }else if(realCost!=0){
|
|
|
+ lambdaNew=(cpa*conversion)/realCost;
|
|
|
+ }else if(yesterdayRealCost!=0){
|
|
|
+ lambdaNew=(yesterdayConv*yesterdayCpa)/yesterdayRealCost;
|
|
|
+ }
|
|
|
+
|
|
|
}
|
|
|
|
|
|
+
|
|
|
if(lambdaNew>maxLambda){
|
|
|
lambdaNew=maxLambda;
|
|
|
}else if(lambdaNew<minLambda){
|