Digital Marketing Academy · Pelajaran

Pemodelan Data Pemasaran

Jadual yang bersih dan digabungkan.

Pelajaran 3 daripada 413 langkah

Pemodelan Data Pemasaran ialah pelajaran Digital Marketing Academy percuma di CoddyKit. Ini ialah pelajaran 3 daripada 4. Sebanyak 3 pelajaran dalam laluan pembelajaran ini boleh dibaca sepenuhnya secara percuma — selepas itu, CoddyKit PRO membuka akses kepada semua pelajaran, serta latihan praktikal dengan penyunting kod terbina dalam dan tutor kecerdasan buatan yang tersedia 24/7. Pelajaran ini merupakan sebahagian daripada laluan pembelajaran Digital Marketing Academy, dan kemajuan anda disegerakkan merentas web serta aplikasi CoddyKit. Kursus Digital Marketing Academy merangkumi sejumlah 4 pelajaran.

Mengapa Perlu Memodelkan Data

Jadual penyambung mentah bersepah: nama lajur tidak konsisten, mata wang bercampur, granulariti berbeza dan keanehan khusus platform. Membuat pertanyaan terus kepadanya menghasilkan angka yang salah dan tidak boleh dihasilkan semula.

Pemodelan data ialah disiplin untuk menukar baris mentah kepada jadual yang bersih, konsisten dan sedia untuk perniagaan. Di sinilah ROAS, penukaran dan hasil ditakrifkan sekali dengan betul supaya setiap laporan memberikan jawapan yang sama.

Skema Bintang

Model analitik yang paling dominan ialah skema bintang: satu jadual fakta pusat yang mengandungi peristiwa boleh diukur, dikelilingi oleh jadual dimensi yang menerangkannya. Fakta menyimpan angka seperti perbelanjaan, klik dan hasil; dimensi menyimpan konteks seperti kempen, tarikh, saluran dan pelanggan.

Bentuk ini mudah difahami oleh pemasar dan cekap untuk alat BI, yang mencantumkan satu fakta dengan beberapa dimensi bagi membahagikan metrik mengikut mana-mana atribut.

        dim_date
           |
dim_channel -- fct_ad_spend -- dim_campaign
           |
        dim_account

fct_ad_spend (facts): impressions, clicks, cost, conversions
dims: who / what / when context

Fakta berbanding Dimensi

Jadual fakta adalah panjang dan boleh dijumlahkan: satu baris bagi setiap peristiwa atau setiap kombinasi kempen-hari, dengan ukuran angka yang anda jumlahkan. Jadual dimensi pula lebar dan deskriptif: satu baris bagi setiap kempen atau pelanggan, dengan atribut yang anda tapis dan kumpulkan.

Ujiannya: jika anda akan menggunakan SUM padanya, itu fakta; jika anda akan menggunakan GROUP BY padanya, itu dimensi. Perbelanjaan ialah fakta; nama kempen ialah dimensi.

fct_ad_spend         dim_campaign
----------------     ----------------
date                 campaign_id (PK)
campaign_id (FK)     campaign_name
cost      <-SUM->     channel
clicks    <-SUM->     objective
conversions          start_date

Granulariti: Keputusan Pertama

Granulariti ialah perkara yang diwakili oleh satu baris jadual fakta. Menetapkannya terlebih dahulu ialah keputusan pemodelan yang paling penting. Mencampurkan granulariti, seperti baris harian dengan jumlah sepanjang hayat, menyebabkan pengiraan berganda dan merosakkan setiap metrik seterusnya.

Nyatakan granulariti dalam bahasa mudah: satu baris bagi setiap kempen bagi setiap hari. Setiap lajur kemudiannya mestilah benar pada granulariti itu, dan setiap pemuatan mesti mematuhinya.

Declared grain: one row per campaign per day

-- enforce uniqueness on the grain
SELECT date, campaign_id, COUNT(*)
FROM fct_ad_spend
GROUP BY 1,2
HAVING COUNT(*) > 1;   -- must return 0 rows

Model Pementasan

Sebelum membina fakta dan dimensi, bina model pementasan: satu bagi setiap jadual sumber, dengan menamakan semula lajur kepada piawai, menukar jenis data dan menyeragamkan unit seperti sen kepada dolar serta tarikh UTC. Satu model pementasan memetakan satu jadual mentah, tidak lebih daripada itu.

Pementasan ialah lapisan pembersihan. Lapisan ini mengasingkan keanehan sumber supaya mart seterusnya tidak perlu mengetahui bahawa Meta memanggilnya perbelanjaan dan Google memanggilnya kos.

