Data Analysis/- Case Study

[Yammer/Mode] A/B ํ…Œ์ŠคํŠธ ๋ถ„์„ : 2๏ธโƒฃ ๋žœ๋ค ์ƒ˜ํ”Œ๋ง

์Šค์œ„๋ฏผ 2025. 4. 16. 23:59

 

 

[Yammer/Mode] A/B ํ…Œ์ŠคํŠธ ๊ฒฐ๊ณผ ๊ฒ€์ฆ : 1๏ธโƒฃ SQL ์ฟผ๋ฆฌ ๋œฏ์–ด๋ณด๊ธฐ

Yammer ๋ถ„์„ ํ”„๋กœ์ ํŠธ"์•ผ๋จธ(Yammer)"๋Š” ๋งˆ์ดํฌ๋กœ์†Œํ”„ํŠธ ์‚ฐํ•˜์˜ ๊ธฐ์—…์šฉ ์†Œ์…œ ๋„คํŠธ์›Œํฌ ์„œ๋น„์Šค ํšŒ์‚ฌ์ž…๋‹ˆ๋‹ค. Mode์—์„œ ๊ฐ€์ƒ์˜ ์•ผ๋จธ์‚ฌ์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฅผ ํ™œ์šฉํ•˜์—ฌ ํ˜„์—…๊ณผ ์œ ์‚ฌํ•œ ๋ฌธ์ œ ์ƒํ™ฉ์„

syimmin-data-analysis.tistory.com

 

์ด์ „ ๊ธ€์„ ํ†ตํ•ด Yammer์‚ฌ์—์„œ ์ง„ํ–‰ํ•œ ์ƒˆ๋กœ์šด ํฌ์ŠคํŒ… ๊ธฐ๋Šฅ์˜ A/B test์— ๋Œ€ํ•ด ์•Œ์•„๋ณด์•˜์Šต๋‹ˆ๋‹ค.

SQL์„ ๋œฏ์–ด๋ณด๋Š” ๊ณผ์ •์—์„œ ์–ด๋–ค ์˜ค๋ฅ˜์™€ ํŽธํ–ฅ์ด ๋ฐœ์ƒํ–ˆ๋Š”์ง€ ์ถ”์ธกํ•ด๋ณผ ์ˆ˜ ์žˆ๋Š”๋ฐ์š”,

์˜ค๋Š˜์€ A/B test์˜ ์ƒ˜ํ”Œ์— ๋Œ€ํ•ด์„œ ์ƒ˜ํ”Œ๋ง์—์„œ ์™ธ๋ถ€ ๋ณ€์ˆ˜๊ฐ€ ์ž˜ ํ†ต์ œ๋˜์—ˆ๋Š”์ง€, ์ฆ‰ Random Sampling (๋ฌด์ž‘์œ„ ์ถ”์ถœ)์ด ์ž˜ ์ด๋ฃจ์–ด์กŒ๋Š”์ง€
๊ทธ๋ฆฌ๊ณ  ๊ฐ€์„ค์ด ํ†ต๊ณ„์ ์œผ๋กœ ์œ ์˜๋ฏธํ•˜๊ธฐ ์œ„ํ•ด ์ƒ˜ํ”Œ ์‚ฌ์ด์ฆˆ๊ฐ€ ์ ์ •ํ•œ์ง€ ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค ๐Ÿ˜€

 

 

Random Sampling (๋ฌด์ž‘์œ„ ์ถ”์ถœ)

A/B ํ…Œ์ŠคํŠธ์—์„œ random sampling์€ ํ†ต์ œ๋ณ€์ˆ˜๊ฐ€ ์ž˜ ๊ด€๋ฆฌ๋œ ๊ฒƒ์„ ์ „์ œ๋กœ ๋ชจ๋“  ํ‘œ๋ณธ์ด ๋™์ผํ•œ ํ™•๋ฅ ์„ ๊ฐ€์ง„ ์ƒํƒœ์—์„œ ๋ฝ‘๋Š” ๋ฌด์ž‘์œ„ ์ถ”์ถœ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค.

