Chúng tôi thu thập và xử lý giá vật liệu xây dựng như thế nào

Vật Giá Top công bố giá VLXD cho 34 tỉnh thành Việt Nam. Trang này mô tả đầy đủ quy trình chúng tôi dùng để thu thập số liệu — từ bảng giá công bố của Sở Xây dựng cho tới con số bạn nhìn thấy trên màn hình. Mục đích là để bất kỳ ai cũng có thể kiểm chứng từng số liệu chúng tôi đưa ra.

Tóm tắt một câu

Crawler chạy hàng ngày tải bảng giá PDF/Excel từ cổng thông tin các Sở Xây dựng → bộ phân loại quy ước từng dòng giá vào 15 nhóm vật liệu → quy đổi mọi giá về đơn vị chính tắc theo TCVN → loại bỏ những dòng không thể quy đổi an toàn → công bố kèm kỳ giá gốc để người dùng có thể đối chiếu trực tiếp với nguồn.

1. Nguồn dữ liệu

Toàn bộ giá trên Vật Giá Top được tổng hợp từ bảng giá VLXD công bố chính thức của Sở Xây dựng 34 tỉnh thành. Đây là dữ liệu công khai theo quy định của Bộ Xây dựng (Thông tư 11/2021/TT-BXD và các sửa đổi sau đó), được các Sở công bố theo quý hoặc theo tháng tuỳ địa phương.

Cụ thể, dữ liệu đến từ 3 lớp nguồn:

  • Cổng thông tin Sở Xây dựng: mỗi tỉnh có một trang công bố bảng giá VLXD định kỳ (ví dụ soxaydung.hanoi.gov.vn, sxd.hochiminhcity.gov.vn). Đa số phát hành file PDF hoặc Excel kèm văn bản công bố ký số.
  • Cổng dữ liệu mở: một số tỉnh đã tham gia các sáng kiến dữ liệu mở (Open Government Data) cung cấp file CSV/JSON. Khi có sẵn, chúng tôi ưu tiên nguồn này vì cấu trúc rõ ràng hơn.
  • Văn bản hành chính chính thức: với các công bố giá đột xuất, chúng tôi đối chiếu trực tiếp với văn bản (PDF có chữ ký số) khi cần.

Mỗi trang giá tỉnh trên website đều có liên kết quay về trang công bố gốc của Sở Xây dựng — bạn có thể kiểm tra trực tiếp.

2. Crawler — tải bảng giá tự động

Mỗi tỉnh có một plugin crawler riêng (do đặc thù mỗi Sở công bố theo format khác nhau). Plugin chạy theo cron daily: kiểm tra cổng thông tin, phát hiện file mới, tải về kho lưu trữ nội bộ kèm metadata (URL nguồn, hash file, timestamp tải, kỳ giá ghi trong file).

Khi crawler không thể parse được một dòng (file format mới, cột thay đổi vị trí), chúng tôi ghi nhận lỗi vào crawl log thay vì đoán mò. Lỗi được xử lý thủ công bởi đội ngũ kỹ thuật trước khi giá được công bố lên website.

3. Phân loại — gán mỗi dòng vào nhóm vật liệu

Bảng giá của Sở Xây dựng có hàng trăm dòng SKU với tên gọi đa dạng ("Cát vàng san lấp", "Cát xây tô mịn", "Cát vàng đổ bê tông"…). Bộ phân loại của chúng tôi gán mỗi dòng vào một trong 15 nhóm vật liệu chính bằng quy tắc most-specific-first:

  • Quy tắc nhận dạng hỗn hợp/sản phẩm phụ (chống thấm, keo dán) → bỏ qua.
  • Quy tắc bắt cụm từ cụ thể trước (ví dụ "cát xi măng" → cát, không phải xi măng).
  • Quy tắc tổng quát cuối cùng (ví dụ chỉ thấy "xi măng" trong tên → xi-mang).

Bộ quy tắc được kiểm thử trên ~3.000 mẫu thực tế từ 34 tỉnh; khi gặp tên SKU mới chưa phân loại được, plugin ghi log để chúng tôi bổ sung quy tắc trong đợt cập nhật tiếp theo.

4. Chuẩn hoá đơn vị — đưa mọi giá về một thang đo

Vấn đề khó nhất trong tổng hợp giá VLXD: cùng một loại vật liệu nhưng các tỉnh dùng đơn vị khác nhau (xi măng có nơi báo theo tấn, có nơi theo bao 50 kg; thép có nơi theo cây, có nơi theo kg). Để có thể so sánh giữa các tỉnh, chúng tôi đưa mọi giá về đơn vị chính tắc theo từng nhóm:

