TÓM TẮT

Mở Đầu: Waterfall Chart Là Gì và Khi Nào Nên Sử Dụng?

Biểu đồ waterfall (còn gọi là biểu đồ thác nước) là một công cụ trực quan mạnh mẽ giúp người dùng hiển thị cách các thành phần riêng lẻ cộng lại tạo nên tổng thể, đồng thời minh họa quá trình tăng giảm của một giá trị qua các giai đoạn. Điểm đặc biệt của waterfall chart là khả năng tách rời các yếu tố dương và âm, cho phép người xem nhanh chóng nhận diện nguyên nhân gây ra biến động.

Ứng dụng thực tế

  • Phân tích tài chính: So sánh lợi nhuận ròng với các yếu tố tăng/giảm như doanh thu, chi phí, thuế, khấu hao.
  • Quản lý dự án: Theo dõi chi phí thực tế so với ngân sách, xác định các khoản chi vượt mức.
  • Kinh doanh: Đánh giá nguồn lợi nhuận từ các dòng sản phẩm, khu vực địa lý, hoặc kênh bán hàng.
  • Báo cáo KPI: Trình bày sự thay đổi trong các chỉ số quan trọng qua thời gian.

Vì tính linh hoạt và khả năng truyền tải thông tin nhanh gọn, waterfall chart đang ngày càng phổ biến trong các phần mềm phân tích dữ liệu như Microsoft Excel, Google Sheets, Power BI, Tableau, và các công cụ lập trình như Python (matplotlib, seaborn, plotly) và R (ggplot2).

1. Nguyên Tắc Cơ Bản Khi Vẽ Waterfall Chart

1.1. Các Thành Phần Cơ Bản

Thành phần Mô tả
Cột bắt đầu (Start/Opening) Giá trị ban đầu (thường là 0 hoặc một con số cụ thể)
Cột tăng (Increase) Các yếu tố làm tăng giá trị tổng (đánh dấu màu xanh hoặc xanh lá)
Cột giảm (Decrease) Các yếu tố làm giảm giá trị tổng (đánh dấu màu đỏ hoặc cam)
Cột tổng (Total/Closing) Giá trị cuối cùng sau khi cộng/trừ tất cả các yếu tố

1.2. Cách Tính Toán Cột

  • Cột tăng: Giá trị hiện tại = Giá trị trước đó + Giá trị tăng.
  • Cột giảm: Giá trị hiện tại = Giá trị trước đó – Giá trị giảm.
  • Cột tổng: Đặt tại cuối chuỗi, giá trị bằng tổng cộng của mọi cột tăng và giảm cộng với giá trị bắt đầu.

1.3. Định Dạng Màu Sắc

  • Màu xanh (hoặc xanh lá): Thể hiện giá trị dương.
  • Màu đỏ (hoặc cam): Thể hiện giá trị âm.
  • Màu xám/đen: Thường dùng cho cột bắt đầu và cột tổng để nhấn mạnh.

1.4. Kết Nối Các Cột

Cách Vẽ Biểu Đồ Waterfall
Cách Vẽ Biểu Đồ Waterfall

Trong waterfall chart, các cột thường được nối bằng một “bridge” (cầu nối) để làm nổi bật mối quan hệ liên tiếp. Nhiều công cụ tự động tạo cầu nối, nhưng khi tự code, bạn cần tính toán vị trí Y‑axis cho mỗi cột sao cho chúng không chồng lên nhau.

2. Chuẩn Bị Dữ Liệu: Bước Đầu Tiên Để Vẽ Waterfall Chart

2.1. Cấu Trúc Dữ Liệu Thông Thường

Stage Value
Opening Balance 100,000
Sales Revenue +150,000
Cost of Goods Sold -80,000
Operating Expenses -30,000
Taxes -20,000
Closing Balance 120,000
  • Stage: mô tả các bước hoặc yếu tố.
  • Value: số tiền (có thể âm hoặc dương). Đối với “Opening Balance” và “Closing Balance”, thường để giá trị thực tế hoặc để 0 và tính sau.

2.2. Xử Lý Dữ Liệu Trong Excel

  1. Nhập dữ liệu vào một bảng tính.
  2. Thêm cột “Cumulative” để tính giá trị tích lũy:
  3. Đối với ô C2 (cumulative của hàng 2): =B2 (giá trị mở đầu).
  4. Đối với ô C3: =C2 + B3.
  5. Kéo công thức xuống hết danh sách.
  6. Thêm cột “Start” để xác định vị trí bắt đầu của mỗi cột (đối với cột tăng/giảm):
  7. Đối với ô D2 (start của hàng 2): =0.
  8. Đối với ô D3: =C2.
  9. Kéo công thức xuống.
  10. Xác định cột “End” (có thể không cần nếu dùng “Cumulative”).

