Download plugins/CoreHome/Columns/Metrics/ConversionRate.php from Leon4gr45/matomo: direct link, hf CLI and curl.
- Browser
- Download file 1.92 kB
-
https://huggingface.co/spaces/Leon4gr45/matomo/resolve/main/plugins/CoreHome/Columns/Metrics/ConversionRate.php
- Command line
-
hf download hf://spaces/Leon4gr45/matomo/plugins/CoreHome/Columns/Metrics/ConversionRate.php
-
curl -L -o ConversionRate.php https://huggingface.co/spaces/Leon4gr45/matomo/resolve/main/plugins/CoreHome/Columns/Metrics/ConversionRate.php
1.92 kB
| /** | |
| * Matomo - free/libre analytics platform | |
| * | |
| * @link https://matomo.org | |
| * @license https://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later | |
| */ | |
| namespace Piwik\Plugins\CoreHome\Columns\Metrics; | |
| use Piwik\Columns\Dimension; | |
| 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) | |
| { | |
| // Defensive: API.get merges pre-formatted child-report columns (Goals.get's inner getMetrics runs the | |
| // post-processor and already formats conversion_rate to "x%"). When this metric is registered on the | |
| // parent report (Goals.get), the outer formatMetrics pass would otherwise multiply "x%" by 100 and | |
| // emit a PHP 8.x "non well formed numeric" warning. Treat non-numeric input as already-formatted. | |
| if (!is_numeric($value)) { | |
| return $value; | |
| } | |
| 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); | |
| } | |
| public function getSemanticType(): ?string | |
| { | |
| return Dimension::TYPE_PERCENT; | |
| } | |
| } | |