|
@@ -100,11 +100,20 @@ 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&&(realCost+yesterdayRealCost)!=0){
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ double yesterdayW=yesterdayConv/(yesterdayConv+2*conversion);
|
|
|
+ lambdaNew=(yesterdayW*yesterdayConv*yesterdayCpa)/yesterdayRealCost
|
|
|
+ +(1-yesterdayW)*(cpa*conversion)/realCost;
|
|
|
}
|
|
|
|
|
|
+
|
|
|
if(lambdaNew>maxLambda){
|
|
|
lambdaNew=maxLambda;
|
|
|
}else if(lambdaNew<minLambda){
|