2.3. Chuẩn Bị Dữ Liệu Trong Python (pandas)

import pandas as pd data = { 'Stage': 'Opening Balance', 'Sales Revenue', 'Cost of Goods Sold', 'Operating Expenses', 'Taxes', 'Closing Balance', 'Value': 100000, 150000, -80000, -30000, -20000, 0 # Closing sẽ tính lại
}
df = pd.DataFrame(data) # Tính cumulative
df'Cumulative' = df'Value'.cumsum() # Đặt giá trị Closing Balance = cumulative cuối cùng
df.locdf'Stage'=='Closing Balance', 'Value' = df'Cumulative'.iloc-2
df'Cumulative' = df'Value'.cumsum()
df'Start' = df'Cumulative'.shift(fill_value=0) - df'Value'
df.head()

Kết quả sẽ cho bạn các cột Start, Cumulative để dùng trong plot.

3. Vẽ Waterfall Chart Trong Microsoft Excel

Excel là công cụ phổ biến nhất để tạo waterfall chart, đặc biệt từ phiên bản 2026 trở lên đã tích hợp sẵn loại biểu đồ này.

3.1. Bước 1: Chuẩn Bị Dữ Liệu

Cách Vẽ Biểu Đồ Waterfall
Cách Vẽ Biểu Đồ Waterfall
Stage Value
Opening Balance 100000
Sales Revenue 150000
Cost of Goods Sold -80000
Operating Expenses -30000
Taxes -20000
Closing Balance 120000

Lưu ý: Giá trị “Closing Balance” có thể để 0 khi nhập, Excel sẽ tự tính dựa trên tổng.

3.2. Bước 2: Chọn Dữ Liệu và Chèn Biểu Đồ

  1. Chọn toàn bộ bảng (cả tiêu đề và dữ liệu).
  2. Vào Insert → Waterfall Chart → Waterfall.
  3. Excel sẽ tạo một biểu đồ mặc định.

3.3. Bước 3: Định Dạng Các Thanh

  • Thiết lập “Set as Total” cho các thanh “Opening Balance” và “Closing Balance”:
  • Click vào thanh cần chỉnh → chuột phải → “Set as Total”.
  • Thiết lập “Set as Subtotal” nếu có các nhóm con (ví dụ: “Operating Expenses” tổng hợp nhiều chi phí).

3.4. Bước 4: Tùy Chỉnh Giao Diện

  • Màu sắc: Click vào một thanh → Format Data Series → Fill → chọn màu.
  • Hiện giá trị: Tick “Data Labels” để hiển thị số trên thanh.
  • Trục Y: Định dạng số (đơn vị nghìn, triệu) để biểu đồ sạch sẽ.
  • Tiêu đề và chú thích: Thêm tiêu đề, chú thích để người xem hiểu các thành phần.

3.5. Lưu và Chia Sẻ

  • Copy biểu đồ vào PowerPoint, Word hoặc email.
  • Export dưới dạng hình PNG hoặc PDF nếu cần đưa vào báo cáo.

4. Vẽ Waterfall Chart Bằng Google Sheets

Google Sheets không có loại biểu đồ waterfall mặc định, nhưng bạn có thể tạo bằng cách sử dụng “Stacked Column Chart” và một vài công thức.

4.1. Chuẩn Bị Dữ Liệu

Stage Value Start End
Opening Balance 100000 0 100000
Sales Revenue 150000 100000 250000
Cost of Goods Sold -80000 250000 170000
Operating Expenses -30000 170000 140000
Taxes -20000 140000 120000
Closing Balance 120000 0 120000
  • Start: giá trị tích lũy trước khi cộng/ trừ.
  • End: giá trị tích lũy sau khi cộng/ trừ.

4.2. Công Thức Tính

  • Start (cột 3): =IF(B2>0, CUMULATIVE_PREV, 0)
  • End (cột 4): =Start + Value

Trong Sheets, bạn có thể dùng hàm ARRAYFORMULA để tự động tính.

4.3. Tạo Biểu Đồ

Cách Vẽ Biểu Đồ Waterfall
Cách Vẽ Biểu Đồ Waterfall
  1. Chọn cột Stage, Start, Value.
  2. Vào Insert → Chart.
  3. Chọn Chart type → Stacked Column Chart.
  4. Trong Chart editor → Setup, đặt Series:
  5. Start → “Series” (đánh dấu “Stacked”).
  6. Value → “Series” (đánh dấu “Stacked”).
  7. Vào Customize → Series:
  8. Start: set Fill opacity = 0% (để làm “invisible”).
  9. Value: chọn màu xanh cho dương, đỏ cho âm (bạn có thể tạo điều kiện màu bằng “Conditional formatting” cho dữ liệu rồi sao chép màu).

