Example #1
0
 private static function getAdditionalStatistics($mongoData, $piData, $fromDate, $toDate)
 {
     $services = PseudoStatsModel::$services;
     $days = MongoUtils::getNumberOfDays($fromDate, $toDate);
     $res = MongoUtils::initStats($services);
     for ($i = 0; $i < count($mongoData); $i++) {
         foreach ($services as $service) {
             foreach (PseudoStatsModel::$activities as $key => $value) {
                 $res['total'][$service][$key] += $mongoData[$i][$service][$key];
                 $res['total']['all'][$key] += $mongoData[$i][$service][$key];
             }
             $res['total'][$service]['activities'] += $mongoData[$i][$service]['likes'] + $mongoData[$i][$service]['dislikes'];
             $res['total']['all']['activities'] += $mongoData[$i][$service]['likes'] + $mongoData[$i][$service]['dislikes'];
         }
     }
     foreach ($services as $service) {
         foreach (PseudoStatsModel::$activities as $key => $value) {
             $res['average'][$service][$key] = round($res['total'][$service][$key] / ($days == 0 ? 1 : $days), 2);
         }
         $res['ratio'][$service]['dislike_like'] = self::getPercentage($res['total'][$service]['likes'], $res['total'][$service]['dislikes']);
         $res['ratio'][$service]['clickback_activities'] = self::getPercentage($res['total'][$service]['activities'], $piData['services'][$service]['cb']);
         $res['ratio'][$service]['contacts_activities'] = self::getPercentage($res['total'][$service]['activities'], $res['total'][$service]['contacts']);
         $res['ratio'][$service]['like_percentage'] = self::getPercentage($res['total'][$service]['activities'], $res['total'][$service]['likes']);
         $res['ratio'][$service]['dislike_percentage'] = self::getPercentage($res['total'][$service]['activities'], $res['total'][$service]['dislikes']);
     }
     foreach (PseudoStatsModel::$activities as $key => $value) {
         $res['average']['all'][$key] = round($res['total']['all'][$key] / ($days == 0 ? 1 : $days), 2);
     }
     $res['ratio']['all']['dislike_like'] = self::getPercentage($res['total']['all']['likes'], $res['total']['all']['dislikes']);
     $res['ratio']['all']['clickback_activities'] = self::getPercentage($res['total']['all']['activities'], $piData['services']['all']['cb']);
     $res['ratio']['all']['contacts_activities'] = self::getPercentage($res['total']['all']['activities'], $res['total']['all']['contacts']);
     $res['ratio']['all']['like_percentage'] = self::getPercentage($res['total']['all']['activities'], $res['total']['all']['likes']);
     $res['ratio']['all']['dislike_percentage'] = self::getPercentage($res['total']['all']['activities'], $res['total']['all']['dislikes']);
     return $res;
 }