HAHS.
Back to Catalog

Waterfall Chart

chart

Also known as: bridge chart, cascade chart, flying bricks chart, Mario chart

Show compositionShow change over timeCompare CategoricalNumerical Bar/Column

설명 / Description

폭포 차트는 초기 값이 일련의 양수 또는 음수 변화에 의해 점진적으로 수정되어 최종 값에 도달하는 과정을 보여줍니다. 각 막대는 "떠 있는" 형태입니다 -- 막대의 아래쪽 끝이 이전 막대의 위쪽 끝에서 시작되어 계단식 또는 폭포식 효과를 만듭니다. 양의 기여는 보통 초록색(또는 따뜻한 색조)으로, 음의 기여는 빨간색(또는 차가운 색조)으로 표시되며, 합계 막대(시작과 끝)는 중립적인 색조로 표시됩니다.

A waterfall chart shows how an initial value is incrementally modified by a series of positive or negative changes to arrive at a final value. Each bar "floats" -- its bottom edge starts where the previous bar's top edge ended -- creating a staircase or cascade effect. Positive contributions are typically colored green (or a warm hue), negative contributions red (or a cool hue), and total bars (start and end) are colored in a neutral tone.

폭포 차트는 재무 보고의 단골 도구로, 매출이 일련의 추가(기타 수익, 이익)와 차감(비용, 세금, 상각)을 거쳐 어떻게 순이익이 되는지 설명합니다. 시작 수량이 일련의 조정을 거치는 모든 영역에서도 똑같이 유용합니다: 인구 변화(출생에서 사망을 빼고 이주를 더함), 재고 조정, 또는 프로젝트 예산 추적.

Waterfall charts are a staple of financial reporting, where they explain how revenue becomes net income through a sequence of additions (other income, gains) and subtractions (expenses, taxes, write-offs). They are equally useful for any domain where a starting quantity undergoes a series of adjustments: population change (births minus deaths plus migration), inventory reconciliation, or project budget tracking.

"쌓고 허무는" 시각적 은유는 이 형식에 익숙하지 않은 독자에게도 차트를 직관적으로 만들어줍니다. 떠 있는 막대는 각 단계가 더하는 것인지 빼는 것인지 즉시 보여주며, 누적 합계는 각 막대의 위쪽 끝에서 읽을 수 있습니다. 막대 사이의 연결선은 폭포 관계를 강화하고 눈이 누적 합계를 따라가도록 돕습니다.

The visual metaphor of "building up and tearing down" makes the chart intuitive even for audiences unfamiliar with the format. The floating bars immediately show whether each step is additive or subtractive, and the cumulative running total is readable from the top edge of each bar. Connector lines between bars reinforce the cascade relationship and help the eye track the running total.

Waterfall Chart — interactive example

언제 사용하나 / When to Use

  • 초기 합계가 일련의 양수·음수 조정을 거쳐 최종 합계에 도달하는 과정을 설명할 때
  • Explaining how an initial total changes through a series of positive and negative adjustments to reach a final total
  • 재무 보고: 매출에서 순이익까지, 기초 잔액에서 기말 잔액까지, 예산 차이 분석
  • Financial reporting: revenue to net income, opening to closing balance, budget variance analysis
  • 합계를 기여 요인으로 분해할 때(예: 무엇이 시장 점유율 변화를 이끌었는지)
  • Decomposing a total into contributing factors (e.g., what drove the change in market share)
  • 순차적 사건들의 누적 영향을 보여줄 때
  • Showing cumulative impact of sequential events

이럴 땐 피하세요 / When NOT to Use

  • 값들 사이에 의미 있는 순차적 또는 누적적 관계가 없을 때 -- 막대 차트를 사용하세요
  • When there is no meaningful sequential or cumulative relationship between the values -- use a bar chart
  • 누적 합계 없이 독립적인 범주를 비교하고 싶을 때 -- 막대 차트점 도표를 사용하세요
  • When you want to compare independent categories without a running total -- use a bar chart or dot plot
  • 단계 수가 매우 많을 때(15개 초과) -- 차트가 읽기 어려워지므로 범주를 그룹화하는 것을 고려하세요
  • When the number of steps is very large (>15) -- the chart becomes hard to read; consider grouping categories
  • 독자가 비율을 봐야 할 때 -- 누적 막대 차트파이 차트를 사용하세요
  • When the audience needs to see proportions -- use a stacked bar chart or pie chart

구조 / Anatomy

  • 떠 있는 막대: 0이 아니라 누적 합계에서 시작하는 직사각형 막대. 높이는 각 변화의 크기를 인코딩합니다.
  • Floating bars: Rectangular bars that start at the running total, not at zero. Height encodes the magnitude of each change.
  • 합계 막대: 시작과 끝 합계를 위해 0에 고정된 막대로, 기준점을 제공합니다
  • Total bars: Bars anchored at zero for the starting and ending totals, providing reference points
  • 색상 코딩: 양의 변화, 음의 변화, 합계 각각에 뚜렷한 색상이 부여됩니다
  • Color coding: Positive changes, negative changes, and totals each receive a distinct color
  • 연결선: 한 막대의 위쪽에서 다음 막대의 아래쪽까지 이어지는 얇은 선으로, 폭포 흐름을 보여줍니다
  • Connector lines: Thin lines from the top of one bar to the bottom of the next, showing the cascade
  • 범주 축: 순서상 각 단계에 대한 레이블
  • Category axis: Labels for each step in the sequence
  • 값 축: 수량 척도; 막대 끝점에서 누적 합계를 읽을 수 있습니다
  • Value axis: The quantitative scale; the running total can be read from bar endpoints

변형 / Variations

  • 수평 폭포 차트: 막대가 아래에서 위가 아니라 왼쪽에서 오른쪽으로 흐르며, 긴 레이블에 유용합니다
  • Horizontal waterfall: Bars flow left-to-right instead of bottom-to-top, useful for long labels
  • 누적 폭포 차트: 각 단계가 하위 구성 요소로 더 세분화됩니다
  • Stacked waterfall: Each step is further decomposed into sub-components
  • 분산 폭포 차트: 두 시나리오 사이의 차이를 보여줍니다(예: 예산 대 실제)
  • Variance waterfall: Shows the difference between two scenarios (e.g., budget vs. actual)
  • 소계가 있는 폭포 차트: 논리적 분기점(예: 매출총이익, 영업이익)에 삽입된 중간 합계 막대
  • Waterfall with subtotals: Intermediate total bars inserted at logical breakpoints (e.g., gross profit, operating income)
  • 정렬된 폭포 차트: 자연스러운 순서 대신 크기순으로 단계를 재배열하여 가장 큰 요인을 강조합니다
  • Sorted waterfall: Steps reordered by magnitude rather than natural sequence, highlighting the biggest drivers

코드 레퍼런스 / Code Reference

// Observable Plot - waterfall via computed y1/y2
const steps = data.reduce((acc, d) => {
  const prev = acc.length ? acc[acc.length - 1].y2 : 0;
  acc.push({...d, y1: prev, y2: prev + d.value});
  return acc;
}, []);

Plot.plot({
  marks: [
    Plot.barY(steps, {
      x: "label", y1: "y1", y2: "y2",
      fill: d => d.value >= 0 ? "#22c55e" : "#ef4444",
      tip: true
    }),
    Plot.ruleY([0])
  ]
})