Nhóm vật liệuĐơn vị chính tắcQuy tắc quy đổi
Xi măngtấn1 bao 50 kg = 0.05 tấn
Thép xây dựngkgBỏ giá theo "cây" — yêu cầu mật độ riêng từng đường kính
Cát, đá, bê tôngBỏ giá theo "xe" — dung tích thùng xe khác nhau
Gạch xâyviên1.000 viên = 1.000 viên (giá thường công bố theo 1.000)
Tôn, nhôm kính, gạch ốp látKhổ tôn × chiều dài
SơnkgLon, thùng quy đổi về kg theo dung tích danh nghĩa
Dây điện, ống nhựamCuộn quy về mét theo chiều dài cuộn
Gỗm² × dày, hoặc kích thước cây × số lượng

Khi một dòng giá không thể quy đổi an toàn (ví dụ "cây cọc bê tông" → m³ cần khối lượng riêng từng tiết diện), chúng tôi loại bỏ dòng đó với cảnh báo thay vì gán giá trị sai. Bảng giá tổng hợp sẽ không có dòng đó, và crawl log ghi nhận để chúng tôi liên hệ Sở Xây dựng đề nghị công bố thêm đơn vị quy đổi.

Quy tắc kỹ thuật cụ thể nằm trong vatgiatop-crawler/src/engine/unit-conversion.ts (mã nguồn nội bộ). Khi thêm một nhóm vật liệu mới, chúng tôi mở rộng CANONICAL_UNIT_BY_CATEGORY và viết một migration TypeORM để backfill dữ liệu cũ về đơn vị mới.

5. Tổng hợp & công bố

Sau khi mọi dòng giá đã được phân loại và quy về đơn vị chính tắc, chúng tôi tính các thống kê cho từng (nhóm vật liệu × tỉnh × kỳ): giá thấp nhất, giá cao nhất, giá trung bình. Đây là các con số bạn nhìn thấy trên trang tỉnh và trang vật liệu.

Mỗi bảng giá luôn hiển thị rõ kỳ công bố gốc (ví dụ "Q2/2026", "Tháng 04/2026"). Nếu Sở Xây dựng tỉnh chưa công bố giá quý mới, chúng tôi giữ nguyên giá kỳ trước và đánh dấu rõ — không "làm mới" giả tạo bằng dữ liệu cũ.

Khi crawler phát hiện kỳ mới, bảng giá tự động cập nhật trong vòng 24 giờ. Cache CDN bị invalidate ngay sau khi dữ liệu vào database.

Sai số và giới hạn của dữ liệu

Giá Sở Xây dựng là giá tham chiếu công bố, không phải giá giao dịch thực tế tại đại lý. Chênh lệch giữa hai loại giá thường là 5-15% và đến từ các yếu tố:

  • Phí vận chuyển từ kho/nhà máy đến công trình (đặc biệt với cát, đá, bê tông tươi vốn cồng kềnh).
  • Chiết khấu/khuyến mãi theo số lượng đặt hàng và thời điểm (cuối quý đại lý thường giảm để dọn kho).
  • Biến động nguyên liệu đầu vào giữa các kỳ công bố — thép có thể nhảy giá 5-10% chỉ trong một tuần.
  • Khác biệt giữa giá hợp đồng và giá xuất kho tại đại lý cấp 2-3.

Vì lý do đó, mọi giá trên Vật Giá Top được dán nhãn rõ "mang tính chất tham khảo" và chúng tôi luôn khuyến nghị người dùng kiểm tra giá thực tế với ít nhất 3 đại lý địa phương trước khi ký hợp đồng. Điều khoản này được nêu chi tiết trong Điều khoản sử dụng.

Xử lý khi bạn báo lỗi

Nếu bạn phát hiện một dòng giá sai (ví dụ "Giá xi măng PCB30 Hà Nội 7 triệu/tấn" trong khi thực tế chỉ 1.5 triệu), gửi email tới [email protected] kèm:

  • URL trang lỗi.
  • Ảnh chụp màn hình con số sai.
  • Giá đúng (nếu biết) cùng nguồn xác minh (catalog đại lý, hợp đồng).

Đội ngũ kỹ thuật xác minh và sửa trong vòng 48 giờ làm việc. Nếu sai do crawler đọc nhầm bảng giá Sở Xây dựng, chúng tôi bổ sung quy tắc để các tỉnh khác không gặp lỗi tương tự.

Cập nhật phương pháp luận

Trang này được rà soát ít nhất mỗi 6 tháng. Khi quy trình thay đổi đáng kể (thêm nguồn dữ liệu, đổi đơn vị chuẩn, thêm nhóm vật liệu), mục "Cập nhật mới nhất" dưới đây được sửa kèm changelog ngắn.

Cập nhật mới nhất: 25/05/2026 — bản đầu tiên.
Người chịu trách nhiệm nội dung: Ban biên tập Vật Giá Top.
Người chịu trách nhiệm kỹ thuật crawler: đội kỹ thuật Vật Giá Top (liên hệ qua trang Liên hệ).

Liên kết liên quan

Phương pháp thu thập giá vật liệu xây dựng | Vật Giá Top