Update ROAS calculations to include all-time values and adjust cache metadata
This commit is contained in:
11
.vscode/ftp-kr.sync.cache.json
vendored
11
.vscode/ftp-kr.sync.cache.json
vendored
@@ -23,8 +23,8 @@
|
|||||||
},
|
},
|
||||||
"class.Api.php": {
|
"class.Api.php": {
|
||||||
"type": "-",
|
"type": "-",
|
||||||
"size": 11018,
|
"size": 11235,
|
||||||
"lmtime": 0,
|
"lmtime": 1744498273470,
|
||||||
"modified": false
|
"modified": false
|
||||||
},
|
},
|
||||||
"class.Campaigns.php": {
|
"class.Campaigns.php": {
|
||||||
@@ -41,8 +41,8 @@
|
|||||||
},
|
},
|
||||||
"class.Products.php": {
|
"class.Products.php": {
|
||||||
"type": "-",
|
"type": "-",
|
||||||
"size": 8787,
|
"size": 8915,
|
||||||
"lmtime": 1744064045288,
|
"lmtime": 1744489800429,
|
||||||
"modified": false
|
"modified": false
|
||||||
},
|
},
|
||||||
"class.Site.php": {
|
"class.Site.php": {
|
||||||
@@ -139,7 +139,7 @@
|
|||||||
"robots.txt": {
|
"robots.txt": {
|
||||||
"type": "-",
|
"type": "-",
|
||||||
"size": 25,
|
"size": 25,
|
||||||
"lmtime": 0,
|
"lmtime": 1744488227849,
|
||||||
"modified": false
|
"modified": false
|
||||||
},
|
},
|
||||||
"templates": {
|
"templates": {
|
||||||
@@ -158,6 +158,7 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"tmp": {},
|
||||||
"upload": {},
|
"upload": {},
|
||||||
"xml": {}
|
"xml": {}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -63,7 +63,7 @@ class Cron
|
|||||||
$cpc = $offer_data['clicks'] > 0 ? round( $offer_data['cost'] / $offer_data['clicks'], 6 ) : 0;
|
$cpc = $offer_data['clicks'] > 0 ? round( $offer_data['cost'] / $offer_data['clicks'], 6 ) : 0;
|
||||||
$roas = ($offer_data['conversions'] > 0 and $offer_data['cost']) ? round($offer_data['conversions_value'] / $offer_data['cost'], 2) * 100 : 0;
|
$roas = ($offer_data['conversions'] > 0 and $offer_data['cost']) ? round($offer_data['conversions_value'] / $offer_data['cost'], 2) * 100 : 0;
|
||||||
|
|
||||||
// $impressions_30 = \factory\Products::get_impressions_30( $offer_data['product_id'] );
|
$impressions_30 = \factory\Products::get_impressions_30( $offer_data['product_id'] );
|
||||||
|
|
||||||
// update custom_label_4 only current is empty or is bestseller
|
// update custom_label_4 only current is empty or is bestseller
|
||||||
$custom_label_4 = \factory\Products::get_product_data( $offer_data['product_id'], 'custom_label_4' );
|
$custom_label_4 = \factory\Products::get_product_data( $offer_data['product_id'], 'custom_label_4' );
|
||||||
@@ -205,6 +205,14 @@ class Cron
|
|||||||
exit;
|
exit;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static public function get_roas_all_time( $product_id, $date_to )
|
||||||
|
{
|
||||||
|
global $mdb;
|
||||||
|
|
||||||
|
$roas_all_time = $mdb -> query( 'SELECT SUM(conversions_value) / SUM(cost) * 100 AS roas_all_time FROM products_history WHERE product_id = ' . $product_id . ' AND date_add <= \'' . $date_to . '\'' ) -> fetchColumn();
|
||||||
|
return round( $roas_all_time, 2 );
|
||||||
|
}
|
||||||
|
|
||||||
static public function cron_product_history_30_save( $product_id, $date_to )
|
static public function cron_product_history_30_save( $product_id, $date_to )
|
||||||
{
|
{
|
||||||
global $mdb;
|
global $mdb;
|
||||||
@@ -262,7 +270,8 @@ class Cron
|
|||||||
'cost' => $cost,
|
'cost' => $cost,
|
||||||
'conversions' => $conversions,
|
'conversions' => $conversions,
|
||||||
'conversions_value' => $conversions_value,
|
'conversions_value' => $conversions_value,
|
||||||
'roas' => $roas
|
'roas' => $roas,
|
||||||
|
'roas_all_time' => self::get_roas_all_time( $product_id, $date_to )
|
||||||
], [ 'AND' => [ 'product_id' => $product_id, 'date_add' => $date_to ] ] );
|
], [ 'AND' => [ 'product_id' => $product_id, 'date_add' => $date_to ] ] );
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@@ -276,6 +285,7 @@ class Cron
|
|||||||
'conversions' => $conversions,
|
'conversions' => $conversions,
|
||||||
'conversions_value' => $conversions_value,
|
'conversions_value' => $conversions_value,
|
||||||
'roas' => $roas,
|
'roas' => $roas,
|
||||||
|
'roas_all_time' => self::get_roas_all_time( $product_id, $date_to ),
|
||||||
'date_add' => $date_to
|
'date_add' => $date_to
|
||||||
] );
|
] );
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -211,7 +211,7 @@ class Products
|
|||||||
$cost[] = (float)$row['cost'];
|
$cost[] = (float)$row['cost'];
|
||||||
$conversions[] = (int)$row['conversions'];
|
$conversions[] = (int)$row['conversions'];
|
||||||
$conversions_value[] = (float)$row['conversions_value'];
|
$conversions_value[] = (float)$row['conversions_value'];
|
||||||
$roas[] = (float)$row['roas'];
|
$roas[] = (float)$row['roas_all_time'];
|
||||||
$dates[] = $row['date_add'];
|
$dates[] = $row['date_add'];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user