diff options
Diffstat (limited to 'plugins/CoreHome/Columns/Metrics/ConversionRate.php')
-rw-r--r-- | plugins/CoreHome/Columns/Metrics/ConversionRate.php | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/plugins/CoreHome/Columns/Metrics/ConversionRate.php b/plugins/CoreHome/Columns/Metrics/ConversionRate.php new file mode 100644 index 0000000000..0865825238 --- /dev/null +++ b/plugins/CoreHome/Columns/Metrics/ConversionRate.php @@ -0,0 +1,51 @@ +<?php +/** + * Piwik - free/libre analytics platform + * + * @link http://piwik.org + * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later + */ +namespace Piwik\Plugins\CoreHome\Columns\Metrics; + +use Piwik\DataTable\Row; +use Piwik\Metrics\Formatter; +use Piwik\Piwik; +use Piwik\Plugin\ProcessedMetric; + +/** + * The percent of visits that result in a conversion. Calculated as: + * + * nb_visits_converted / nb_visits + * + * nb_visits_converted & nb_visits are calculated by the archiving process. + */ +class ConversionRate extends ProcessedMetric +{ + public function getName() + { + return 'conversion_rate'; + } + + public function getTranslatedName() + { + return Piwik::translate('General_ColumnConversionRate'); + } + + public function getDependentMetrics() + { + return array('nb_visits_converted', 'nb_visits'); + } + + public function format($value, Formatter $formatter) + { + return $formatter->getPrettyPercentFromQuotient($value); + } + + 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); + } +}
\ No newline at end of file |