public function compute(Row $row) { $orders = $this->getMetric($row, 'orders'); $abandonedCarts = $this->getMetric($row, 'abandoned_carts'); $visits = $this->getMetric($row, 'nb_visits'); return Piwik::getQuotientSafe($orders === false ? $abandonedCarts : $orders, $visits, GoalManager::REVENUE_PRECISION + 2); }
public function compute(Row $row) { $quantity = $this->getMetric($row, 'quantity'); $orders = $this->getMetric($row, 'orders'); $abandonedCarts = $this->getMetric($row, 'abandoned_carts'); return Piwik::getQuotientSafe($quantity, $orders === false ? $abandonedCarts : $orders, $precision = 1); }
public function compute(Row $row) { $mappingFromNameToIdGoal = Metrics::getMappingFromNameToIdGoal(); $goalMetrics = $this->getGoalMetrics($row); $goalRevenue = $this->getMetric($goalMetrics, 'revenue', $mappingFromNameToIdGoal); $conversions = $this->getMetric($goalMetrics, 'nb_conversions', $mappingFromNameToIdGoal); return Piwik::getQuotientSafe($goalRevenue, $conversions, GoalManager::REVENUE_PRECISION); }
public function compute(Row $row) { $columnName = $this->getWrappedName(); $pastRow = $this->getPastRowFromCurrent($row); $currentValue = $this->getMetric($row, $columnName); $pastValue = $pastRow ? $this->getMetric($pastRow, $columnName) : 0; $dividend = $currentValue - $pastValue; $divisor = $pastValue; if ($dividend == 0) { return 0; } else { if ($divisor == 0) { return 1; } else { return Piwik::getQuotientSafe($dividend, $divisor, $this->quotientPrecision + 2); } } }
public function compute(Row $row) { $mappingFromNameToIdGoal = Metrics::getMappingFromNameToIdGoal(); $goals = $this->getMetric($row, 'goals') ?: array(); $revenue = 0; foreach ($goals as $goalId => $goalMetrics) { if ($goalId == Piwik::LABEL_ID_GOAL_IS_ECOMMERCE_CART) { continue; } if ($goalId >= GoalManager::IDGOAL_ORDER || $goalId == Piwik::LABEL_ID_GOAL_IS_ECOMMERCE_ORDER) { $revenue += (int) $this->getMetric($goalMetrics, 'revenue', $mappingFromNameToIdGoal); } } if ($revenue == 0) { $revenue = (int) $this->getMetric($row, 'revenue'); } $nbVisits = (int) $this->getMetric($row, 'nb_visits'); $conversions = (int) $this->getMetric($row, 'nb_conversions'); // If no visit for this metric, but some conversions, we still want to display some kind of "revenue per visit" // even though it will actually be in this edge case "Revenue per conversion" return Piwik::getQuotientSafe($revenue, $nbVisits == 0 ? $conversions : $nbVisits, GoalManager::REVENUE_PRECISION); }
public function compute(Row $row) { $exitVisits = $this->getMetric($row, 'exit_nb_visits'); $visits = $this->getMetric($row, 'nb_visits'); return Piwik::getQuotientSafe($exitVisits, $visits, $precision = 2); }
public function compute(Row $row) { $sumTimeSpent = $this->getMetric($row, 'sum_time_spent'); $visits = $this->getMetric($row, 'nb_hits'); return Piwik::getQuotientSafe($sumTimeSpent, $visits, $precision = 0); }
public function compute(Row $row) { $revenue = $this->getMetric($row, 'revenue'); $conversions = $this->getMetric($row, 'nb_conversions'); return Piwik::getQuotientSafe($revenue, $conversions, $precision = 2); }
public function compute(Row $row) { $sumVisitLength = $this->getMetric($row, 'sum_visit_length'); $nbVisits = $this->getMetric($row, 'nb_visits'); return Piwik::getQuotientSafe($sumVisitLength, $nbVisits, $precision = 0); }
public function compute(Row $row) { $interactions = $this->getMetric($row, 'nb_interactions'); $impressions = $this->getMetric($row, 'nb_impressions'); return Piwik::getQuotientSafe($interactions, $impressions, $precision = 4); }
public function compute(Row $row) { $visits = $this->getMetric($row, 'nb_visits'); return Piwik::getQuotientSafe($visits, $this->cachedTotalVisits, $precision = 2); }
public function compute(Row $row) { $actions = $this->getMetric($row, 'nb_actions'); $visits = $this->getMetric($row, 'nb_visits'); return Piwik::getQuotientSafe($actions, $visits, $precision = 1); }
public function compute(Row $row) { $bounceCount = $this->getMetric($row, 'bounce_count'); $visits = $this->getMetric($row, 'nb_visits'); return Piwik::getQuotientSafe($bounceCount, $visits, $precision = 2); }
public function compute(Row $row) { $sumEventValue = $this->getMetric($row, 'sum_event_value'); $eventsWithValue = $this->getMetric($row, 'nb_events_with_value'); return Piwik::getQuotientSafe($sumEventValue, $eventsWithValue, $precision = 2); }
public function compute(Row $row) { $sumGenerationTime = $this->getMetric($row, 'sum_time_generation'); $hitsWithTimeGeneration = $this->getMetric($row, 'nb_hits_with_time_generation'); return Piwik::getQuotientSafe($sumGenerationTime, $hitsWithTimeGeneration, $precision = 3); }
public function compute(Row $row) { $nbVisitsConverted = $this->getMetric($row, 'nb_visits_converted'); $nbVisits = $this->getMetric($row, 'nb_visits'); return Piwik::getQuotientSafe($nbVisitsConverted, $nbVisits, $precision = 4); }