-- stg_google_ads__spend
SELECT
  date AS spend_date,
  campaign_id,
  'google' AS channel,
  cost_micros / 1000000 AS cost,   -- micros -> dollars
  clicks,
  conversions
FROM raw.google_ads__campaign_stats;

Menggabungkan Saluran

Setiap platform iklan melaporkan data dengan cara yang berbeza, tetapi selepas pementasan, semuanya mempunyai bentuk sepunya. Model seterusnya menggabungkannya menjadi satu fakta perbelanjaan merentas saluran, iaitu asas pelaporan gabungan.

Jadual tunggal inilah yang memungkinkan pengiraan jumlah ROAS. Apabila setiap saluran diseragamkan kepada lajur yang sama, satu pertanyaan boleh menjumlahkan perbelanjaan Google, Meta dan TikTok serentak.

-- fct_ad_spend: union all channels
SELECT * FROM stg_google_ads__spend
UNION ALL
SELECT * FROM stg_meta_ads__spend
UNION ALL
SELECT * FROM stg_tiktok_ads__spend;

-- now: SUM(cost) GROUP BY channel works

Dimensi Selaras

Untuk analisis merentas saluran, dimensi mesti selaras: satu dimensi dim_date dan dim_channel yang dikongsi dan dicantumkan secara sama oleh setiap fakta. Dengan itu, "hasil mengikut bulan mengikut saluran" membawa maksud yang sama sama ada sumbernya iklan, e-mel atau web.

Dimensi selaras membolehkan anda meletakkan perbelanjaan dan hasil bersebelahan dalam satu carta. Tanpanya, cantuman menjadi tidak sejajar dan jumlah keseluruhan boleh berbeza tanpa disedari.

Conformed dims shared across facts:
dim_date     -> joined by every fact on date
dim_channel  -> 'google','meta','email','organic'
dim_campaign -> unified campaign keys

-> spend and revenue line up on the same axes

Atribusi dalam SQL

Atribusi memberikan kredit bagi sesuatu penukaran kepada titik sentuh. Klik terakhir ialah kaedah paling mudah: sumber pemasaran terakhir sebelum penukaran menerima kredit penuh. Klik pertama, linear dan berasaskan kedudukan membahagikan kredit dengan cara yang berbeza.

Di dalam gudang data, anda melaksanakan atribusi sebagai model, bukan kotak hitam platform. Dengan data peringkat peristiwa GA4, anda boleh mengelompokkan titik sentuh mengikut pengguna menggunakan fungsi tetingkap dan menggunakan apa-apa peraturan, kemudian membandingkan hasil antara model secara adil.

-- last non-direct click per conversion
WITH touches AS (
  SELECT user_id, channel, event_time,
    ROW_NUMBER() OVER (PARTITION BY user_id
      ORDER BY event_time DESC) AS rn
  FROM web_touchpoints
  WHERE channel <> 'direct'
)
SELECT channel, COUNT(*) FROM touches WHERE rn=1
GROUP BY 1;

Dimensi Berubah Perlahan

Atribut dimensi berubah mengikut masa: pemilik belanjawan kempen bertukar, dan tahap pelanggan meningkat. Dimensi berubah perlahan Jenis 2 mengekalkan sejarah dengan menambah baris baharu yang mempunyai tarikh kesahan, bukannya menulis ganti baris lama.

Perkara ini penting untuk pelaporan yang tepat pada sesuatu titik masa. Untuk mengetahui segmen pelanggan ketika mereka melakukan penukaran, anda memerlukan versi dimensi yang sah pada masa itu, bukan versi hari ini.

dim_customer (SCD Type 2)
cust_id  tier      valid_from   valid_to     is_current
101      free      2026-01-01   2026-04-01   false
101      pro       2026-04-01   9999-12-31   true

-- join on event_date BETWEEN valid_from AND valid_to

Pengujian dan Dokumentasi

Model ialah kod, jadi uji model tersebut. Alat seperti dbt membolehkan anda mengesahkan bahawa kunci adalah unik dan tidak bernilai NULL, bahawa nilai saluran berada dalam set yang diterima, serta bahawa hubungan antara jadual dipatuhi.

Ujian mengesan pergeseran skema dan cantuman yang salah sebelum perkara tersebut sampai ke papan pemuka. Apabila digabungkan dengan dokumentasi yang dijana secara automatik dan salasilah data, ujian menjadikan model boleh dipercayai dan mudah digunakan oleh ahli baharu, bukannya kotak hitam yang rapuh.

# dbt schema test
models:
  - name: fct_ad_spend
    columns:
      - name: campaign_id
        tests: [not_null]
      - name: channel
        tests:
          - accepted_values:
              values: ['google','meta','tiktok']

Gudang Data Khusus: Lapisan Akhir

