private static function getAdvertiserQuickStats($fromDate, $toDate) { $categoryIds = ViewsStats::addAdvertiserIds(); $statsData = array(); $condition = " WHERE date_created>='{$fromDate}' AND date_created<='{$toDate}'" . " AND advertiser_id=" . Yii::app()->user->getAdvertiserId(); $categStats = ViewsStats::getSummaryStats('p_view_categories', $condition, $categoryIds); $subcategStats = ViewsStats::getSummaryStats('p_view_subcategories', $condition, $categoryIds); $couponStats = ViewsStats::getSummaryStats('p_view_coupons', $condition); $listingStats = ViewsStats::getSummaryStats('p_view_listings', $condition); $statsData['total_system_users'] = $categStats['unique_users'] + $subcategStats['unique_users'] + $couponStats['unique_users'] + $listingStats['unique_users']; $statsData['total_system_views'] = $categStats['views'] + $subcategStats['views'] + $couponStats['views'] + $listingStats['views']; $statsData['total_listing_views'] = $listingStats['views']; $statsData['total_category_views'] = $categStats['views']; $statsData['total_subcategory_views'] = $subcategStats['views']; $statsData['total_promotion_views'] = $couponStats['views']; $statsData['ave_time_on_system'] = ViewsStats::safeDivide($categStats['time_on_page'] + $subcategStats['time_on_page'] + $couponStats['time_on_page'] + $listingStats['time_on_page'], $categStats['views'] + $subcategStats['views'] + $couponStats['views'] + $listingStats['views']); $statsData['ave_time_on_categories'] = ViewsStats::safeDivide($categStats['time_on_page'], $categStats['views']); $statsData['ave_time_on_subcategories'] = ViewsStats::safeDivide($subcategStats['time_on_page'], $subcategStats['views']); $statsData['ave_time_on_promotions'] = ViewsStats::safeDivide($couponStats['time_on_page'], $couponStats['views']); $statsData['ave_time_on_listings'] = ViewsStats::safeDivide($listingStats['time_on_page'], $listingStats['views']); $totalVisits = $categStats['visits'] + $subcategStats['visits'] + $couponStats['visits'] + $listingStats['visits']; $statsData['system_views_per_visit'] = ViewsStats::safeDivide($statsData['total_system_views'], $totalVisits); $statsData['total_listing_views_per_visit'] = ViewsStats::safeDivide($statsData['total_listing_views'], $totalVisits); $statsData['total_category_views_per_visit'] = ViewsStats::safeDivide($statsData['total_category_views'], $totalVisits); $statsData['total_promotion_views_per_visit'] = ViewsStats::safeDivide($statsData['total_promotion_views'], $totalVisits); $statsData['total_promotions_redeemed'] = ViewsStats::getTotalCouponsRedeemed($fromDate, $toDate); $statsData['redemption_rate'] = ViewsStats::safeDivide($statsData['total_promotions_redeemed'], $statsData['total_promotion_views']); return $statsData; }
public function getStatsData($couponIds, $dateFrom, $dateTo) { $couponStats = $this->getSummaryStats($couponIds, $dateFrom, $dateTo); $redemptionStats = $this->getRedemptionStats($couponIds, $dateFrom, $dateTo); $results = array(); foreach ($couponIds as $id) { $results[$id]['redeemed'] = $redemptionStats[$id]; $results[$id]['redemption_rate'] = 100 * ViewsStats::safeDivide($redemptionStats[$id], $couponStats[$id]) . ' %'; } return $results; }