์ œ3์˜ ๋ณ€์ˆ˜๊ฐ€ ์ข…์† ๋ณ€์ˆ˜(๋ชฉํ‘œ์ง€ํ‘œ)์— ์˜ํ–ฅ์„ ๋ฏธ์น  ์ˆ˜ ์žˆ๋‹ค๊ณ  ํŒ๋‹จ๋œ๋‹ค๋ฉด ์ด๋ฅผ ํ†ต์ œํ•˜์—ฌ ์ƒ˜ํ”Œ๋ง ๊ณผ์ •์— ๋ฐ˜์˜ํ•จ์œผ๋กœ์จ ์˜ํ–ฅ์„ ์ฐจ๋‹จํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

ํ”ํžˆ ํ•˜๋Š” ํšŒ์›๋ฒˆํ˜ธ๋ฅผ ํ™€/์ง์œผ๋กœ ๋‚˜๋ˆ„๋Š” ๋ฐฉ๋ฒ•์€ ๋žœ๋˜ ์ƒ˜ํ”Œ๋ง์ด ์•„๋‹™๋‹ˆ๋‹ค. ์ด๋Š” ํŽธ์˜ ์ถ”์ถœ(convenient sampling)์œผ๋กœ ๋žœ๋ค ์ƒ˜ํ”Œ๋ง๊ณผ ์‚ฌ๋žŒ๋“ค์ด ํ”ํžˆ ํ˜ผ๋™์„ ํ•ฉ๋‹ˆ๋‹ค.

 

 

 

์‚ฌ์šฉ ์–ธ์–ด์˜ ๋ถ„ํฌ

๋”๋ณด๊ธฐ
select distinct
  a.language, 
  count(a.user_id) over (partition by a.language) * 100 / count(a.user_id) over () as language_proportion,
  count(b.user_id) over (partition by a.language) * 100 / count(b.user_id) over () as control_language_proportion,
  count(c.user_id) over (partition by a.language) * 100 / count(c.user_id) over () as test_language_proportion,
  count(a.user_id) over (partition by a.language) as user_count,
  count(b.user_id) over (partition by a.language) as control_user_count,
  count(c.user_id) over (partition by a.language) as test_user_count,
  count(a.user_id) over () as total_users,
  count(b.user_id) over () as control_total_users,
  count(c.user_id) over () as test_total_users
from tutorial.yammer_users a
left join (select user_id from tutorial.yammer_experiments where experiment = 'publisher_update' and experiment_group = 'control_group') b
  on a.user_id = b.user_id
left join (select user_id from tutorial.yammer_experiments where experiment = 'publisher_update' and experiment_group = 'test_group') c
  on a.user_id = c.user_id
order by 2 desc, 3 desc, 4 desc

 

์–ธ์–ด ์„ค์ •(Language setting)๊ณผ ๊ฐ™์€ ์™ธ๋ถ€ ๋ณ€์ˆ˜๊ฐ€ ์‹คํ—˜ ๊ฒฐ๊ณผ์— ์˜ํ–ฅ์„ ์ค„ ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์—, ๊ฐ ๊ทธ๋ฃน ๋‚ด ํ•ด๋‹น ๋ณ€์ˆ˜์˜ ๋ถ„ํฌ๋ฅผ ํ™•์ธํ•˜๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค.
์ „์ฒด ์‚ฌ์šฉ์ž, ๋Œ€์กฐ๊ตฐ, ์‹คํ—˜๊ตฐ์˜ ์–ธ์–ด ์„ค์ • ๋น„์œจ์„ ๋น„๊ตํ•œ ๊ฒฐ๊ณผ, ์„ธ ๊ทธ๋ฃน ๊ฐ„ ๋ถ„ํฌ๊ฐ€ ๊ฑฐ์˜ ๋™์ผํ•˜๊ฒŒ ๋‚˜ํƒ€๋‚˜ ์™ธ๋ถ€ ๋ณ€์ˆ˜๋กœ ์ธํ•œ ์˜ํ–ฅ์„ ์ตœ์†Œํ™”ํ•˜์˜€์Œ์„ ์•Œ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

 

