백분위수

Percentile

지표

값을 크기순으로 늘어놓았을 때 어떤 값이 전체에서 몇 퍼센트 지점에 있는지 나타내는 값입니다.

등장 배경

숫자 묶음을 한 값으로 줄일 때 가장 먼저 쓰는 것이 평균입니다. 그런데 평균은 빠른 값이 느린 값을 가립니다. 화면 응답 시간 열 건이 0.2초 아홉 건과 3초 한 건이면 평균은 0.48초입니다. 아무도 겪지 않은 시간이고, 3초를 기다린 사람의 경험은 이 숫자에 나타나지 않습니다.

그래서 회의에서 두 사람이 서로 다른 것을 보고 있게 됩니다. 고객 문의에는 느리다는 말이 계속 들어오는데 대시보드의 평균은 정상 범위입니다. 문의를 받는 쪽은 실제로 느린 경험을 겪은 사람의 말을 듣고 있고, 숫자를 보는 쪽은 그 경험이 지워진 값을 보고 있습니다. 양쪽 다 거짓말을 하지 않는데 대화가 진행되지 않습니다.

백분위수는 값을 줄 세워 특정 위치를 짚는 방법입니다. 평균처럼 한 값으로 뭉개지 않고 아래에서 95퍼센트 지점의 값이 얼마인지 그대로 말하기 때문에, 느린 쪽 경험이 숫자에 남습니다.

계산 방법

값을 작은 것부터 크게 늘어놓고 원하는 위치의 값을 읽습니다. 세 단계입니다.

  1. 모든 값을 크기순으로 늘어놓습니다. 평균과 달리 더하는 계산이 없고 정렬이 필요합니다.
  2. 볼 위치를 정합니다. 95백분위는 아래에서 95퍼센트 지점입니다. 이 값보다 작은 관측이 전체의 95퍼센트라는 뜻입니다.
  3. 그 자리의 값을 읽습니다. 관측이 100건이면 95번째 값입니다.

응답 시간 열 건이 0.1, 0.1, 0.2, 0.2, 0.2, 0.3, 0.3, 0.4, 0.9, 3.0초라면 50백분위는 0.25초이고 90백분위는 0.9초입니다. 실무에서는 p50, p95, p99처럼 줄여 적습니다.

주의할 것은 관측 수입니다. 100건이 안 되는 자료에서 99백분위를 말하면 사실상 가장 큰 값 하나를 가리키게 됩니다. 그 한 건이 우연히 느렸을 뿐이면 다음 날 숫자가 통째로 달라집니다. 그래서 p99까지 볼지 p95에서 멈출지는 하루에 몇 건이 쌓이는지로 정합니다.

옆의 대푯값들과 함께 놓으면 성질이 드러납니다. 값을 모두 더해 개수로 나눈 평균은 아주 큰 값 하나에 끌려갑니다. 위의 열 건에서 3.0초 하나를 10초로 바꾸면 평균은 0.48에서 1.18초로 뛰지만 90백분위는 그대로 0.9초입니다. 다른 값들과 동떨어진 이상치가 섞여 있을 때 백분위수가 흔들리지 않는 이유입니다. 반대로 상위 백분위 자체는 그 이상치를 들여다보는 창이 됩니다.

퍼짐을 재는 값과도 역할이 다릅니다. 분산을 원래 단위로 되돌린 표준편차는 흩어진 정도를 한 숫자로 요약하고, 백분위수는 특정 위치의 값을 그대로 짚습니다.

좋은 수준의 기준

먼저 정할 것은 좋은 값이 아니라 어느 위치를 볼지입니다. 응답 속도는 95나 99를 보고, 사용량 분포는 50과 90을 함께 봅니다. 위치를 정하지 않은 목표는 판정할 수 없습니다.

상위 1퍼센트까지 보는 이유는 사용자 수 때문입니다. 하루 20만 요청이 들어오는 제품에서 1퍼센트는 2천 건이고, 그중 상당수가 같은 사람에게 몰립니다. 한 화면이 여러 요청으로 이뤄진다는 점도 함께 봅니다. 화면 하나가 요청 열 개로 그려지면 각 요청의 상위 1퍼센트가 그 화면에서는 열 배 자주 나타납니다.

