힉의 법칙

Hick's Law

선택지가 많아질수록 의사결정 시간이 늘어난다는 법칙. 메뉴가 길면 고르는 데 오래 걸립니다.

다른 이름: Hick-Hyman Law
···
html
<div class="stage">
  <div class="pane"><div class="tag">A · 2</div>
    <div class="grid g2"><button></button><button class="pick" id="p1"></button></div>
    <div class="cur" id="c1">➤</div>
    <div class="bar"><div class="fill fa"></div></div>
  </div>
  <div class="pane"><div class="tag">B · 12</div>
    <div class="grid g12" id="grid12"></div>
    <div class="cur" id="c2">➤</div>
    <div class="bar"><div class="fill fb"></div></div>
  </div>
</div>
css
.stage{width:94%;height:88%;display:flex;gap:4%}
.pane{position:relative;flex:1;border-radius:14px;border:1px solid var(--line);background:var(--surface);overflow:hidden;padding:26px 10px 22px}
.tag{position:absolute;top:8px;left:10px;font:700 11px/1 monospace;color:var(--muted)}
.grid{display:grid;gap:6px;height:100%}
.g2{grid-template-columns:1fr 1fr}
.g12{grid-template-columns:repeat(4,1fr);grid-template-rows:repeat(3,1fr)}
.grid button{border:1px solid var(--line);border-radius:8px;background:var(--bg)}
.pick,#grid12 button:nth-child(9){background:var(--accent-3);border-color:var(--accent-3)}
.cur{position:absolute;font-size:14px;color:var(--fg);transform:rotate(-45deg)}
.bar{position:absolute;left:10px;right:10px;bottom:6px;height:6px;border-radius:3px;background:var(--line);overflow:hidden}
.fill{height:100%;background:var(--accent);width:0}
.fa{animation:grow 1s cubic-bezier(.3,0,.6,1) infinite}
.fb{animation:grow 2.8s cubic-bezier(.3,0,.6,1) infinite}
@keyframes grow{0%{width:0}75%{width:100%}100%{width:100%}}
#c1{animation:c1 1s ease-in-out infinite}
#c2{animation:c2 2.8s steps(7) infinite}
@keyframes c1{0%{left:14%;top:80%}70%{left:72%;top:40%}100%{left:72%;top:40%}}
@keyframes c2{0%{left:10%;top:85%}14%{left:20%;top:20%}28%{left:45%;top:55%}42%{left:70%;top:25%}56%{left:30%;top:70%}70%{left:60%;top:50%}85%{left:58%;top:52%}100%{left:58%;top:52%}}
js
const g = document.getElementById('grid12');
for (let i = 0; i < 12; i++) g.appendChild(document.createElement('button'));

윌리엄 힉(William Hick)과 레이 하이먼(Ray Hyman)이 1952년 실험으로 밝혔습니다. 결정 시간은 선택지 수에 로그로 비례합니다 — 옵션이 2배로 늘어도 시간은 2배가 아니라 조금만 늘어나지만, 그래도 분명히 늘어납니다.

그래서 실무에서는 옵션을 아예 없애기보다 **분류(카테고리)로 묶어 단계를 나누는** 방식을 씁니다. 12개를 한 화면에 늘어놓는 대신 3개 카테고리 × 4개로 나누면 각 단계의 결정은 빨라집니다.

데모의 A는 선택지 2개, B는 12개입니다. 커서가 고르기까지 걸리는 시간(막대)을 비교해 보세요.

언제 쓰나

드롭다운·필터·온보딩 옵션 개수를 정할 때. 옵션을 지우기 어렵다면 카테고리로 접어보세요(→ progressive-disclosure).