/**
  * PHPDOC
  *
  * @return NelioABAltExpGoalResult PHPDOC
  *
  * @since PHPDOC
  */
 public function get_results()
 {
     $results = new NelioABAltExpGoalResult();
     /** @var NelioABAlternativeExperiment $experiment */
     $experiment = $this->get_experiment();
     $url = sprintf(NELIOAB_BACKEND_URL . '/goal/alternativeexp/%s/result', $this->get_id());
     $json_data = null;
     $json_data = NelioABBackend::remote_get($url);
     $json_data = json_decode($json_data['body'], true);
     $results->set_total_visitors($json_data['totalVisitors']);
     $results->set_total_conversions($json_data['totalConversions']);
     $results->set_total_conversion_rate($json_data['totalConversionRate']);
     $results->set_visitors_history($json_data['historyVisitors']);
     $results->set_conversions_history($json_data['historyConversions']);
     $results->set_first_update($json_data['firstUpdate']);
     $results->set_last_update($json_data['lastUpdate']);
     $confidence = 0;
     if (isset($json_data['resultStatus'])) {
         $confidence = $json_data['confidenceInResultStatus'];
     }
     $results->set_summary_status(NelioABGTest::get_result_status_from_str($json_data['resultStatus']), $confidence);
     $alt_res = new NelioABAltStats(true);
     // Original
     $alt_res->set_name(__('Original', 'nelioab'));
     $alt_res->set_alt_id($json_data['originalStats']['altId']);
     $alt_res->set_num_of_visitors($json_data['originalStats']['visitors']);
     $alt_res->set_num_of_conversions($json_data['originalStats']['conversions']);
     $alt_res->set_conversion_rate($json_data['originalStats']['conversionRate']);
     if (isset($json_data['originalStats']['historyVisitors'])) {
         $alt_res->set_visitors_history($json_data['originalStats']['historyVisitors']);
     }
     if (isset($json_data['originalStats']['historyConversions'])) {
         $alt_res->set_conversions_history($json_data['originalStats']['historyConversions']);
     }
     $results->add_alternative_results($alt_res);
     if (is_array($json_data['alternativeStats'])) {
         foreach ($json_data['alternativeStats'] as $json_alt) {
             $alt_res = new NelioABAltStats();
             $alternative = null;
             foreach ($experiment->get_alternatives() as $alt) {
                 /** @var NelioABAlternative $alt */
                 if ($alt->get_id() == $json_alt['altId']) {
                     $alternative = $alt;
                 }
             }
             if ($alternative == null) {
                 foreach ($experiment->get_alternatives() as $alt) {
                     if ($alt->applies_to_post_id($json_alt['altId'])) {
                         $alternative = $alt;
                     }
                 }
             }
             if ($alternative == null) {
                 continue;
             }
             $alt_res->set_name($alternative->get_name());
             $alt_res->set_alt_id($json_alt['altId']);
             $alt_res->set_num_of_visitors($json_alt['visitors']);
             $alt_res->set_num_of_conversions($json_alt['conversions']);
             $alt_res->set_conversion_rate($json_alt['conversionRate']);
             $alt_res->set_improvement_factor($json_alt['improvementFactor']);
             if (isset($json_alt['historyVisitors'])) {
                 $alt_res->set_visitors_history($json_alt['historyVisitors']);
             }
             if (isset($json_alt['historyConversions'])) {
                 $alt_res->set_conversions_history($json_alt['historyConversions']);
             }
             $results->add_alternative_results($alt_res);
         }
     }
     if (is_array($json_data['gTests'])) {
         foreach ($json_data['gTests'] as $stats) {
             $g = new NelioABGTest($stats['message'], $experiment->get_originals_id());
             $min_ver = NULL;
             if (isset($stats['minVersion'])) {
                 $min_ver = $stats['minVersion'];
                 $g->set_min($min_ver);
             }
             $max_ver = NULL;
             if (isset($stats['maxVersion'])) {
                 $max_ver = $stats['maxVersion'];
                 $g->set_max($max_ver);
             }
             if (isset($stats['gtest'])) {
                 $g->set_gtest($stats['gtest']);
             }
             if (isset($stats['pvalue'])) {
                 $g->set_pvalue($stats['pvalue']);
             }
             if (isset($stats['certainty'])) {
                 $g->set_certainty($stats['certainty']);
             }
             $g->set_min_name(__('Unknown', 'nelioab'));
             $g->set_max_name(__('Unknown', 'nelioab'));
             $alts = $experiment->get_alternatives();
             for ($i = 0; $i < count($alts); ++$i) {
                 $alt = $alts[$i];
                 $short_name = sprintf(__('Alternative %s', 'nelioab'), $i + 1);
                 if ($alt->get_identifiable_value() == $min_ver || $alt->get_id() == $min_ver) {
                     $g->set_min_name($short_name, $alt->get_name());
                 }
                 if ($alt->get_identifiable_value() == $max_ver || $alt->get_id() == $max_ver) {
                     $g->set_max_name($short_name, $alt->get_name());
                 }
             }
             if ($experiment->get_originals_id() == $min_ver) {
                 $g->set_min_name(__('Original', 'nelioab'));
             }
             if ($experiment->get_originals_id() == $max_ver) {
                 $g->set_max_name(__('Original', 'nelioab'));
             }
             $results->add_gtest($g);
         }
     }
     return $results;
 }