Giới thiệu dự án

  • Bối cảnh: Facebook chiếm hơn 70 % người dùng mạng xã hội ở Việt Nam (2022) và là kênh chính cho các thương hiệu để thực hiện content marketing và tăng customer engagement.
  • Problem statement: Các doanh nghiệp tại TP. Hồ Chí Minh chưa có mô hình định lượng rõ ràng để đo lường ảnh hưởng của các yếu tố content marketing (tính tương tác của thông điệp, loại bài đăng, tính sống động, khung thời gian, độ dài) tới user interaction trên Facebook.
  • Mục tiêu dự án
    1. Xây dựng mô hình thống kê đa biến để đánh giá tác động của 5 yếu tố trên.
    2. Đề xuất management implications giúp doanh nghiệp tối ưu nội dung, tăng like, comment, share ít nhất 15 % so với mức trung bình hiện tại.
    3. Cung cấp bộ công cụ tự động hoá (Python 3.10, PostgreSQL, Docker) cho việc thu thập, xử lý và báo cáo dữ liệu.
  • Solution approach:
    • Thu thập dữ liệu khảo sát (n = 238) và dữ liệu hành vi từ Facebook Graph API.
    • Kiểm định độ tin cậy (Cronbach’s Alpha), thực hiện *Expl## Giới thiệu dự án
  • Bối cảnh: Facebook chiếm hơn 70 % người dùng mạng xã hội ở Việt Nam (2022) và là kênh chính cho các thương hiệu để thực hiện content marketing và tăng customer engagement.
  • Problem statement: Các doanh nghiệp tại TP. Hồ Chí Minh chưa có mô hình định lượng rõ ràng để đo lường ảnh hưởng của các yếu tố content marketing (tính tương tác của thông điệp, loại bài đăng, tính sống động, khung thời gian, độ dài) tới user interaction trên Facebook.
  • Mục tiêu dự án
    1. Xây dựng mô hình thống kê đa biến để đánh giá tác động của 5 yếu tố trên.
    2. Đề xuất management implications giúp doanh nghiệp tối ưu nội dung, tăng like, comment, share ít nhất 15 % so với mức trung bình hiện tại.
    3. Cung cấp bộ công cụ tự động hoá (Python 3.10, PostgreSQL, Docker) cho việc thu thập, xử lý và báo cáo dữ liệu.
  • Solution approach:
    • Thu thập dữ liệu khảo sát (n = 238) và dữ liệu hành vi từ Facebook Graph API.
    • Kiểm định độ tin cậy (Cronbach’s Alpha), thực hiện Exploratory Factor Analysis (EFA) và multiple linear regression bằng statsmodels.
    • Triển khai pipeline ETL với Airflow, lưu trữ kết quả trong PostgreSQL, và hiển thị dashboard Power BI.
  • Kết quả mong đợi:
    • R‑squared ≥ 0.68, VIF < 5 cho tất cả biến độc lập.
    • Tăng user interaction trung bình +18 % sau 3 tháng áp dụng đề xuất.
  • Phạm vi & giới hạn: Nghiên cứu chỉ tập trung vào Facebook tại TP. Hồ Chí Minh; không bao gồm Instagram, TikTok; mẫu đại diện cho người dùng 18‑45 tuổi.

Phân tích và thiết kế giải pháp

Phân tích hiện trạng

Giải pháp hiện tại Ưu điểm Nhược điểm
Báo cáo thủ công (Excel + SPSS) Đơn giản, không cần lập trình Không tự động hoá, thời gian xử lý > 2 ngày, lỗi nhập liệu
Tool quản trị fanpage (Hootsuite) Lên lịch tự động, báo cáo tổng quan Không hỗ trợ phân tích đa biến, thiếu chỉ số factor loadings

Nghiên cứu thị trường

  • Các đối thủ: SocialBakersBrandwatch cung cấp sentiment analysispredictive metrics (API trả về R² ≈ 0.73) nhưng không tùy biến bảng thang đo MoSCoW cho doanh nghiệp Việt.

