TL;DR
Analisis SWOT adalah kerangka menilai posisi bisnis lewat empat sisi: Strengths dan Weaknesses dari dalam perusahaan, Opportunities dan Threats dari luar. Yang bikin SWOT sering gak berguna adalah isinya diisi opini rapat, bukan bukti. Versi yang lebih berguna mensyaratkan tiap poin punya angka pendukung, sumber datanya, dan tanggalnya. Setelah keempat kuadran terisi, lanjutkan ke matriks TOWS untuk mengubah temuan jadi empat jenis strategi konkret yang bisa dijalankan.
Analisis SWOT adalah kerangka menilai posisi bisnis lewat empat sisi: kekuatan dan kelemahan yang datang dari dalam, lalu peluang dan ancaman yang datang dari luar.
Masalahnya, kebanyakan SWOT yang aku lihat isinya kalimat kayak "pelayanan ramah" dan "persaingan ketat". Dua-duanya gak bisa dicek, gak bisa dibandingkan, dan gak bikin siapa pun tahu harus ngapain Senin pagi.
Aku bakal tunjukin cara ngisi tiap kuadran pakai angka, dari mana ngambil datanya untuk konteks Indonesia, dan cara mengubah empat kotak itu jadi empat strategi lewat matriks TOWS.
SWOT adalah singkatan dari Strengths, Weaknesses, Opportunities, dan Threats. Dua yang pertama menilai kondisi internal yang bisa kamu ubah, seperti margin, biaya, dan kemampuan tim. Dua yang terakhir menilai kondisi eksternal yang cuma bisa diantisipasi, seperti pesaing baru, perubahan aturan, atau pergeseran daya beli pembeli.
Cara paling cepat memisahkan internal dan eksternal: tanya apakah hal itu ikut hilang kalau usahamu tutup besok.
Margin 28% ikut hilang, jadi itu internal. Kenaikan harga minyak goreng tetap terjadi, jadi itu eksternal.
Kesalahan menempatkan poin di kuadran yang salah kelihatan sepele, tapi efeknya besar. Strategi buat memperbaiki kelemahan beda total dari strategi buat menghadapi ancaman.
Tiga penyebab yang paling sering aku temui.
Isinya diisi dari ingatan rapat, bukan dari data. "Pelayanan kita bagus" itu perasaan, bukan temuan.
Poinnya terlalu banyak. Aku pernah lihat SWOT dengan 34 poin. Gak ada satu pun yang dikerjakan.
Berhenti di daftar. Empat kotak terisi, rapat bubar, gak ada yang jadi tugas siapa-siapa.
Perbaikannya sederhana. Tiap poin wajib punya tiga hal: angka, sumber angkanya, dan tanggal pengukurannya.
Kalau satu poin gak bisa memenuhi ketiganya, dia masuk daftar cadangan sampai datanya ada.
Kekuatan bukan sifat, tapi hasil terukur yang lebih baik dari pembanding.
Pembandingnya bisa tiga: periode lalu, pesaing, atau rata-rata industri.
| Versi opini | Versi berbasis data |
|---|---|
| Pelayanan cepat | Rata-rata antre kasir 2 menit 10 detik, turun dari 4 menit 30 detik setelah tambah 1 mesin |
| Pelanggan loyal | 62% omzet dari pelanggan yang belanja lebih dari 6 kali setahun |
| Harga bersaing | Harga 12 barang paling laku rata-rata 4,2% di bawah 2 toko terdekat, cek 5 Des 2025 |
| Produk lengkap | 1.840 SKU aktif, 3 kali lipat toko sebelah yang punya 610 |
Kolom kanan bisa diperdebatkan. Kolom kiri cuma bisa diangguki.
Sumber data internal buat kuadran ini biasanya udah ada di sistem kasir. Kalau kamu ngolahnya di spreadsheet, COUNTIFS dan SUMIFS udah cukup buat ngitung frekuensi belanja per pelanggan.
Ini kuadran yang paling sering diisi setengah hati, karena orang gak mau kelihatan buruk.
Trik yang berhasil menurutku: jangan tanya "apa kelemahan kita". Tanya "di titik mana pelanggan paling sering kabur".
Pertanyaan kedua nunjuk ke proses, bukan ke orang.
Sumber datanya bisa dari mana saja yang mencatat kegagalan. Barang kosong, keluhan, retur, pesanan batal, waktu tunggu.
Contoh dari toko_berkah:
Angka pertama itu yang paling penting. Kelemahan yang diterjemahkan ke rupiah langsung punya prioritas sendiri.
Kalau kamu mau menggali keluhan pelanggan lebih dalam, cara ngolahnya ada di analisis sentimen ulasan Indonesia.
Ini bagian yang paling sering diisi tebakan, karena datanya gak ada di sistem kamu.
Lima sumber yang bisa dipakai di Indonesia tanpa biaya:
Sumber kelima itu sering dilewatkan padahal gratis. Minta kasir mencatat barang yang ditanya tapi gak tersedia, selama sebulan saja.
Di toko_berkah, catatan seperti ini nunjukin 214 permintaan produk bayi dalam sebulan yang gak bisa dilayani. Itu bukan tebakan peluang, itu permintaan yang sudah datang sendiri.
Ini versi ringkas dengan tiga poin per kuadran, semuanya berangka.
| Kekuatan (internal) | Kelemahan (internal) |
|---|---|
| 62% omzet dari pelanggan berulang | Stok kosong di 7,3% permintaan, Rp 31 jt/bulan hilang |
| Margin kotor 26,4%, naik dari 23,1% tahun lalu | 31,4% ulasan menyebut pengiriman secara negatif |
| 1.840 SKU aktif, terlengkap di radius 2 km | Selisih stok sistem dan fisik 4,1% tiap opname |
| Peluang (eksternal) | Ancaman (eksternal) |
|---|---|
| 214 permintaan produk bayi per bulan belum terlayani | 2 minimarket berjaringan buka dalam radius 1 km sejak Agustus |
| Belum ada toko sekitar yang melayani pesanan grosir antar | Harga beli minyak goreng naik 15% dalam 3 bulan |
| 18,4% transaksi cabang Tembalang terjadi sebelum jam 8 | Satu mitra kurir menyumbang 71% keluhan pengiriman |
Perhatikan poin terakhir di kolom peluang. Angka 18,4% itu awalnya masuk daftar kekuatan.
Setelah dicek, itu bukan kekuatan yang sudah dimanfaatkan. Tokonya baru buka jam 8, jadi transaksi pagi itu terjadi lewat pesanan titipan. Permintaannya ada, layanannya belum.
Itu peluang, bukan kekuatan. Bedanya nentuin strategi yang keluar.
Ini langkah yang paling sering dilewatkan, padahal di sinilah SWOT jadi berguna.
Matriks TOWS memasangkan kuadran jadi empat jenis strategi.
| Pasangan | Pertanyaannya | Contoh dari toko_berkah |
|---|---|---|
| Kekuatan + Peluang | Pakai kekuatan buat ambil peluang | Pakai kelengkapan 1.840 SKU buat mulai layanan grosir antar ke warung sekitar |
| Kekuatan + Ancaman | Pakai kekuatan buat tahan ancaman | Pelanggan berulang 62% jadi basis program langganan bulanan, biar gak lari ke minimarket baru |
| Kelemahan + Peluang | Perbaiki kelemahan biar peluang bisa diambil | Benahi akurasi stok dulu sebelum nambah kategori produk bayi |
| Kelemahan + Ancaman | Hindari atau kurangi risikonya | Ganti mitra kurir bermasalah sebelum minimarket baru menawarkan antar gratis |
Baris ketiga itu yang paling sering diabaikan orang.
Nambah kategori produk bayi kedengaran menarik. Tapi kalau akurasi stok masih meleset 4,1%, kategori baru cuma nambah barang yang tercatat ada padahal kosong.
Urutan pengerjaan itu keputusan yang keluar dari matriks, dan gak akan muncul dari daftar SWOT biasa.
Setelah strategi keluar, ubah tiap baris jadi satu KPI dengan target dan tanggal. Tanpa itu, matriksnya balik jadi slide.
Nulis sifat, bukan hasil. "Tim solid" bukan kekuatan sampai kamu bisa nunjukin angka perputaran karyawan atau kecepatan penyelesaian tugas.
Nyampur internal dan eksternal. "Kurang modal" itu kelemahan, "bunga pinjaman naik" itu ancaman. Dua-duanya soal uang, tapi strateginya beda total.
Bikin daftar panjang. Tiga sampai lima poin per kuadran. Sisanya simpan di dokumen terpisah.
Berhenti sebelum TOWS. Empat kotak tanpa pasangan strategi cuma potret, bukan rencana.
Diisi satu orang. Kuadran kelemahan hampir selalu paling akurat kalau diisi orang yang berhadapan langsung dengan pelanggan. Ajak kasir dan admin gudang.
Gak nyantumin tanggal. SWOT tanpa tanggal gak bisa dibandingkan tahun depan. Tulis tanggal pengukuran di tiap poin.
Nganggap SWOT sebagai analisis pesaing. SWOT itu tentang posisi kamu. Kalau kamu butuh membandingkan diri dengan pesaing secara rinci, itu pekerjaan terpisah dengan data harga dan pangsa pasar.
SWOT adalah singkatan dari Strengths (kekuatan), Weaknesses (kelemahan), Opportunities (peluang), dan Threats (ancaman). Dua yang pertama berasal dari dalam perusahaan dan bisa kamu kendalikan, misalnya margin atau kecepatan layanan. Dua yang terakhir berasal dari luar dan cuma bisa diantisipasi, misalnya pesaing baru, perubahan aturan, atau pergeseran daya beli.
Kekuatan itu sesuatu yang kamu punya sekarang dan bisa kamu kendalikan, misalnya margin kotor 28% yang di atas rata-rata sejenis. Peluang itu kondisi di luar yang belum kamu manfaatkan, misalnya belum ada pesaing yang melayani pesanan grosir di kecamatan sebelah. Uji cepatnya: kalau kamu tutup besok, apakah hal itu ikut hilang? Kalau iya, itu kekuatan.
Tiga sampai lima poin per kuadran. Lebih dari itu, timmu bakal kehilangan fokus dan gak ada yang benar-benar dikerjakan. Kalau daftarmu terlanjur panjang, urutkan berdasarkan dampak rupiah lalu ambil lima teratas. Poin yang gak punya angka pendukung dan gak bisa dijelaskan dampaknya ke uang, buang dulu ke daftar cadangan.
Matriks TOWS memasangkan kuadran SWOT jadi empat jenis strategi: kekuatan dipakai untuk menangkap peluang, kekuatan dipakai untuk menahan ancaman, kelemahan diperbaiki agar peluang bisa diambil, dan kelemahan yang bertemu ancaman perlu dihindari. Tanpa langkah ini, SWOT berhenti jadi daftar dan gak pernah berubah jadi tindakan.
Untuk usaha kecil, sekali setahun cukup untuk versi lengkap, dengan pengecekan singkat tiap kuartal untuk kuadran ancaman. Ancaman yang paling cepat berubah. Kalau ada kejadian besar seperti pesaing baru buka di dekat lokasi atau harga bahan baku naik lebih dari 15%, perbarui saat itu juga tanpa nunggu jadwal.
Tiga hal yang perlu dibawa.
Satu, tiap poin wajib punya angka, sumber, dan tanggal. Poin tanpa ketiganya masuk daftar cadangan.
Dua, terjemahkan kelemahan ke rupiah. Itu yang bikin urutan prioritasnya jelas tanpa perlu debat.
Tiga, jangan berhenti di empat kotak. Lanjut ke TOWS sampai keluar minimal empat tindakan bertanggal.
Minggu ini coba isi kuadran kelemahan saja, tiga poin, semuanya dengan angka rupiah. Biasanya di situ langsung ketahuan mana yang perlu dikerjakan duluan.
Kalau kamu mau menyusun angka pantauannya jadi satu layar, baca soal dashboard real-time dan kenali dulu apa itu metric yang layak dipantau.
Mau praktek langsung? Mulai latihan SQL gratis
Latihan interaktif, langsung di browser.
Kolom datetime nyimpen tanggal, jam, hari, semuanya nempel jadi satu. Accessor .dt di pandas ngeluarin tiap bagian jadi kolom sendiri buat dianalisa.
Nama toko ketik campur huruf besar-kecil, spasi nyasar di ujung, atau kode produk nempel jadi satu. Accessor .str di pandas ngerapiin semua itu tanpa loop.
Model machine learning cuma ngerti angka, bukan teks kayak merah atau biru. get_dummies ngubah kolom kategori jadi kolom 0/1 dalam satu baris kode.