์ ‘์† ๊ตญ๊ฐ€์˜ ๋ถ„ํฌ

๋”๋ณด๊ธฐ
select distinct
  a.location, 
  count(a.user_id) over (partition by a.location) * 100 / count(a.user_id) over () as language_proportion,
  count(b.user_id) over (partition by a.location) * 100 / count(b.user_id) over () as control_language_proportion,
  count(c.user_id) over (partition by a.location) * 100 / count(c.user_id) over () as test_language_proportion,
  count(a.user_id) over (partition by a.location) as user_count,
  count(b.user_id) over (partition by a.location) as control_user_count,
  count(c.user_id) over (partition by a.location) as test_user_count,
  count(a.user_id) over () as total_users,
  count(b.user_id) over () as control_total_users,
  count(c.user_id) over () as test_total_users
from 
(select distinct user_id, location
from tutorial.yammer_events) as a
left join (select user_id from tutorial.yammer_experiments where experiment = 'publisher_update' and experiment_group = 'control_group') b
  on a.user_id = b.user_id
left join (select user_id from tutorial.yammer_experiments where experiment = 'publisher_update' and experiment_group = 'test_group') c
  on a.user_id = c.user_id
order by 2 desc, 3 desc, 4 desc

 

์ ‘์† ๊ตญ๊ฐ€ ๋˜ํ•œ ์‹คํ—˜์— ์˜ํ–ฅ์„ ์ค„ ์ˆ˜ ์žˆ๋Š” ํ•˜๋‚˜์˜ ์™ธ๋ถ€ ๋ณ€์ˆ˜๋กœ ์ด๋ฅผ ํ†ต์ œํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์ „์ฒด ์‚ฌ์šฉ์ž, ๋Œ€์กฐ์ง‘๋‹จ, ์‹คํ—˜์ง‘๋‹จ์˜ ์ ‘์† ๊ตญ๊ฐ€์˜ ๋ถ„ํฌ๋ฅผ ํ™•์ธํ–ˆ์„ ๋•Œ, ๋ชจ๋‘ ๊ฑฐ์˜ ํก์‚ฌํ•œ ๋น„์œจ๋กœ ๋ถ„ํฌ๋˜์–ด ์žˆ์Œ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
์ฆ‰, ์ ‘์† ๊ตญ๊ฐ€๋Š” ์ž˜ ํ†ต์ œ๊ฐ€ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

 

 

๊ฐ€์ž…๊ฒฝ๊ณผ์ผ ๋ถ„ํฌ

 

๋”๋ณด๊ธฐ
with a as
(SELECT
  a.user_id,
  a.experiment_group,
  '2014-07-01' - b.created_at::date AS days_since_signup
FROM tutorial.yammer_experiments a
JOIN tutorial.yammer_users b
  ON a.user_id = b.user_id
order by 3)

select 
  experiment_group, 
  days_since_signup,
  count(user_id)
from a
group by 1, 2
order by 1, 2

 

2024-07-01 ๊ธฐ์ค€์œผ๋กœ ๊ฐ€์ž…๊ฒฝ๊ณผ์ผ์„ ์‹œ๊ฐํ™”ํ•ด๋ณด๋ฉด

