Class: ABBA::ABTest

Inherits:
Object
  • Object
show all
Defined in:
lib/abba/ab_test.rb

Defined Under Namespace

Classes: Variant

Instance Method Summary collapse

Constructor Details

#initialize(variant_a:, variant_b:, test: Bayes::BinaryOutcomeTest) ⇒ ABTest

Returns a new instance of ABTest.



3
4
5
6
7
# File 'lib/abba/ab_test.rb', line 3

def initialize(variant_a:, variant_b:, test: Bayes::BinaryOutcomeTest)
  @variant_a = ABTest::Variant.new(variant_a)
  @variant_b = ABTest::Variant.new(variant_b)
  @test = test
end

Instance Method Details

#choose_a?Boolean

Returns:

  • (Boolean)


9
10
11
# File 'lib/abba/ab_test.rb', line 9

def choose_a?
  @test.new(@variant_a, @variant_b).call
end

#choose_b?Boolean

Returns:

  • (Boolean)


13
14
15
# File 'lib/abba/ab_test.rb', line 13

def choose_b?
  @test.new(@variant_b, @variant_a).call
end

#probabilitiesObject



17
18
19
20
# File 'lib/abba/ab_test.rb', line 17

def probabilities
  p = choose_a?
  [p, 1-p]
end