Pelajari matematika harga bundle produk untuk menampilkan diskon dengan jelas, mengukur margin, dan menjaga inventaris komponen tetap akurat dengan model dan pemeriksaan sederhana.

Bundle terasa sederhana bagi pembeli: “beli ini bersama dan hemat.” Tetapi di dalam toko Anda, bundle memengaruhi harga, pajak, promosi, COGS, dan stok sekaligus. Jika Anda tidak menetapkan aturan yang jelas, checkout bisa terlihat benar sementara laporan diam-diam menjauh dari kenyataan.
Dua hal yang biasanya salah terlebih dulu: diskon tidak jelas, dan hitungan stok menjadi tidak dapat diandalkan. Pelanggan mungkin melihat harga bundle, lalu juga melihat kode promo tambahan, harga “compare at”, atau diskon per-item yang menumpuk sehingga penghematan sulit dipahami. Secara internal, sistem Anda mungkin tidak sepakat apakah bundle terjual sebagai satu unit atau sebagai beberapa item.
Berikut dua risiko utama yang harus diperhatikan:
Bundle juga bisa tampak menguntungkan tetapi sebenarnya rugi. Ini terjadi ketika pendapatan dicatat pada tingkat bundle, tetapi biaya dilacak pada tingkat komponen (atau tidak dilacak sama sekali). Anda mungkin melihat “margin kotor bundle” yang sehat di dasbor, sementara biaya nyata dari satu komponen mahal diabaikan, didiskon dua kali, atau dikembalikan lebih sering dari yang diharapkan.
"Akurat" seharusnya berarti empat hal praktis:
Checkout sesuai janji: pelanggan dapat melihat harga bundle dan penghematan secara konsisten.
Pelaporan penjualan dapat dijelaskan: Anda bisa menjawab, “Berapa unit setiap item yang sebenarnya kita jual?” dan “Berapa banyak diskon yang kita berikan?”
Inventaris tetap jujur: ketika satu bundle dikirim, jumlah setiap komponen yang tepat dikurangi, bahkan jika gudang mengambil dari rak terpisah.
Pengembalian tidak merusak data: jika pelanggan mengembalikan satu item dari kit, sistem Anda tahu bagaimana menyesuaikan pendapatan, diskon, dan stok tanpa menebak.
Jika Anda memulai dengan matematika harga bundle yang jelas dan satu aturan inventaris, keputusan bundle lainnya menjadi jauh lebih mudah.
Sebelum Anda melakukan matematika harga bundle, beri nama jenis bundle. Jenis ini menentukan apa yang dilihat pelanggan, bagaimana Anda mengukur margin, dan bagaimana stok harus bergerak.
Bundle murni adalah “item-item ini harus dibeli bersama.” Pikirkan “body kamera + lensa + tas” yang dijual sebagai satu penawaran. Ini biasanya membutuhkan satu harga bundle yang jelas, cerita diskon yang jelas (dibandingkan dengan membeli tiap item), dan pengurangan inventaris yang konsisten pada komponen yang sama setiap kali.
Set yang mix-and-match adalah “pilih 3 dari grup ini.” Harga dan stok menjadi lebih rumit karena komponennya bervariasi. Anda sering memerlukan aturan seperti “harga sama tidak peduli apa pilihannya” (sederhana, tetapi margin bisa berubah) atau “harga tergantung item yang dipilih” (lebih jelas marginnya, lebih kompleks).
Kit, multipack, dan assortment terdengar serupa tetapi berperilaku berbeda:
Sebuah bundle sebaiknya memiliki SKU sendiri ketika Anda membutuhkan pelaporan dan operasi yang stabil. Alasan umum:
Hindari bundling ketika “bundle” sebenarnya hanya diskon sementara. Jika item bisa dibeli terpisah dan set berubah mingguan, promo (aturan diskon di checkout) menjaga katalog lebih bersih dan mengurangi kejutan inventaris.
Pelanggan jarang melakukan kalkulasi mendalam. Mereka membandingkan berapa bundle hari ini versus berapa seharusnya mereka bayar kalau membeli item secara terpisah. Tugas Anda adalah membuat perbandingan itu mudah dan konsisten, sehingga diskon terasa nyata dan aturan harga Anda tetap stabil.
Mulai dengan mendefinisikan dua harga untuk setiap bundle:
Lalu hitung diskon dengan satu cara standar dan patuhi itu:
Discount amount = List price - Bundle price
Discount percent = Discount amount / List price
Ini adalah bentuk paling sederhana dari matematika harga bundle produk, dan sesuai dengan yang diharapkan kebanyakan pembeli.
Pembulatan adalah tempat kepercayaan bisa hilang. Jika keranjang menunjukkan $79.99 dan “20% off”, pelanggan akan memeriksa. Pilih aturan yang menghindari sen-sen yang canggung.
Aturan praktis:
Bundle dengan opsi membutuhkan satu pilihan lagi: apakah Anda memberi harga dari konfigurasi termurah yang mungkin, atau dari yang dipilih pembeli? Untuk kit “pilih 1 dari 3”, hitung list price menggunakan varian yang dipilih, bukan rata-rata, sehingga penghematan yang ditampilkan tetap jujur.
Terakhir, putuskan apa yang terjadi ketika harga komponen berubah nanti. Pendekatan paling bersih adalah memperlakukan harga bundle sebagai keputusan tersendiri: biarkan tetap sampai Anda sengaja menyesuaikannya, dan hitung ulang “compare at” list price dari harga komponen saat ini. Jika itu membuat diskon berfluktuasi terlalu banyak, tetapkan trigger review (mis. jika diskon berubah lebih dari 5 poin) sehingga Anda bisa menyesuaikan sebelum pelanggan menyadarinya.
Diskon bundle hanya “bagus” jika Anda tetap bisa melihat keuntungan. Mulai dengan memastikan COGS (cost of goods sold / biaya pokok penjualan) pada tingkat komponen. Setiap item dalam kit membutuhkan biaya unit terkini (apa yang Anda bayar untuk membeli atau membuatnya), plus biaya khusus bundle seperti kemasan ekstra.
COGS bundle sederhana: jumlahkan COGS komponen dikalikan kuantitas dalam bundle, lalu tambahkan kemasan dan penanganan.
Bundle COGS = Σ (component unit COGS × component quantity) + packaging + handling
Gross margin $ = bundle price - Bundle COGS - shipping subsidies
Gross margin % = Gross margin $ / bundle price
Contoh: sebuah “Starter Kit” dijual seharga $99.
Bundle COGS = 28 + 12 + 8 + 3 = $51
Gross margin $ = 99 - 51 - 6 = $42
Gross margin % = 42 / 99 = 42.4%
Itu inti dari matematika harga bundle produk: diskon terlihat jelas bagi pembeli, dan margin tetap terlihat bagi Anda.
Untuk pelaporan, Anda mungkin perlu mengalokasikan pendapatan bundle kembali ke komponen (untuk penjualan kategori, komisi, atau pelaporan pajak). Pendekatan umum adalah alokasi proporsional berdasarkan nilai standalone tiap item. Jika A 50% dari total nilai standalone, ia mendapat 50% dari pendapatan bundle. Pertahankan aturan alokasi konsisten sehingga pelaporan bulan-ke-bulan tetap dapat dibandingkan.
Sebelum Anda memublikasikan diskon, tetapkan guardrail yang memblokir bundle yang buruk:
Biaya-biaya terakhir terasa kecil, tetapi cepat bertambah. Jika kit membutuhkan pengepakan khusus, perlakukan itu sebagai COGS nyata, bukan galat pembulatan.
Jika harga adalah janji, inventaris adalah kebenaran. Saat sebuah bundle terjual, sistem stok Anda harus menjawab satu pertanyaan cepat: item fisik mana yang baru saja meninggalkan rak?
Anda hanya menyimpan komponen. Ketika bundle terjual, Anda mengurangi kuantitas setiap komponen yang diperlukan (mis. 1 botol + 2 filter). Ini adalah opsi paling bersih ketika “bundle” kebanyakan konsep harga.
Ini bekerja paling baik ketika picker merakit kit saat pemenuhan. Ini juga menjaga matematika harga bundle jujur, karena Anda bisa melihat apakah diskon “dibayar” oleh ongkos kirim yang lebih murah, konversi yang lebih tinggi, atau hanya margin.
Model B memperlakukan kit sebagai item nyata yang distok dengan jumlah on-hand sendiri. Anda merakit kit terlebih dulu, lalu mengurangi 1 kit per penjualan. Anda masih membutuhkan langkah pembuatan yang mengonsumsi komponen saat merakit, atau hitungan komponen akan salah.
Model C mempertahankan SKU bundle virtual untuk penjualan dan pelaporan, tetapi memesan komponen pada saat pesanan (bukan saat pengiriman). Reservasi mencegah oversell ketika stok ketat atau ketika pengambilan pembayaran tertunda.
Cara sederhana memilih:
Multi gudang menambah satu aturan lagi: kurangi dari gudang tempat barang benar-benar dikirim. Dengan Model A atau C, pemilihan komponen harus spesifik gudang (Gudang 1 mungkin punya charger, Gudang 2 mungkin tidak). Dengan Model B, Anda harus melacak stok kit per gudang, dan membutuhkan transfer atau work order perakitan untuk memindahkan kit.
Contoh cepat: Anda menjual “Starter Kit” yang berisi 1 mug dan 1 tutup. Jika Gudang A punya mug tapi tidak punya tutup, Model A hanya bisa menjual jika pesanan diarahkan ke gudang yang memiliki keduanya, atau jika Anda split-ship (dan menerima biaya kirim tambahan). Model B menghindari kebingungan itu dengan menyimpan kit lengkap dimana kit itu memang bisa dikirim.
Sebuah bundle hanya berperilaku baik jika katalog dan inventaris Anda sepakat tentang apa yang dijual: item baru, atau kumpulan item yang ada. Mulailah dengan memutuskan apa yang perlu dilacak, diberi harga, dan dikembalikan.
Gunakan alur ini untuk mengatur satu bundle (dan ulangi aturan yang sama untuk berikutnya):
Berikut skenario cepat untuk memvalidasi pengaturan Anda: Anda menjual “Starter Kit” dengan 1 mug dan 2 paket kopi. Jika mug habis tetapi paket kopi tidak, storefront Anda seharusnya memblokir bundle atau jelas menandainya sebagai backordered, dan sistem Anda tidak pernah mengurangi 2 paket kopi tanpa juga memesan mug.
Jika Anda membangun workflow kustom, alat seperti Koder.ai dapat membantu Anda mendefinisikan aturan bundle (SKU, BOM, waktu pengurangan) sekali, lalu menghasilkan logika katalog dan stok secara konsisten di web dan backend.
Bundle menjadi menyakitkan ketika realitas muncul: satu item hilang, pelanggan ingin menukar, atau pengembalian parsial. Cara termudah agar tetap waras adalah menjaga pesanan yang terlihat pelanggan sederhana (satu baris bundle) sambil melacak pemenuhan dan stok di tingkat komponen.
Saat satu komponen habis, putuskan sebelumnya apakah bundle boleh dikirim parsial atau harus menunggu. Jika Anda mengizinkan pengiriman parsial, kurangi inventaris hanya untuk apa yang benar-benar dikirim, dan tetap pesan sisanya agar Anda tidak oversell. Baris bundle tetap “partially fulfilled,” tetapi buku stok Anda tetap bersih.
Mengizinkan substitusi boleh saja asalkan Anda memperlakukannya seperti perubahan terkendali, bukan aksi ad hoc tanpa aturan. Tetapkan aturan substitusi yang menjaga pelaporan dan margin.
Pengembalian membutuhkan dua jalur: pengembalian kit penuh dan pengembalian satu komponen. Contoh: “Starter Kit” dijual seharga $90 (diskon dari $100). Ia berisi botol ($40 list) dan sikat ($60 list). Jika seluruh kit dikembalikan, balikkan kedua komponen ke stok, dan refund $90.
Jika hanya sikat yang dikembalikan, refund gunakan bagian prorata dari harga bundle yang dibayar, bukan harga standalone sikat. Metode sederhana dan dapat dipertahankan adalah prorata berdasarkan list price.
Ini menjaga diskon tetap jelas, mencegah refund “uang gratis”, dan menghentikan inventaris dari melenceng seiring waktu.
Bundle biasanya gagal karena alasan membosankan: aturan katalog tidak jelas, dan matematika diterapkan dua kali. Memperbaikinya kebanyakan soal memilih satu sumber kebenaran untuk harga, margin, dan stok.
Perangkap inventaris terbesar adalah mengurangi stok di dua tempat. Jika Anda menyimpan SKU bundle untuk penjualan, putuskan apakah itu SKU “virtual” (tidak punya stok sendiri) atau SKU “prepacked” (punya on-hand sendiri). Virtual bundles hanya boleh mengurangi komponen. Prepacked kits hanya boleh mengurangi SKU kit sampai Anda membukanya.
Diskon juga bisa tampak lebih besar karena pembulatan. Harga bundle seperti $49.99 terasa bersih, tetapi jika setiap komponen dibulatkan berbeda, diskon terimplikasi bisa bergeser beberapa sen per pesanan. Seiring waktu itu bisa menimbulkan kebisingan support dan pelaporan berantakan. Pilih aturan pembulatan dan terapkan sekali, pada harga bundle akhir.
Berikut jebakan umum yang menjatuhkan margin dan operasi, dengan perbaikan cepat:
Jika Anda membangun logika ini dalam kode, tuliskan aturan sebelum mengimplementasikannya. Di Koder.ai, menggunakan mode planning untuk aturan bundle (pengurangan stok, pembulatan, penumpukan diskon) dapat membantu menjaga perilaku konsisten saat Anda mengekspor kode sumber atau menambah bundle baru.
Sebelum memublikasikan bundle, luangkan 10 menit untuk memastikan aturan konsisten. Kebanyakan masalah muncul kemudian sebagai “mengapa kita rugi?” atau “mengapa stok salah?” dan keduanya biasanya kembali ke matematika yang tidak jelas.
Mulailah dengan harga yang terlihat pelanggan. Jika Anda menampilkan “Save 15%”, pastikan angka itu berdasarkan referensi harga yang sama yang Anda gunakan di mana-mana (harga jual Anda saat ini, bukan MSRP lama). Di sinilah matematika harga bundle diuji di kehidupan nyata: diskon yang ditampilkan harus cocok dengan yang dapat diverifikasi pembeli.
Lalu periksa keuntungan menggunakan biaya yang tepat yang akan berdampak pada setiap pesanan. Sertakan tenaga pick-and-pack, kemasan, biaya transaksi, dan biaya pengiriman ekstra yang disebabkan oleh berat atau item ganda. Jika bundle hanya memenuhi target margin ketika semuanya berjalan sempurna, itu penawaran berisiko.
Inventaris adalah separuh lainnya. Putuskan apakah bundle memiliki SKU sendiri, bagaimana menguranginya, dan apa yang terjadi dalam kasus tepi seperti pembatalan dan pengembalian. Jika Anda tidak bisa menjelaskan logika stok dalam satu kalimat, itu akan gagal di bawah tekanan.
Berikut daftar periksa pra-peluncuran yang ketat:
Jika Anda mengotomatisasi ini di alat seperti Koder.ai, tuliskan aturan ini terlebih dahulu, lalu implementasikan persis seperti tertulis sehingga angka tetap stabil saat Anda skalakan.
Bayangkan “Starter Kit” yang terdiri dari tiga item yang juga Anda jual terpisah. Tujuannya adalah membuat diskon jelas, profit mudah diperiksa, dan stok selalu benar.
Asumsikan komponen ini, dengan harga dan biaya sederhana (COGS):
Jika dijual terpisah, pelanggan akan membayar $20 + $12 + $18 = $50 (itu total list “sum of parts”).
Sekarang tetapkan harga bundle $42. Diskon adalah $50 - $42 = $8 off. Persentase diskon adalah $8 / $50 = 16%.
Ini cara paling bersih untuk menampilkan matematika harga bundle produk: tunjukkan jumlah bagian, lalu tunjukkan harga kit dan penghematan.
Bundle COGS hanyalah jumlah COGS komponen: $8 + $4 + $6 = $18.
Laba kotor pada kit adalah $42 - $18 = $24.
Persentase margin kotor adalah $24 / $42 = 57.1%.
Angka itu memungkinkan Anda membandingkan bundle dengan margin biasa. Jika target biasa Anda 60%, Anda tahu kit ini sedikit lebih tipis dan bisa memutuskan apakah konversi yang lebih tinggi sepadan.
Mulai dengan on-hand: botol 40, handuk 30, shaker 25.
Jual 5 kit. Inventaris harus mengurangi 5 unit tiap komponen:
Botol 40 - 5 = 35, handuk 30 - 5 = 25, shaker 25 - 5 = 20.
Sekarang seorang pelanggan mengembalikan hanya handuk dari satu kit. Kembalikan 1 handuk ke stok (handuk 25 + 1 = 26).
Untuk sisi uang, pilih aturan yang jelas dan patuhi: (a) tidak ada pengembalian parsial pada kit, atau (b) refund parsial menggunakan bagian setiap item dari harga kit, bukan harga standalone item. Jika Anda refund menggunakan harga standalone handuk ($12), Anda bisa secara tidak sengaja mengubah kit yang menguntungkan menjadi rugi.
Bundle hanya tetap menguntungkan dan akurat ketika semua orang mengikuti aturan yang sama. Sebelum Anda memperluas kit ke berbagai channel, tuliskan kebijakan bundle sederhana yang bisa dirujuk tim saat sesuatu berjalan aneh.
Sertakan tiga hal dalam bahasa sehari-hari: bagaimana Anda menetapkan harga bundle (dan bagaimana diskon ditampilkan), bagaimana inventaris dikurangi (SKU bundle, komponen, atau keduanya), dan bagaimana pengembalian diproses (refund bundle atau per komponen).
Kebijakan yang baik muat dalam satu halaman. Gunakan daftar periksa singkat seperti ini:
Selanjutnya, uji kasus tepi dengan pesanan nyata, bukan spreadsheet. Buat satu pesanan tes untuk setiap skenario yang Anda perkirakan: pengembalian parsial, substitusi, komponen backorder, bundle dengan kategori pajak campuran, dan perubahan harga di tengah bulan. Simpan screenshot atau catatan sehingga Anda bisa mengulang tes setelah pembaruan sistem.
Atur review bulanan untuk menangkap drift margin. Biaya komponen berubah diam-diam, dan “penawaran bagus” Anda bisa menjadi produk rugi tanpa ada yang menyadari. Pengingat kalender 15 menit untuk meninjau bundle teratas, biaya komponen, dan margin aktual biasanya cukup.
Jika alat Anda saat ini tidak bisa mengekspresikan aturan dengan bersih, bangun aplikasi internal kecil yang melakukan apa yang Anda butuhkan (pengaturan bundle, validasi, dan pelaporan). Dengan Koder.ai, Anda bisa mendeskripsikan aturan bundle di chat dan menghasilkan alat back-office (React + Go + PostgreSQL), lalu iterasi dengan aman menggunakan snapshot dan rollback ketika perlu menyesuaikan logika.