목표를 적는 방식은 위치와 값을 붙이는 것입니다. p95 1.5초 이하처럼 적어야 그날 판정이 됩니다. 평균 1.5초라는 목표는 3초를 겪는 사람이 늘어나도 통과할 수 있습니다.

집단을 섞지 않는 것도 기준의 일부입니다. 지역과 기기와 요금제를 합친 p95는 어느 집단도 가리키지 않습니다. 휴대폰과 데스크톱을 갈라 보면 한쪽이 1.1초, 다른 쪽이 4.2초로 나오는 일이 흔합니다. 합친 값이 2.1초로 목표를 통과했는데 휴대폰 사용자의 절반이 4초를 겪고 있는 상태가 그렇게 만들어집니다.

마지막으로 시간 창을 함께 적습니다. 5분 단위로 계산한 p99와 하루 전체로 계산한 p99는 다른 값이고, 짧은 창이 사고를 더 빨리 잡습니다.

실무 용례

"평균은 0.4초인데 p95가 3.1초입니다."

대다수는 빠르고 일부가 크게 느린 상태라는 보고입니다.

"이 목표는 위치가 없어요. p95인지 p99인지 적어 주세요."

판정할 수 있는 형태로 목표를 다시 쓰자는 요청입니다.

"요청이 80건뿐이라 p99는 의미가 없습니다."

관측 수가 적어 그 위치가 값 하나에 좌우된다는 지적입니다.

페이지덱에서 문서가 늦게 열린다는 문의가 이어졌을 때 태오가 본 것은 평균이 아니라 p95였습니다. 평균은 0.4초였고 p95는 3.1초였습니다. 문의를 보낸 사람들은 전부 그 3초 구간에 있었습니다.

갈라 보니 문서 안에 표가 많은 계정에서만 느렸습니다. 지현은 그 뒤로 대시보드에 평균을 지우고 p50과 p95를 나란히 두게 했습니다. 두 값의 간격이 벌어지는 것 자체가 신호이기 때문입니다.

흔한 오해

백분위수를 평균 낼 수 있다고 보는 경우가 가장 많습니다. 서버가 넷이고 각 서버의 p99가 나와 있으면 넷을 평균해 전체 p99라고 적고 싶어집니다. 그러나 이 값은 줄 세운 위치에서 읽은 것이라 더하거나 나눌 수 없습니다. 서버별 p99가 각각 2초인데 전체 p99는 3초일 수 있습니다. 전체 값을 알려면 원자료를 한 줄로 합쳐 다시 정렬해야 합니다. 이 구별을 놓치면 실제보다 낙관적인 숫자를 보고하게 되고, 문의는 그 숫자와 무관하게 계속 들어옵니다.

p99를 낮추면 전체가 빨라진다고 보는 오해도 흔합니다. 가장 느린 쪽을 고치면 나머지도 함께 나아질 것 같기 때문입니다. 그런데 상위 1퍼센트가 느린 원인은 평균을 만드는 원인과 대개 다릅니다. 처음 요청이라 준비 과정을 거치는 경우, 자료가 유독 많은 계정, 잠깐 몰린 순간처럼 별도의 이유에서 나옵니다. 첫 요청 준비 과정 하나를 고쳐 p99가 3.1초에서 1.8초로 내려가도 p50은 0.2초에서 움직이지 않습니다. 두 작업이 서로 다른 일이라는 것을 모르면, 한쪽을 고치고 다른 쪽이 그대로인 결과를 보고 원인을 다시 찾게 됩니다.

자주 헷갈리는 용어

용어어느 위치인가백분위수와의 차이
중앙값가운데 한 지점50백분위와 같은 값입니다. 백분위수는 위치를 골라 읽는 방법이고 중앙값은 그중 한 위치에 붙은 이름입니다

같이 보면 좋은 페이지

  • 통계 기초

    대푯값과 퍼짐을 재는 값들이 어떻게 나뉘는지 봅니다

  • 평균

    같은 자료를 한 값으로 뭉개는 쪽을 나란히 봅니다

마지막 업데이트 2026-09-26