4.4. Hoàn Thiện

  • Thêm Data labels để hiển thị giá trị.
  • Đặt Axis titles và Chart title.
  • Kiểm tra lại các thanh “Total” (Opening & Closing) có màu khác để dễ phân biệt.

5. Waterfall Chart Với Power BI

Power BI hỗ trợ trực quan kiểu waterfall natively, rất thích hợp cho báo cáo tương tác.

5.1. Chuẩn Bị Dữ Liệu

Trong Power Query hoặc dữ liệu nguồn, bạn cần ít nhất hai trường:

  • Category (tên giai đoạn)
  • Amount (giá trị, có thể dương/âm)

5.2. Thêm Visual Waterfall

  1. Trong Report view, kéo visual Waterfall chart từ Visualizations pane.
  2. Kéo Category vào Category field.
  3. Kéo Amount vào Y axis.
  4. Power BI sẽ tự động nhận diện “Total” (giá trị cuối cùng) và “Breakdown”.

5.3. Tùy Chỉnh

  • Data colors: Đặt màu cho dương/âm.
  • Data labels: Bật để hiển thị số.
  • Tooltip: Thêm các trường như % đóng góp để người dùng có thể hover và xem chi tiết.
  • Filters: Cho phép người dùng lọc theo thời gian, khu vực, sản phẩm.

5.4. Xuất Báo Cáo

  • Publish lên Power BI Service.
  • Share với đồng nghiệp hoặc embed vào website.

6. Tạo Waterfall Chart Bằng Python (Plotly)

Plotly cung cấp cách vẽ waterfall chart tương tác, phù hợp cho dashboard web.

6.1. Cài Đặt Thư Viện

Cách Vẽ Biểu Đồ Waterfall
Cách Vẽ Biểu Đồ Waterfall
pip install plotly pandas

6.2. Mã Nguồn Mẫu

import plotly.graph_objects as go
import pandas as pd # Dữ liệu mẫu
df = pd.DataFrame({ "Stage": "Opening Balance", "Sales Revenue", "Cost of Goods Sold", "Operating Expenses", "Taxes", "Closing Balance", "Value": 100000, 150000, -80000, -30000, -20000, 0 # Closing sẽ tính sau
}) # Tính cumulative
df"Cumulative" = df"Value".cumsum()
df.locdf"Stage"=="Closing Balance", "Value" = df"Cumulative".iloc-2
df"Cumulative" = df"Value".cumsum() # Xác định màu
colors = for v in df"Value": if v >= 0: colors.append("green") else: colors.append("red")
# Đánh dấu total
colors0 = "gray"
colors-1 = "gray" fig = go.Figure(go.Waterfall( name = "2026 Financial Summary", orientation = "v", measure = "relative"len(df), x = df"Stage", textposition = "outside", y = df"Value", decreasing = {"marker":{"color":"red"}}, increasing = {"marker":{"color":"green"}}, totals = {"marker":{"color":"gray"}}
)) fig.update_layout( title = "Waterfall Chart - Financial Performance 2026", showlegend = False
) fig.show()
  • measure = "relative": cho biết các giá trị là tăng/giảm so với trước.
  • totals sẽ tự động áp dụng cho thanh đầu và cuối nếu measure là "total"; trong ví dụ trên chúng ta tự tùy chỉnh màu.

6.3. Lưu Thành HTML

fig.write_html("waterfall_chart.html")

Bạn có thể mở file này trong trình duyệt hoặc nhúng vào Flask/Django.

7. Waterfall Chart Bằng R (ggplot2)

R cũng có cách vẽ waterfall thông qua gói ggplot2 và ggwaterfall.

7.1. Cài Đặt Gói

install.packages("ggplot2")
install.packages("ggwaterfall")

7.2. Mã Ví Dụ

library(ggplot2)
library(ggwaterfall) df <- data.frame( Stage = c("Opening", "Sales", "COGS", "Ops", "Tax", "Closing"), Value = c(100000, 150000, -80000, -30000, -20000, 0)
) # Tính cumulative và chuẩn bị cho ggwaterfall
df$Cumulative <- cumsum(df$Value)
df$Cumulativenrow(df) <- df$Cumulativenrow(df)-1 + df$Valuenrow(df)-1 ggplot(df, aes(x = Stage, y = Value, fill = Value > 0)) + geom_waterfall() + scale_fill_manual(values = c("TRUE" = "green", "FALSE" = "red")) + labs(title = "Waterfall Chart - Financial Summary", y = "Amount (USD)", x = "Stage") + theme_minimal()

geom_waterfall() sẽ tự động tính vị trí start/end cho mỗi cột.

