diff options
Diffstat (limited to 'plugins/CoreHome/Columns/Metrics/BounceRate.php')
-rw-r--r-- | plugins/CoreHome/Columns/Metrics/BounceRate.php | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/plugins/CoreHome/Columns/Metrics/BounceRate.php b/plugins/CoreHome/Columns/Metrics/BounceRate.php new file mode 100644 index 0000000000..65d46fb435 --- /dev/null +++ b/plugins/CoreHome/Columns/Metrics/BounceRate.php @@ -0,0 +1,52 @@ +<?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 percentage of visits that leave the site without visiting another page. Calculated + * as: + * + * bounce_count / nb_visits + * + * bounce_count & nb_visits are calculated by an Archiver. + */ +class BounceRate extends ProcessedMetric +{ + public function getName() + { + return 'bounce_rate'; + } + + public function getTranslatedName() + { + return Piwik::translate('General_ColumnBounceRate'); + } + + public function getDependentMetrics() + { + return array('bounce_count', 'nb_visits'); + } + + public function format($value, Formatter $formatter) + { + return $formatter->getPrettyPercentFromQuotient($value); + } + + public function compute(Row $row) + { + $bounceCount = $this->getMetric($row, 'bounce_count'); + $visits = $this->getMetric($row, 'nb_visits'); + + return Piwik::getQuotientSafe($bounceCount, $visits, $precision = 2); + } +}
\ No newline at end of file |