Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
O Terceiro teste U | U-Test
A Arte do Teste A/B
course content

Conteúdo do Curso

A Arte do Teste A/B

A Arte do Teste A/B

1. O que é teste A/B?
2. Verificação de Normalidade
3. Variações em Testes A/B
4. Teste T
5. U-Test

book O Terceiro teste U

Vamos comparar a métrica 'Valor Médio da Compra' para ambas as amostras.

Começaremos com o gráfico de distribuição:

É difícil fazer uma inferência conclusiva sobre a distribuição das duas amostras. Além disso, a mediana do grupo de teste parece ser maior. Vamos realizar o teste de Shapiro:

12345678910111213141516171819202122232425262728293031323334353637
# Import libraries import pandas as pd from scipy.stats import shapiro # Read .csv files df_control = pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/c3b98ad3-420d-403f-908d-6ab8facc3e28/ab_control.csv', delimiter=';') df_test = pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/c3b98ad3-420d-403f-908d-6ab8facc3e28/ab_test.csv', delimiter=';') # Define the metric df_test['Average Purchase Value'] = df_test['Earning'] / df_test['Purchase'] df_control['Average Purchase Value'] = df_control['Earning'] / df_control['Purchase'] # Testing normality of the control dataframe metric stat_control, p_control = shapiro(df_control['Average Purchase Value']) # Print the results of normality testing print("Control group: ") print("Stat: %.4f, p-value: %.4f" % (stat_control, p_control)) # Identify normality if p_control > 0.05: print('Control group is likely to normal distribution') else: print('Control group is NOT likely to normal distribution') # Testing normality of the test dataframe metric stat_control, p_control = shapiro(df_test['Average Purchase Value']) # Result of normality testing print("Test group: ") print("Stat: %.4f, p-value: %.4f" % (stat_control, p_control)) # Identify normality if p_control > 0.05: print('Test group is likely to normal distribution') else: print('Test group is NOT likely to normal distribution')
copy

O primeiro teste de Shapiro não encontrou evidência estatística de normalidade na distribuição. No entanto, o segundo teste de Shapiro confirmou a normalidade da distribuição no grupo de teste. Neste caso, para o teste U, isso não é um problema. Ele é capaz de comparar distribuições tanto normais quanto não-normais. Não precisamos nos preocupar com a variância neste caso.

As hipóteses serão:

H₀: As medianas da métrica 'Valor Médio de Compra' nos grupos de controle e teste são as mesmas.

Hₐ: As medianas da métrica 'Valor Médio de Compra' diferem entre os grupos de controle e de teste.

123456789101112131415161718192021222324
# Import libraries import pandas as pd from scipy.stats import mannwhitneyu # Read .csv df_control = pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/c3b98ad3-420d-403f-908d-6ab8facc3e28/ab_control.csv', delimiter=';') df_test = pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/c3b98ad3-420d-403f-908d-6ab8facc3e28/ab_test.csv', delimiter=';') # Define the metric df_test['Average Purchase Value'] = df_test['Earning'] / df_test['Purchase'] df_control['Average Purchase Value'] = df_control['Earning'] / df_control['Purchase'] # Do the U-Test statistic, p_value = mannwhitneyu(df_control['Average Purchase Value'], df_test['Average Purchase Value']) # Result of the U-Test print('Statistic:', statistic) print('p-value:', p_value) # Idenify the equals of the medians if p_value > 0.05: print('The medians of the two groups are NOT statistically different') else: print('The medians of the two groups are statistically different')
copy

O valor da estatística de teste obtido e o baixo valor-p indicam uma diferença estatisticamente significativa entre as medianas da métrica 'Valor Médio de Compra' nos grupos de controle e teste. Temos evidências suficientes para rejeitar a hipótese nula e aceitar a hipótese alternativa de que as medianas são diferentes. A mediana no grupo de teste é maior.

O **U-Test** compara o quê?

O U-Test compara o quê?

Selecione a resposta correta

Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 5. Capítulo 7
some-alt