๋Œ€์กฐ์ง‘๋‹จ์— ์ตœ๊ทผ ๊ฐ€์ž…ํ•œ ์œ ์ €๊ฐ€ ๋‹ค์ˆ˜ ํฌํ•จ๋œ ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ตœ๊ทผ ๊ฐ€์ž…ํ•œ ์œ ์ €๋Š” ๊ธฐ์กด ์œ ์ €์™€ ๋‹ฌ๋ฆฌ ์„œ๋น„์Šค์˜ ๊ธฐ๋Šฅ๋“ค์„ ํ™œ๋ฐœํ•˜๊ฒŒ ํƒ์ƒ‰ํ•˜๋ฉฐ ํฌ์ŠคํŒ… ๊ธฐ๋Šฅ์„ ๋” ๋งŽ์ด ์‚ฌ์šฉํ–ˆ์„ ๊ฐ€๋Šฅ์„ฑ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

๋”ฐ๋ผ์„œ, ๊ฐ€์ž… ๋‚ ์งœ๋ผ๋Š” ์™ธ๋ถ€ ๋ณ€์ˆ˜ ๋˜ํ•œ ํ†ต์ œํ•˜์ง€ ๋ชปํ•œ ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. 

 

์‹คํ—˜์ง‘๋‹จ์€ ๊ฐ€์ž…์ผ์ด 32์ผ ๋ฏธ๋งŒ์ธ ์œ ์ €๋Š” ์—†๋Š” ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.. 

 

 

๋Œ€์กฐ๊ตฐ์—์„œ ์‹ ๊ทœ ๊ฐ€์ž…์ž์˜ ๋น„์œจ์ด ๊ณผ๋„ํ•˜๊ฒŒ ๋†’์•„ ๊ฒฐ๊ณผ์— ์˜ํ–ฅ์„ ์ค„ ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ,

์ด๋ฅผ ํ†ต์ œํ•˜๊ธฐ ์œ„ํ•ด ๊ฐ€์ž…์ผ ๊ธฐ์ค€ 32์ผ ๋ฏธ๋งŒ์˜ ์‚ฌ์šฉ์ž๋ฅผ ์ œ์™ธํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๋˜ํ•œ ์‹คํ—˜์ด 6์›” 1์ผ์ž๋กœ ์‹œ์ž‘๋˜์—ˆ๊ธฐ ๋•Œ๋ฌธ์— ๊ธฐ์กด ๊ฐ€์ž…์ž๋“ค์„ ๋Œ€์ƒ์œผ๋กœ ์‹คํ—˜์„ ์ง„ํ–‰ํ•˜๊ธฐ ์œ„ํ•ด ๊ฐ€์ž…์ผ์„ 5์›” 1์ผ ์ด์ „์œผ๋กœ ์ถ”๋ ค A/B test๋ฅผ ์žฌํ•ด์„ํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

 

 

์ƒˆ๋กœ ์„ค์ •ํ•œ ๋Œ€์กฐ์ง‘๋‹จ์˜ ์–ธ์–ด, ๊ตญ๊ฐ€, ๊ธฐ๊ธฐ ๋ถ„ํฌ ํ™•์ธํ•˜๊ธฐ

 

์‹ ๊ทœ ๊ฐ€์ž…์ž๋ฅผ ์ œ์™ธํ•œ ์ƒˆ ๋Œ€์กฐ์ง‘๋‹จ์ด ์–ธ์–ด, ๊ตญ๊ฐ€, ๊ธฐ๊ธฐ ๋“ฑ์˜ ์™ธ๋ถ€ ๋ณ€์ˆ˜์— ์˜ํ–ฅ์„ ๋ฐ›๋Š”์ง€ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•ด ๋‹ค์‹œ ๋ถ„ํฌ๋ฅผ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.

(์œ„์˜ ์ฝ”๋“œ์™€ ๋™์ผํ•˜์—ฌ ์ฝ”๋“œ๋Š” ์ƒ๋žตํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.)

๋”๋ณด๊ธฐ
์–ธ์–ด ๋ถ„ํฌ
๋‚˜๋ผ ๋ถ„ํฌ
๊ธฐ๊ธฐ ๋ถ„ํฌ

