Đăng nhập

Bài 34 – Project thực chiến: Phân tích & Vẽ biểu đồ Doanh thu

Giờ là lúc để tổng hợp mọi kỹ năng từ đầu phần 3 tới giờ: từ requests, pandas, json, excel, đến matplotlib. Chúng ta sẽ dùng Python để phân tích và vẽ biểu đồ dữ liệu doanh thu như một chuyên viên dữ liệu thực thụ.

Khi bạn làm ra insight thay vì chỉ nhìn con số

Một file Excel có thể chứa:

  • 500 dòng dữ liệu bán hàng
  • 12 tháng doanh thu
  • Tên hàng trăm sản phẩm

Nhưng giám đốc cần gì?

Họ cần: xu hướng – sản phẩm nào đang hot – tháng nào lỗ lời – insight nhanh gọn dễ hiểu.

Và bạn – người biết lập trình với Python – sẽ cung cấp những điều đó chỉ với vài dòng code.


Mục tiêu project

  • Đọc dữ liệu từ Excel (.xlsx)
  • Làm sạch và xử lý dữ liệu bằng pandas
  • Phân tích tổng doanh thu, sản phẩm bán chạy
  • Vẽ biểu đồ doanh thu theo tháng
  • Xuất kết quả thành file báo cáo hoặc gửi mail nếu muốn

1. File dữ liệu mẫu (doanhthu.xlsx)

Giả sử bạn có bảng dữ liệu sau:

NgàySản phẩmSố lượngĐơn giáDoanh thu
2025-01-05Áo sơ mi3250000750000
2025-01-07Quần jeans2400000800000

2. Đọc dữ liệu và xử lý

import pandas as pd

df = pd.read_excel("doanhthu.xlsx")
df["Ngày"] = pd.to_datetime(df["Ngày"])
df["Tháng"] = df["Ngày"].dt.to_period("M")

print(df.head())

3. Phân tích tổng quan

tong_doanh_thu = df["Doanh thu"].sum()
san_pham_top = df.groupby("Sản phẩm")["Doanh thu"].sum().sort_values(ascending=False)
doanh_thu_thang = df.groupby("Tháng")["Doanh thu"].sum()

print(f"Tổng doanh thu: {tong_doanh_thu:,.0f} VND")
print("Sản phẩm bán chạy:")
print(san_pham_top.head(5))

4. Vẽ biểu đồ doanh thu theo tháng

import matplotlib.pyplot as plt

doanh_thu_thang.plot(kind="bar", color="skyblue")
plt.title("Doanh thu theo tháng")
plt.xlabel("Tháng")
plt.ylabel("Doanh thu (VND)")
plt.tight_layout()
plt.savefig("bieu_do_doanhthu.png")
plt.show()

5. Ghi báo cáo ra file Excel

with pd.ExcelWriter("baocao_tonghop.xlsx") as writer:
    df.to_excel(writer, sheet_name="Raw data", index=False)
    doanh_thu_thang.to_excel(writer, sheet_name="Doanh thu theo tháng")
    san_pham_top.to_excel(writer, sheet_name="Top sản phẩm")

6. (Tùy chọn) Gửi báo cáo qua email

# Từ bài gửi email trước — bạn có thể đính kèm 'baocao_tonghop.xlsx' + 'bieu_do_doanhthu.png'

7. Mở rộng project nếu muốn nâng cao

  • Tạo giao diện đơn giản với Tkinter để chọn file và bấm nút “Phân tích”
  • Kết nối API Google Sheet thay vì đọc từ Excel
  • Làm dashboard web đơn giản bằng Flask
  • Tự động chạy hàng ngày và gửi mail lúc 8h sáng

✅ Bạn vừa hoàn thành một mini system phân tích dữ liệu!

  • Từ file gốc → thành biểu đồ, báo cáo Excel → có thể tự động gửi mail
  • Đây chính là công việc của data analyst thực thụ
  • Và bạn hoàn toàn có thể nâng cấp nó lên dashboard, phần mềm hoặc API

🎉 Chúc mừng bạn đã hoàn thành toàn bộ Phần 3 – Ứng dụng & Nâng cao!


📌 Bài 35 (cuối): Hướng đi tiếp theo – Bạn đã đủ kỹ năng để…

Thảo 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 *

Đăng ký nhận tin mới

Nhận bài học, tài nguyên và cơ hội việc làm qua email hàng tuần.

Chúng tôi cam kết không spam. Bạn có thể hủy bất cứ lúc nào.