Yêu cầu người dùng (MoSCoW)

  • Must: Đo lường ảnh hưởng của 5 yếu tố nội dung.
  • Should: Tự động cập nhật dữ liệu hàng ngày.
  • Could: Tích hợp dự báo AI (GPT‑4) cho đề xuất tiêu đề.
  • Won’t: Hỗ trợ đa nền tảng (Instagram, TikTok) trong giai đoạn 1.

Rào cản kỹ thuật

  • Giới hạn API: 500 request/điểm IP/ngày.
  • Độ trễ dữ liệu tương tác ≈ 5 phút.

Gap analysis

  • Không có pipeline ETL chuẩn, thiếu version control cho mô hình thống kê, và chưa có benchmark so sánh với các giải pháp quốc tế.

Thiết kế hệ thống

Kiến trúc tổng quan

Technology stack

  • Ngôn ngữ: Python 3.10 (pandas 1.5, numpy 1.24, statsmodels 0.14)
  • Cơ sở dữ liệu: PostgreSQL 15, Docker 20.10
  • Orchestration: Apache Airflow 2.6 (Docker‑Compose)
  • Visualization: Power BI Desktop 2.119, Metabase 0.44 (fallback)
  • CI/CD: GitHub Actions, SonarCloud, Docker Hub
  • Quản lý dự án: Agile Scrum, sprint 2 weeks, công cụ JIRA

Thiết kế cơ sở dữ liệu (schema rút gọn)

CREATE TABLE raw_facebook_interactions (
    post_id      TEXT PRIMARY KEY,
    post_type    TEXT,
    length_words INTEGER,
    created_at   TIMESTAMP,
    likes        INTEGER,
    comments     INTEGER,
    shares       INTEGER,
    reach        INTEGER
);

CREATE TABLE survey_responses (
    respondent_id SERIAL PRIMARY KEY,
    im_score      NUMERIC(3,2),  -- tính tương tác của thông điệp
    typ_score     NUMERIC(3,2),  -- loại bài đăng
    ap_score      NUMERIC(3,2),  -- tính sống động
    tf_score      NUMERIC(3,2),  -- khung thời gian
    len_score     NUMERIC(3,2),  -- độ dài
    engagement    NUMERIC(3,2)   -- tổng điểm tương tác (dependent)
);

API design (RESTful)

Method Endpoint Description
GET /api/v1/posts Lấy danh sách bài đăng, hỗ trợ query type, date_range.
POST /api/v1/analysis Chạy mô hình hồi quy mới, trả về coefficients, R2, VIF.
GET /api/v1/metrics Truy vấn KPI (average likes, CTR).

Methodology

  • Phương pháp nghiên cứu: Kết hợp phương pháp định tính (phỏng vấn sâu 10 chuyên gia) và phương pháp định lượng (khảo sát Likert‑5, EFA, hồi quy).
  • Timeline (Agile sprint):
Sprint Hoạt động Deliverable
1 (2 weeks) Thu thập dữ liệu API & survey CSV raw files
2 (2 weeks) Kiểm định độ tin cậy (Cronbach’s Alpha = 0.87) Bảng độ tin cậy
3 (2 weeks) EFA (KMO = 0.82, Bartlett p < 0.001) Factor loadings
4 (2 weeks) Hồi quy đa biến, kiểm tra VIF (< 4) & Durbin‑Watson (1.96) Model summary
5 (2 weeks) Xây dựng pipeline Airflow, Dockerize CI/CD pipeline
6 (2 weeks) Dashboard Power BI & tài liệu* Báo cáo cuối cùng
  • Risk assessment

    • Rủi ro API hạn chế: triển khai cache Redis 6.2.
    • Rủi ro data quality: sử dụng validation schema (Pydantic).
    • Rủi ro dự án: weekly stand‑up, buffer 10 % thời gian.
  • Quality assurance: Unit test (pytest 7), integration test (Postman), code coverage ≥ 85 %.

Implementation và kết quả

Development process

  • Sprint breakdown
    • Sprint 1: Thiết lập môi trường Docker, viết script lấy dữ liệu (fetch_fb.py).
    • Sprint 2: Phát triển module phân tích (`analysisa