Lapisan teratas ialah gudang data khusus: jadual sedia untuk perniagaan yang dibentuk bagi khalayak tertentu, seperti mart marketing_performance yang sudah mencantumkan perbelanjaan dengan hasil dan mengira ROAS bagi setiap saluran pada setiap hari.

Alat BI hanya membaca daripada gudang data khusus. Dengan membuat cantuman dan pengagregatan terlebih dahulu di sini, papan pemuka kekal pantas dan murah, dan setiap penganalisis menggunakan takrifan betul yang sama.

-- marts.marketing_performance (1 row / day / channel)
SELECT s.spend_date, s.channel,
  SUM(s.cost)               AS spend,
  SUM(r.revenue)            AS revenue,
  SAFE_DIVIDE(SUM(r.revenue), SUM(s.cost)) AS roas
FROM fct_ad_spend s
LEFT JOIN fct_revenue r USING (spend_date, channel)
GROUP BY 1,2;

Semakan Pantas

Anda sedang membina jadual fakta untuk prestasi iklan dan mesti mengelakkan pengiraan berganda. Apakah perkara paling penting yang perlu ditetapkan sebelum menulis sebarang lajur?

Ulasan Ringkas

Pemodelan mengubah jadual mentah yang berserabut menjadi data yang boleh dipercayai dan sedia digunakan oleh perniagaan melalui beberapa lapisan: lapisan peringkat awal membersihkan dan menyeragamkan setiap sumber, fakta dan dimensi terselaras membentuk skema bintang, manakala data khusus menggabungkan semua perkara terlebih dahulu untuk BI.

Isytiharkan aras butiran terlebih dahulu, gabungkan saluran untuk metrik gabungan, laksanakan atribusi dan sejarah SCD Jenis 2 dalam SQL, serta uji setiap model supaya nombor yang salah dikesan dengan jelas dan tidak sampai ke papan pemuka.

Percuma untuk bermula

Pelajari Digital Marketing Academy dengan tutor kecerdasan buatan — percuma

Tulis dan jalankan kod sebenar dalam pelayar anda, dapatkan bantuan segera daripada tutor kecerdasan buatan yang tersedia 24/7, dan sambung semula dari tempat anda berhenti di web atau dalam aplikasi.

Kursus
63
Pelajaran
239

Soalan Lazim

Adakah pelajaran “Pemodelan Data Pemasaran” percuma?

Ya — sebanyak 3 pelajaran dalam laluan pembelajaran Digital Marketing Academy, termasuk “Pemodelan Data Pemasaran”, boleh dibaca sepenuhnya secara percuma di web ini. Selepas itu, CoddyKit PRO membuka akses kepada semua pelajaran, serta latihan interaktif dengan penyunting kod terbina dalam dan tutor kecerdasan buatan yang tersedia 24/7. Kursus Digital Marketing Academy merangkumi sejumlah 4 pelajaran.

Apakah yang akan saya pelajari dalam “Pemodelan Data Pemasaran”?

Jadual yang bersih dan digabungkan. Anda berlatih Digital Marketing Academy menggunakan kod praktikal yang dijalankan terus dalam pelayar, manakala tutor kecerdasan buatan 24/7 menjawab soalan anda semasa anda mengikuti pelajaran.

Adakah saya memerlukan pengalaman untuk memulakan Digital Marketing Academy?

Tiada pengalaman terdahulu diperlukan. Pembelajaran Digital Marketing Academy di CoddyKit disusun untuk pelajar daripada peringkat pemula hingga lanjutan, jadi anda boleh bermula di sini atau dari awal dan belajar mengikut kadar anda sendiri. Ini ialah pelajaran 3 daripada 4.

Berapa lamakah pelajaran “Pemodelan Data Pemasaran” diambil?

Kebanyakan pelajaran CoddyKit mengambil masa kira-kira 5–10 minit. Setiap pelajaran ringkas dan interaktif, jadi anda boleh membuat kemajuan secara berterusan dan menyambung tepat dari tempat anda berhenti di web atau aplikasi.

Bolehkah saya menulis dan menjalankan kod dalam pelajaran Digital Marketing Academy ini?

Ya. Setiap pelajaran Digital Marketing Academy menyertakan penyunting kod terbina dalam, jadi anda boleh menulis dan menjalankan kod sebenar terus dalam pelayar serta menerima maklum balas kecerdasan buatan serta-merta — tanpa memerlukan persediaan setempat.

Semua pelajaran dalam kursus ini

  1. Mengapa Gudang Data
  2. ETL dan Penyambung
  3. Pemodelan Data Pemasaran
  4. Papan Pemuka yang Mendorong Tindakan
← Kembali ke Digital Marketing Academy