8. Các Lưu Ý Khi Thiết Kế Waterfall Chart

  1. Không quá nhiều thanh: Nếu có hơn 15‑20 thanh, biểu đồ sẽ rối mắt. Hãy nhóm các yếu tố phụ vào “Subtotal” hoặc tách ra thành nhiều biểu đồ.
  2. Đảm bảo tổng cuối khớp: Tổng cuối cùng (Closing Balance) phải bằng giá trị tích lũy thực tế; nếu không, người xem sẽ nghi ngờ tính chính xác.
  3. Màu sắc nhất quán: Dùng màu xanh cho tăng, đỏ cho giảm, màu trung tính cho tổng. Tránh sử dụng quá nhiều màu.
  4. Hiển thị giá trị tuyệt đối: Đối với các thanh âm, hiển thị giá trị tuyệt đối để tránh nhầm lẫn (ví dụ: -20,000 hiển thị “20,000”).
  5. Thêm chú giải (annotation): Nếu có yếu tố đặc biệt (ví dụ: “One‑time expense”), dùng annotation để giải thích.
  6. Kiểm tra độ chính xác: Khi dữ liệu được cập nhật thường xuyên, tự động tính cumulative (Excel formulas, Power BI measures) giúp giảm lỗi nhập tay.

9. Thực Hành: Tạo Waterfall Chart Cho Doanh Thu Năm 2026

Bước 1: Thu Thập Dữ Liệu

Cách Vẽ Biểu Đồ Waterfall
Cách Vẽ Biểu Đồ Waterfall
Category Amount (USD)
Opening Balance 500,000
Product A Sales 300,000
Product B Sales 200,000
Discount & Returns -50,000
Marketing Expenses -80,000
Operational Costs -120,000
Taxes -70,000
Closing Balance ?

Bước 2: Tính Toán

  • Cumulative sau mỗi hàng:
  • Opening: 500,000
    • Product A: 800,000
    • Product B: 1,000,000
    • Discount: 950,000
    • Marketing: 870,000
    • Ops: 750,000
    • Taxes: 680,000
  • Closing Balance = 680,000

Bước 3: Vẽ trong Excel

  • Nhập bảng trên.
  • Thêm cột “Cumulative” và “Start” như hướng dẫn ở mục 2.2.
  • Chèn Waterfall Chart → Đánh dấu “Opening Balance” và “Closing Balance” là Total.
  • Định dạng màu: xanh cho các sales, đỏ cho chi phí, xám cho tổng.

Bước 4: Kiểm Tra

  • Đảm bảo các thanh “Total” có độ cao bằng 500,000 và 680,000.
  • Kiểm tra label: các thanh giảm hiển thị giá trị âm (hoặc tuyệt đối).

Kết quả sẽ là một biểu đồ trực quan cho thấy đóng góp của từng sản phẩm và chi phí tới lợi nhuận cuối năm.

10. Khi Nào Nên Tránh Dùng Waterwater Chart?

  • Dữ liệu không có tính chất tăng/giảm liên tiếp (ví dụ: phân bố tần suất, hồi quy).
  • Số lượng hạng mục quá lớn: Khi có hàng trăm yếu tố, biểu đồ sẽ mất tính trực quan.
  • Cần so sánh nhiều chuỗi thời gian: Waterfall thường dành cho một chuỗi; nếu muốn so sánh nhiều năm, hãy dùng clustered column hoặc stacked bar.

11. Tổng Kết

Waterfall chart là một công cụ mạnh mẽ giúp biến các con số phức tạp thành hình ảnh dễ hiểu, cho phép người dùng nhanh chóng nắm bắt nguồn gốc của sự thay đổi giá trị. Từ Excel, Google Sheets, Power BI, Tableau cho đến lập trình Python và R, mọi người đều có thể tạo ra những biểu đồ chất lượng cao chỉ với vài bước chuẩn bị dữ liệu và một chút tinh chỉnh.

Những điểm quan trọng cần nhớ:

  1. Xác định rõ Opening và Closing Balance – chúng là trụ cột của toàn bộ biểu đồ.
  2. Tính cumulative chính xác – mọi cột tăng/giảm dựa trên giá trị trước đó.
  3. Đánh dấu đúng Total/Subtotal trong các công cụ hỗ trợ.
  4. Sử dụng màu sắc thống nhất để phân biệt dương, âm và tổng.
  5. Giữ biểu đồ gọn gàng – nếu quá nhiều hạng mục, hãy nhóm lại hoặc tạo nhiều biểu đồ.

Với hướng dẫn chi tiết trên, bạn đã có đủ kiến thức để tự tin tạo và tùy chỉnh waterfall chart cho bất kỳ mục đích nào: báo cáo tài chính, phân tích dự án, hay trình bày KPI. Hãy áp dụng ngay vào công việc và cảm nhận sức mạnh của việc truyền tải dữ liệu một cách trực quan, sinh động!

Rate this post
Mục nhập này đã được đăng trong Blog. Đánh dấu trang permalink.

Để lại một bình luận

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *