Пример #1
0
        public static IDictionary <int, double> ConversionRateByAlternative(this Experiment experiment)
        {
            var participants = experiment.ParticipantsByAlternative();
            var converted    = experiment.ConvertedByAlternative();

            var hash = experiment.EmptyHash <double>();

            for (var i = 1; i <= experiment.Alternatives.Count(); i++)
            {
                var conversionRate = participants[i] > 0 ? (converted[i] / (double)participants[i]) * 100 : 0;
                hash[i] = conversionRate;
            }
            return(hash);
        }
Пример #2
0
 public static IEnumerable<AlternativeViewModel> ProjectAlternatives(Experiment experiment, Score score)
 {
     var index = 1;
     foreach (var alternative in experiment.Alternatives)
     {
         var value = alternative.ToString();
         var vm = new AlternativeViewModel
         {
             Name = "Option " + (char)(index + 64),
             Participants = experiment.ParticipantsByAlternative()[index],
             Converted = experiment.ConvertedByAlternative()[index],
             ConversionRate = experiment.ConversionRateByAlternative()[index],
             Showing = experiment.AlternativeValue.ToString() == value,
             Choice = score.Choice != null && score.Choice.Index == index,
             Value = value
         };
         index++;
         yield return vm;
     }
 }
Пример #3
0
        public static IEnumerable <AlternativeViewModel> ProjectAlternatives(Experiment experiment, Score score)
        {
            var index = 1;

            foreach (var alternative in experiment.Alternatives)
            {
                var value = alternative.ToString();
                var vm    = new AlternativeViewModel
                {
                    Name           = "Option " + (char)(index + 64),
                    Participants   = experiment.ParticipantsByAlternative()[index],
                    Converted      = experiment.ConvertedByAlternative()[index],
                    ConversionRate = experiment.ConversionRateByAlternative()[index],
                    Showing        = experiment.AlternativeValue.ToString() == value,
                    Choice         = score.Choice != null && score.Choice.Index == index,
                    Value          = value
                };
                index++;
                yield return(vm);
            }
        }