ํ™•์ธ ๊ฒฐ๊ณผ, ์ƒˆ๋กœ์šด ๋Œ€์กฐ์ง‘๋‹จ๊ณผ ์‹คํ—˜์ง‘๋‹จ์˜ ์–ธ์–ด, ๊ตญ๊ฐ€, ๊ธฐ๊ธฐ ๋ณ€์ˆ˜๋Š” ์ „์ฒด ๋น„์œจ๊ณผ ๋™์ผํ•˜๊ฒŒ ๋ถ„ํฌ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

 

 

๋Œ€์กฐ์ง‘๋‹จ๊ณผ ์‹คํ—˜์ง‘๋‹จ์˜ engagement ๋น„๊ต

๋”๋ณด๊ธฐ
-- 5.1 ~ 5.31๊นŒ์ง€์˜ engagement
-- 6.1 ~ 6.30๊นŒ์ง€์˜ engagement
-- test/control ์ง‘๋‹จ๋ณ„๋กœ ๋น„๊ต
-- engagement์€ login๊ณผ send_message๋กœ ์ •์˜

with experiment_table as (
select 
  a.user_id,
  a.experiment_group
from tutorial.yammer_experiments a
join tutorial.yammer_users b
  on a.user_id = b.user_id
where a.experiment = 'publisher_update'
  and b.created_at < '2014-05-01')

SELECT 
  ex.experiment_group,
  count(distinct ex.user_id) as user_count,
  (SUM(CASE WHEN e.event_name = 'login' and e.occurred_at BETWEEN '2014-05-01' AND '2014-05-31' THEN 1 ELSE 0 END) * 1.0)
  / count(distinct ex.user_id) AS old_login_ratio,
  (SUM(CASE WHEN e.event_name = 'send_message' and e.occurred_at BETWEEN '2014-05-01' AND '2014-05-31'  THEN 1 ELSE 0 END) * 1.0) 
  / count(distinct ex.user_id) as old_sendm_ratio,
  (SUM(CASE WHEN e.event_name = 'login' and e.occurred_at BETWEEN '2014-06-01' AND '2014-06-30'THEN 1 ELSE 0 END)*1.0)
  / count(distinct ex.user_id) AS new_login_ratio,
  (SUM(CASE WHEN e.event_name = 'send_message' and e.occurred_at BETWEEN '2014-06-01' AND '2014-06-30' THEN 1 ELSE 0 END) * 1.0)
  / count(distinct ex.user_id) as new_sendm_ratio
FROM tutorial.yammer_events e
JOIN experiment_table ex
  ON e.user_id = ex.user_id
GROUP BY ex.experiment_group
order by 2 desc

 

 

Old ratio๋Š” 5์›”, new ratio๋Š” ์‹คํ—˜์ด ์ง„ํ–‰๋œ 6์›”์˜ ์ง€ํ‘œ๋ฅผ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค.
๋Œ€์กฐ๊ตฐ๊ณผ ์‹คํ—˜๊ตฐ์˜ 5์›” engagement ์ง€ํ‘œ๋ฅผ ๋น„๊ตํ•ด๋ณธ ๊ฒฐ๊ณผ, ์‹คํ—˜๊ตฐ์˜ engagement rate์ด ๋Œ€์กฐ๊ตฐ๋ณด๋‹ค ์• ์ดˆ์— ๋” ๋†’์•˜๋˜ ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
ํŠนํžˆ login๊ณผ send_message ์ง€ํ‘œ ๋ชจ๋‘์—์„œ ์‹คํ—˜๊ตฐ์ด ๋Œ€์กฐ๊ตฐ๋ณด๋‹ค ๋†’์€ ์ˆ˜์น˜๋ฅผ ๊ธฐ๋กํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

 

