/** * Record success/completion of a test variation. * * @access public * @param string $test_id * @return mixed */ public function addWin($test_id, $variation_id) { $this->getClient(); // increment the object hash count $wins = $this->client->hincrby('variation:' . $variation_id, 'wins', 1); // retrieve the variation views $pageviews = $this->client->hget('variation:' . $variation_id, 'pageviews'); // calculate ranking change $rank = 0.0; if ($pageviews > 0) { $rank = $wins / $pageviews; } // update the variation rankings $this->client->zadd('variations:sorted_by_rank', $rank, $variation_id); }