๋”ฐ๋ผ์„œ, A/B ํ…Œ์ŠคํŠธ์—์„œ ๊ด€์ฐฐ๋œ ํฌ์ŠคํŒ… ์ˆ˜ ์ฐจ์ด๊ฐ€ ์‹ค์ œ๋กœ๋Š” ์‹คํ—˜ ๋ณ€์ˆ˜์ธ ์ƒˆ๋กœ์šด publish ๊ธฐ๋Šฅ ๋•Œ๋ฌธ์ด ์•„๋‹ ๊ฐ€๋Šฅ์„ฑ์ด ๋†’์œผ๋ฉฐ, ์ง‘๋‹จ ๊ฐ„ ์‚ฌ์ „ ์ฐจ์ด(pre-existing differences)์— ๊ธฐ์ธํ–ˆ์„ ๊ฐ€๋Šฅ์„ฑ์„ ๊ณ ๋ คํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

 

๋”ฐ๋ผ์„œ, ์œ ์ €์˜ engagement์— ๋”ฐ๋ผ ์˜ํ–ฅ์„ ๋ฐ›๋Š” ํฌ์ŠคํŒ… ์ˆ˜๊ฐ€ ์•„๋‹Œ

์œ ์ € ์•ก์…˜์ด ๋กœ๊ทธ์ธํ•œ ํ›„์— ํฌ์ŠคํŒ…๊นŒ์ง€ ์ด์–ด์กŒ๋Š”์ง€, ๊ทธ ์ „ํ™˜์œจ์„ ์ธก์ •ํ•˜๋Š” ๊ฒƒ์ด ๋” ์˜ฌ๋ฐ”๋ฅธ A/B test์˜ ๋ชฉํ‘œ์ง€ํ‘œ๊ฐ€ ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

 

๋ฐฐ์šด ์ 

 

A/B ํ…Œ์ŠคํŠธ์˜ ์ƒ˜ํ”Œ์„ ์„ ์ •ํ•  ๋•Œ๋Š”, ๊ตญ๊ฐ€, ์–ธ์–ด ๋“ฑ ์™ธ๋ถ€ ๋ณ€์ˆ˜๋ฅผ ํ†ต์ œํ•œ ์ƒํƒœ์—์„œ ๋ฌด์ž‘์œ„๋กœ ์ถ”์ถœํ•ด์•ผ ์‹คํ—˜ ๊ฒฐ๊ณผ์˜ ์‹ ๋ขฐ๋„๋ฅผ ํ™•๋ณดํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ํŠนํžˆ, ์‹ ๊ทœ ์œ ์ €์™€ ๊ธฐ์กด ์œ ์ €๋Š” ์ƒˆ๋กœ์šฐ ๊ธฐ๋Šฅ์— ๋Œ€ํ•œ ๋ฐ˜์‘์ด ๋‹ค๋ฅผ ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— a/b test๋ฅผ ์ง„ํ–‰ํ•  ๋•Œ์—๋Š” ์‹ ๊ทœ ์œ ์ €์™€ ๊ธฐ์กด ์œ ์ €๋ฅผ ๋‚˜๋ˆ„์–ด์„œ ์ง„ํ–‰ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ, ์ €๋Š” ์‹ ๊ทœ ์œ ์ €๋ฅผ ์‹คํ—˜์—์„œ ์ œ์™ธํ•˜์˜€์Šต๋‹ˆ๋‹ค.

 

๋‹ค์Œ ํฌ์ŠคํŒ…์—์„œ๋Š” ์ƒˆ๋กœ์šด ๋ชฉํ‘œ์ง€ํ‘œ์ธ ์ „ํ™˜์œจ์˜ ์ฐจ์ด๋ฅผ ๊ตฌํ•˜๊ณ  ๊ฒฐ๊ณผ๊ฐ€ ํ†ต๊ณ„์ ์œผ๋กœ ์œ ์˜๋ฏธํ•œ์ง€ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•ด ์ƒ˜ํ”Œ์‚ฌ์ด์ฆˆ๋ฅผ ์„ค์ •ํ•˜๊ณ  t-test๋ฅผ ์ง„ํ–‰ํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.