# Laporan Akhir Eksplorasi Data

## 1. Ringkasan Eksekutif

Laporan Eksplorasi Data ini bertujuan untuk mengungkap wawasan tersembunyi dari data pemenuhan pesanan pelanggan guna meningkatkan kinerja operasional, penjualan, dan memahami korelasi dengan produk. Data yang dianalisis mencakup seluruh proses mulai dari pesanan awal (RO) hingga barang diterima oleh pelanggan, dengan fokus pada metrik kuantitas, nilai, dan waktu.

**Gambaran Umum Data & Kualitas Data Awal**

Data yang dianalisis terdiri dari 131,315 catatan transaksi pemenuhan pesanan. Setiap catatan mewakili satu baris produk dalam suatu pesanan. Proses pemenuhan pesanan secara umum mengikuti alur: Pesanan Berulang (RO) yang mengarah ke Surat Pesanan (SP), kemudian ke Surat Jalan (DO), dan diakhiri dengan Daftar Pengepakan (PL).

Hasil pemeriksaan awal mengindikasikan beberapa anomali penting dalam kualitas data yang memerlukan perhatian:

*   **Identifikasi Pelanggan**: Meskipun `KodePI`, `OutCode`, dan `Cmc` seharusnya merupakan pengidentifikasi unik untuk satu outlet pelanggan, ditemukan bahwa jumlah `Cmc` yang unik (4,698) lebih rendah dari `KodePI` dan `OutCode` (masing-masing 5,062). Namun, setelah pemeriksaan lebih lanjut, ditemukan bahwa tidak ada satu `KodePI` atau `OutCode` yang memetakan ke lebih dari satu `Cmc` atau sebaliknya (mengabaikan nilai 'UNKNOWN'). Perbedaan ini sebagian besar disebabkan oleh 365 `KodePI` yang memiliki `Cmc` 'UNKNOWN', menunjukkan adanya data yang tidak lengkap pada kolom `Cmc` untuk beberapa outlet.
*   **Hubungan Dokumen Pesanan**:
    *   Klarifikasi bisnis menyatakan bahwa "1 SP menerbitkan 1 DO". Namun, data menunjukkan adanya 23,615 `No. SP` unik berbanding 23,490 `No. DO` unik. Lebih lanjut, terdapat 126 `No. SP` yang tidak memiliki `No. DO` yang terdefinisi (memiliki nilai 'UNKNOWN'). Ini mengindikasikan bahwa tidak setiap SP berhasil menerbitkan DO, yang bertentangan dengan aturan bisnis yang ada.
    *   Hubungan "1 DO = 1 PL" terverifikasi dengan baik, karena jumlah `No. DO` unik sama dengan `No. PL` unik (23,490), dan nilai `No. DO` serta `No. PL` identik pada semua catatan.
*   **Kuantitas Pesanan**:
    *   Aturan bisnis menyatakan bahwa "Qty SP selalu sama dengan Qty RO". Namun, ditemukan 2,087 catatan di mana `Qty RO` tidak sama dengan `Qty SP`. Dari jumlah ini, 86 catatan memiliki `Qty SP` lebih besar dari `Qty RO`, dan 2,001 catatan memiliki `Qty RO` lebih besar dari `Qty SP`, dengan rata-rata perbedaan (Qty RO - Qty SP) sebesar 6.70 unit. Anomali ini menunjukkan adanya ketidaksesuaian pencatatan antara jumlah pesanan awal dan jumlah yang masuk ke surat pesanan.
    *   Hubungan `Qty DO` selalu kurang dari atau sama dengan `Qty SP` terverifikasi di seluruh data, yang konsisten dengan logika bahwa jumlah yang dilayani gudang bisa sama atau lebih sedikit dari pesanan.
*   **Nilai Transaksi**:
    *   Terdapat 1,032 catatan di mana `Value PL` (nilai yang dilayani gudang) lebih besar dari `Value RO` (nilai pesanan outlet). Ini merupakan anomali signifikan karena secara logis `Value PL` tidak boleh melebihi `Value RO` jika tidak ada penambahan pesanan. Rata-rata persentase perbedaan untuk kasus ini sangat tinggi, mencapai 2,655.50%, menunjukkan masalah serius dalam perhitungan nilai atau pencatatan transaksi untuk pesanan-pesanan tersebut.

**Kinerja Pemenuhan Pesanan**

Analisis pemenuhan kuantitas dan nilai memberikan gambaran tentang efisiensi operasional:

*   **Pemenuhan Kuantitas**:
    ```mermaid
    xychart-beta
    title "Kategori Pemenuhan Kuantitas"
    x-axis ["Pemenuhan Kuantitas Penuh", "Pemenuhan Kuantitas Sebagian", "Tidak Ada Pemenuhan Kuantitas", "Qty DO > Qty SP (Anomali)"]
    y-axis "Jumlah Catatan" 0 --> auto
    bar [131315, 0, 0, 0]
    ```
    Berdasarkan data yang ada, secara kuantitas yang dikirim (`Qty DO`) dibandingkan dengan kuantitas pada surat pesanan (`Qty SP`), semua catatan (131,315) tercatat dalam kategori "Pemenuhan Kuantitas Penuh". Ini menyiratkan bahwa setiap item produk yang tercatat dalam SP berhasil dipenuhi sepenuhnya oleh gudang. Namun, ini perlu divalidasi lebih lanjut mengingat anomali `Qty RO` vs `Qty SP` yang telah diidentifikasi.
*   **Pemenuhan Nilai**:
    ```mermaid
    xychart-beta
    title "Kategori Pemenuhan Nilai"
    x-axis ["Pemenuhan Nilai Penuh", "Pemenuhan Nilai Sebagian", "Value PL > Value RO (Anomali)"]
    y-axis "Jumlah Catatan" 0 --> auto
    bar [129575, 708, 1032]
    ```
    Dalam hal nilai, mayoritas pesanan (129,575 catatan) mencapai "Pemenuhan Nilai Penuh" (Value PL = Value RO). Namun, terdapat 708 catatan dengan "Pemenuhan Nilai Sebagian" (Value PL < Value RO), dan 1,032 catatan mengalami anomali di mana "Value PL > Value RO", yang memerlukan investigasi mendalam karena implikasi finansialnya.

**Waktu Siklus Pesanan (Lead Time)**

Analisis waktu rata-rata untuk setiap tahapan proses pemenuhan pesanan mengungkapkan efisiensi dan potensi bottleneck:

```mermaid
xychart-beta
title "Rata-rata Waktu Siklus (Hari) - Hanya Entri Valid"
x-axis ["Order ke Pembuatan DO", "Pembuatan DO ke Logbook", "Logbook ke Ekspedisi", "Ekspedisi ke Penerimaan"]
y-axis "Rata-rata Hari" auto --> auto
bar [0.44, 0.25, 0.09, -484.08]
```
Waktu yang dibutuhkan dari `Tgl. Order` hingga `Tgl DO` rata-rata sangat cepat, sekitar 0.44 hari. Demikian pula, dari `Tgl DO` hingga `Tgl Logbook` (0.25 hari) dan dari `Tgl Logbook` hingga `Tgl Ekspedisi` (0.09 hari) menunjukkan proses internal yang efisien. Namun, ditemukan anomali signifikan pada rata-rata waktu dari `Tgl Ekspedisi` hingga `Tgl Diterima`, yang menunjukkan nilai negatif sebesar -484.08 hari. Nilai negatif ini sangat mungkin mengindikasikan masalah pencatatan data tanggal pengiriman dan penerimaan, atau perbedaan zona waktu/periode data yang tidak konsisten, dan perlu diinvestigasi lebih lanjut. Anomali ini menghambat pemahaman akurat tentang efisiensi pengiriman akhir.

**Faktor-faktor yang Mempengaruhi Pemenuhan Pesanan**

Analisis hubungan antara status pemenuhan pesanan (`Status RO`) dengan berbagai kategori kunci memberikan wawasan strategis:

*   **Status Pemenuhan berdasarkan Produk Pharos (`Pharos YN`)**:
    ```mermaid
    xychart-beta
    title "Status Pemenuhan (Status RO) berdasarkan Flag Produk Pharos"
    x-axis ["CANCEL", "TERLAYANI PENUH"]
    y-axis "Jumlah Catatan" auto --> auto
    bar [920, 58381]
    bar [820, 71194]
    barLabels ["Pharos Y", "Pharos N"]
    ```
    Produk Pharos (`Pharos Y`) memiliki 920 catatan pesanan yang dibatalkan berbanding 58,381 yang terlayani penuh. Sementara itu, produk Non-Pharos (`Pharos N`) memiliki 820 catatan dibatalkan dan 71,194 terlayani penuh. Proporsi pembatalan relatif serupa antara kedua jenis produk, menunjukkan bahwa kepemilikan merek Pharos Grup mungkin tidak secara signifikan memengaruhi tingkat pembatalan pesanan.

*   **Status Pemenuhan berdasarkan Partisipasi Apotek Online (`AO YN`)**:
    ```mermaid
    xychart-beta
    title "Status Pemenuhan (Status RO) berdasarkan Flag Partisipasi Apotek Online"
    x-axis ["CANCEL", "TERLAYANI PENUH"]
    y-axis "Jumlah Catatan" auto --> auto
    bar [595, 48136]
    bar [1145, 81439]
    barLabels ["AO Y", "AO N"]
    ```
    Outlet yang berpartisipasi dalam program Apotek Online (`AO Y`) memiliki 595 catatan yang dibatalkan dibandingkan 48,136 yang terlayani penuh. Sebaliknya, outlet non-partisipan (`AO N`) mencatat 1,145 pembatalan dan 81,439 terlayani penuh. Secara proporsional, tingkat pembatalan tampak sedikit lebih rendah untuk outlet yang berpartisipasi dalam Apotek Online.

*   **Rata-rata Nilai RO dan PL berdasarkan Status Pemenuhan**:
    ```mermaid
    xychart-beta
    title "Rata-rata Nilai RO dan Value PL berdasarkan Status Pemenuhan"
    x-axis ["CANCEL", "TERLAYANI PENUH"]
    y-axis "Rata-rata Nilai" auto --> auto
    bar [303984.83, 425089.5]
    bar [145203.0, 425089.5]
    barLabels ["Rata-rata Value RO", "Rata-rata Value PL"]
    ```
    Pesanan yang dibatalkan memiliki rata-rata `Value RO` sebesar 303,984.83 dan rata-rata `Value PL` sebesar 145,203.0. Hal ini menunjukkan bahwa pesanan yang dibatalkan mungkin hanya sebagian kecil yang sempat masuk proses `PL` atau nilai yang dilayani sangat rendah. Sementara itu, pesanan yang "TERLAYANI PENUH" memiliki rata-rata `Value RO` dan `Value PL` yang sama, yaitu 425,089.5, sesuai dengan definisi `TERLAYANI PENUH`. Perbedaan signifikan antara `Value RO` dan `Value PL` pada pesanan yang dibatalkan menyoroti potensi kerugian penjualan yang tidak tertangani.

*   **Status Pemenuhan berdasarkan Metode Pembayaran (`Payment`)**:
    ```mermaid
    xychart-beta
    title "Status Pemenuhan (Status RO) berdasarkan Metode Pembayaran"
    x-axis ["CANCEL", "TERLAYANI PENUH"]
    y-axis "Jumlah Catatan" auto --> auto
    bar [911, 77942]
    bar [262, 15454]
    bar [0, 131]
    bar [567, 36048]
    barLabels ["BCA Virtual Account", "BRIVA", "Kredivo", "Term Of Payment"]
    ```
    Metode pembayaran "BCA Virtual Account" memiliki pembatalan tertinggi (911 catatan) namun juga volume pesanan terlayani penuh tertinggi (77,942 catatan). "Kredivo" menunjukkan nol pembatalan, meskipun dengan volume pesanan yang lebih kecil (131 catatan terlayani penuh). "Term Of Payment" memiliki tingkat pembatalan yang signifikan (567 catatan) dibandingkan dengan pesanan terlayani penuh (36,048 catatan). Analisis lebih lanjut diperlukan untuk memahami faktor-faktor yang menyebabkan perbedaan tingkat pembatalan antar metode pembayaran ini.

**Rekomendasi Awal**

Berdasarkan temuan-temuan di atas, berikut adalah rekomendasi awal untuk meningkatkan kualitas data dan kinerja operasional:

1.  **Validasi & Pembersihan Data Prioritas**: Segera investigasi dan perbaiki anomali pada:
    *   Data `Cmc` yang 'UNKNOWN' untuk memastikan semua outlet memiliki pengidentifikasi yang lengkap.
    *   Ketidaksesuaian "1 SP menerbitkan 1 DO" untuk 126 `No. SP` yang tidak memiliki `No. DO`.
    *   Perbedaan antara `Qty RO` dan `Qty SP` pada 2,087 catatan.
    *   Anomali `Value PL > Value RO` pada 1,032 catatan, karena ini berdampak langsung pada akurasi nilai transaksi dan potensi audit.
    *   Nilai negatif pada rata-rata waktu "Ekspedisi ke Penerimaan", yang menunjukkan masalah fundamental dalam pencatatan tanggal logistik.
2.  **Analisis Akar Masalah Anomali Nilai & Kuantitas**: Lakukan penyelidikan mendalam untuk memahami mengapa `Value PL` bisa lebih besar dari `Value RO` dan mengapa `Qty RO` tidak selalu sama dengan `Qty SP`. Ini mungkin menunjukkan masalah pada proses entri pesanan, perubahan pesanan, atau sistem pencatatan.
3.  **Optimalisasi Proses Logistik**: Setelah anomali `Tgl Ekspedisi` vs `Tgl Diterima` diperbaiki, analisis ulang waktu tunggu pengiriman untuk mengidentifikasi bottleneck di tahap akhir logistik.
4.  **Strategi Pemenuhan Berbasis Kategori**:
    *   Selidiki lebih lanjut mengapa ada perbedaan tingkat pembatalan dan pemenuhan antara produk Pharos dan Non-Pharos, serta antara outlet Apotek Online dan non-Apotek Online.
    *   Analisis performa setiap metode pembayaran secara mendalam untuk mengidentifikasi praktik terbaik atau area yang membutuhkan intervensi (misalnya, mengapa "Kredivo" memiliki tingkat pembatalan nol, dan mengapa "BCA Virtual Account" serta "Term Of Payment" memiliki volume pembatalan yang relatif tinggi).
5.  **Pengembangan Metrik Kualitas Data**: Tetapkan metrik kualitas data untuk memantau konsistensi data pengidentifikasi pelanggan, dokumen pesanan, kuantitas, dan nilai secara berkelanjutan untuk mencegah terulangnya anomali serupa di masa mendatang.

## 2. Pendahuluan

Analisis eksplorasi data ini merupakan bagian integral dari upaya kami untuk memahami secara mendalam dinamika pemenuhan pesanan pelanggan. Dengan menganalisis data transaksi yang komprehensif, tujuan utama kami adalah mengidentifikasi pola, anomali, dan wawasan tersembunyi yang dapat digunakan untuk mengoptimalkan kinerja operasional, meningkatkan penjualan, dan memahami korelasi antara produk dengan proses pemenuhan. Kami berkomitmen untuk melakukan analisis data secara kritis guna mendukung pengambilan keputusan strategis yang lebih baik.

### Gambaran Umum Dataset

Dataset yang digunakan dalam laporan ini merepresentasikan catatan transaksi pemenuhan pesanan pelanggan, mencakup seluruh siklus dari tahap pemesanan awal hingga barang diterima oleh pelanggan. Data ini berasal dari tabel `omg_10003_b1_sheet1` dan berisi total 131,315 baris data, di mana setiap baris mencatat detail suatu item produk dalam suatu pesanan. Proses pemenuhan pesanan secara garis besar mengikuti alur: Pesanan Berulang (RO - *Repeat Order*), yang kemudian menghasilkan Surat Pesanan (SP), dilanjutkan dengan Surat Jalan (DO - *Delivery Order*), Daftar Pengepakan (PL - *Packing List*), dan akhirnya proses pengiriman hingga barang diterima pelanggan. Setiap tahapan ini direkam dengan informasi kuantitas, nilai, dan waktu yang spesifik.

### Tinjauan Kualitas Data Awal

Sebelum melakukan analisis mendalam, pemeriksaan awal terhadap kualitas data sangat krusial. Beberapa anomali dan ketidaksesuaian dengan aturan bisnis yang telah diklarifikasi oleh tim operasional berhasil diidentifikasi:

#### Identifikasi Pelanggan

Berdasarkan klarifikasi, kolom `KodePI`, `OutCode`, dan `Cmc` seharusnya berfungsi sebagai pengidentifikasi unik untuk setiap outlet pelanggan yang sama. Namun, ditemukan adanya perbedaan jumlah nilai unik: `KodePI` dan `OutCode` masing-masing memiliki 5,062 nilai unik, sementara `Cmc` hanya memiliki 4,698 nilai unik. Investigasi lebih lanjut menunjukkan bahwa perbedaan ini sebagian besar disebabkan oleh 365 `KodePI` yang memiliki `Cmc` dengan nilai 'UNKNOWN', bukan karena adanya ketidakkonsistenan pemetaan satu-ke-satu. Artinya, ada beberapa outlet yang informasi `Cmc`-nya tidak tercatat dengan lengkap. Hal ini dapat menghambat analisis segmentasi pelanggan yang akurat atau penggabungan data dari sumber lain yang menggunakan `Cmc` sebagai kunci utama.

#### Hubungan Dokumen Pesanan

Klarifikasi bisnis menyatakan bahwa "1 SP menerbitkan 1 DO". Namun, data menunjukkan adanya 23,615 `No. SP` unik, sementara hanya ada 23,490 `No. DO` unik. Analisis lebih dalam mengungkapkan bahwa 126 `No. SP` memiliki `No. DO` dengan nilai 'UNKNOWN', yang berarti terdapat 126 Surat Pesanan yang tidak terbit Surat Jalan. Anomali ini mengindikasikan adanya pesanan yang mungkin tidak terpenuhi atau proses administratif yang terhenti di tahap tertentu, yang berpotensi menyebabkan ketidakpuasan pelanggan atau kerugian penjualan. Sementara itu, hubungan "1 DO = 1 PL" terverifikasi dengan sangat baik, dengan jumlah `No. DO` dan `No. PL` yang sama persis (23,490) dan nilai yang identik di setiap baris, memperkuat bahwa setiap Surat Jalan selalu disertai dengan Daftar Pengepakan.

#### Inkonsistensi Kuantitas Pesanan

Aturan bisnis menyatakan bahwa "Qty SP selalu sama dengan Qty RO". Namun, data menunjukkan bahwa terdapat 2,087 baris (sekitar 1.6%) di mana `Qty RO` tidak sama dengan `Qty SP`. Secara spesifik, 86 baris memiliki `Qty SP` lebih besar dari `Qty RO`, sementara 2,001 baris memiliki `Qty RO` lebih besar dari `Qty SP`, dengan rata-rata perbedaan (Qty RO - Qty SP) sebesar 6.70 unit per item. Ketidaksesuaian ini menimbulkan pertanyaan serius tentang akurasi pencatatan pesanan awal dan proses konversi ke surat pesanan, yang berpotensi berdampak pada perencanaan stok dan kepuasan pelanggan.

Meskipun demikian, ketika membandingkan kuantitas yang dilayani oleh gudang (`Qty DO`) dengan kuantitas pada surat pesanan (`Qty SP`), seluruh 131,315 catatan menunjukkan 'Pemenuhan Kuantitas Penuh' (yaitu `Qty DO` sama dengan `Qty SP`). Ini berarti bahwa, untuk item-item yang masuk ke surat pesanan, gudang berhasil melayani seluruh kuantitas yang diminta dalam SP. Konsistensi `Qty DO` selalu kurang dari atau sama dengan `Qty SP` juga terverifikasi di seluruh data, sesuai logika bisnis pemenuhan pesanan.

Berikut adalah visualisasi distribusi pemenuhan kuantitas:
```mermaid
xychart-beta
title "Kategori Pemenuhan Kuantitas (Qty DO vs Qty SP)"
x-axis ["Pemenuhan Kuantitas Penuh", "Pemenuhan Kuantitas Sebagian", "Tidak Ada Pemenuhan Kuantitas", "Qty DO > Qty SP (Anomali)"]
y-axis "Jumlah Catatan" 0 --> auto
bar [131315, 0, 0, 0]
```

#### Anomali Nilai Transaksi

Klarifikasi bisnis menyatakan bahwa `Value PL` adalah nilai yang dilayani gudang dan `Value RO` adalah nilai pesanan outlet. Idealnya, `Value PL` akan sama atau lebih kecil dari `Value RO`. Namun, analisis awal mengungkap beberapa anomali signifikan terkait nilai transaksi:
*   **Pemenuhan Nilai Penuh**: Sebanyak 129,575 catatan menunjukkan `Value PL` sama dengan `Value RO`, yang mengindikasikan pemenuhan nilai pesanan secara penuh.
*   **Pemenuhan Nilai Sebagian**: Terdapat 708 catatan di mana `Value PL` lebih kecil dari `Value RO`, yang menandakan pemenuhan sebagian dari nilai pesanan.
*   **Anomali Value PL > Value RO**: Yang paling mengkhawatirkan adalah 1,032 catatan (sekitar 0.8%) di mana `Value PL` justru lebih besar dari `Value RO`. Untuk kasus-kasus ini, rata-rata persentase perbedaan `(Value PL - Value RO) / Value RO * 100` mencapai 2,655.5%. Anomali ini menimbulkan risiko serius terhadap akurasi laporan keuangan dan memerlukan investigasi segera untuk mengidentifikasi penyebabnya, baik itu kesalahan entri, penyesuaian pesanan yang tidak tercatat, atau masalah sistemik lainnya.

Distribusi kategori pemenuhan nilai dapat dilihat pada grafik berikut:
```mermaid
xychart-beta
title "Kategori Pemenuhan Nilai (Value PL vs Value RO)"
x-axis ["Pemenuhan Nilai Penuh", "Pemenuhan Nilai Sebagian", "Value PL > Value RO (Anomali)"]
y-axis "Jumlah Catatan" 0 --> auto
bar [129575, 708, 1032]
```

#### Isu Waktu Siklus (Lead Times)

Analisis waktu rata-rata antar tahapan proses pemenuhan pesanan menunjukkan efisiensi di banyak area, namun juga menyoroti satu anomali kritis. Waktu dari `Tgl. Order` ke `Tgl DO` (pembuatan surat jalan), `Tgl DO` ke `Tgl Logbook` (masuk area *staging*), dan `Tgl Logbook` ke `Tgl Ekspedisi` (dijemput kurir) relatif singkat (0.44 hari, 0.25 hari, dan 0.09 hari berturut-turut), menunjukkan proses internal yang cepat. Namun, terdapat rata-rata waktu negatif yang sangat signifikan (-484.08 hari) untuk tahapan `Tgl Ekspedisi` ke `Tgl Diterima` (diterima pelanggan). Nilai negatif ini mustahil secara fisik dan sangat mungkin disebabkan oleh kesalahan pencatatan tanggal, perbedaan zona waktu yang tidak terkelola, atau inkonsistensi format data. Anomali ini secara fundamental menghambat kemampuan kita untuk secara akurat mengukur efisiensi pengiriman akhir dan pengalaman pelanggan.

```mermaid
xychart-beta
title "Rata-rata Waktu Siklus (Hari) - Hanya Entri Valid"
x-axis ["Order ke Pembuatan DO", "Pembuatan DO ke Logbook", "Logbook ke Ekspedisi", "Ekspedisi ke Penerimaan"]
y-axis "Rata-rata Hari" auto --> auto
bar [0.44, 0.25, 0.09, -484.08]
```

### Langkah Pra-pemrosesan Data

Untuk memastikan keandalan dan akurasi analisis, serangkaian langkah pra-pemrosesan data yang sistematis telah dilakukan. Ini meliputi penghapusan baris duplikat yang identik, pengisian nilai-nilai yang hilang (misalnya, dengan 'UNKNOWN' untuk kolom kategori atau nilai median untuk kolom numerik), dan konversi kolom tanggal ke format `datetime` yang sesuai. Secara khusus, nilai-nilai `NaT` (Not a Time) pada kolom tanggal telah diisi dengan tanggal *placeholder* '1900-01-01 00:00:00' untuk memungkinkan perhitungan *lead time* yang konsisten, sambil secara jelas menandai data yang tidak valid. Upaya pembersihan ini krusial untuk menghasilkan wawasan yang akurat dan dapat ditindaklanjuti.

### Struktur Laporan Selanjutnya

Bab-bab berikutnya dalam laporan ini akan menyelami lebih dalam setiap temuan kualitas data yang telah diuraikan, mengkuantifikasi dampaknya terhadap bisnis, serta menganalisis pola pemenuhan pesanan berdasarkan berbagai dimensi seperti jenis produk (Pharos YN), partisipasi apotek online (AO YN), dan metode pembayaran. Kami juga akan mengidentifikasi potensi area untuk peningkatan operasional dan memberikan rekomendasi strategis untuk mendorong kinerja penjualan dan kepuasan pelanggan secara keseluruhan.

## 3. Kualitas Data & Pra-pemrosesan

Data yang bersih dan berkualitas tinggi adalah fondasi utama bagi setiap analisis yang akurat dan pengambilan keputusan yang efektif. Bab ini didedikasikan untuk menguraikan proses pemeriksaan kualitas data dan langkah-langkah pra-pemrosesan yang telah dilakukan pada dataset pemenuhan pesanan `omg_10003_b1_sheet1`. Kami akan membahas anomali yang ditemukan, bagaimana anomali tersebut ditangani, serta implikasinya terhadap integritas data dan wawasan bisnis.

### Pengantar Kualitas Data dan Pra-pemrosesan

Sebelum melangkah lebih jauh ke dalam analisis mendalam, penting untuk memastikan bahwa data yang digunakan bebas dari duplikasi, nilai yang hilang, atau format yang tidak konsisten. Pra-pemrosesan data adalah tahapan krusial yang melibatkan pembersihan, transformasi, dan validasi data untuk menjamin akurasi dan keandalan temuan. Proses ini tidak hanya memperbaiki masalah data secara langsung tetapi juga mengungkap pola inkonsistensi yang mungkin mengindikasikan masalah pada proses bisnis atau sistem pencatatan.

### Langkah-langkah Pra-pemrosesan Data yang Dilakukan

Serangkaian langkah pra-pemrosesan telah diterapkan pada dataset dengan total awal 131,315 catatan untuk menyiapkan data agar siap dianalisis:

1.  **Penanganan Duplikasi**: Pemeriksaan awal tidak menemukan baris duplikat persis dalam dataset, yang menunjukkan integritas unik setiap catatan transaksi.
2.  **Penanganan Nilai yang Hilang (Missing Values)**:
    *   **Kolom Kategorikal**: Nilai yang hilang dalam kolom kategorikal diisi dengan 'UNKNOWN'. Contohnya, 131,315 nilai kosong di kolom `Keterangan` dan `Nama Penerima` diisi, serta 5,468 nilai kosong di kolom `Cmc`, 7 nilai kosong di `Divisi`, dan sejumlah nilai kosong lainnya di `No. DO`, `Tgl DO`, `No. PL`, `Tgl. PL`, `Tgl Logbook`, `Tgl Ekspedisi`, `Kel. Class`, `Nomor Resi`, `Nama Ekspedisi`, dan `Tgl Diterima`. Selain itu, 23 nilai string 'nan' pada kolom `OutCode` yang muncul dari konversi data juga diganti dengan 'UNKNOWN' untuk konsistensi.
    *   **Kolom Numerik**: Untuk kolom numerik seperti `Value PL`, 1,740 nilai yang hilang diisi menggunakan nilai median dari kolom tersebut (145,203.0) untuk menjaga distribusi data.
3.  **Konversi Tipe Data**: Semua kolom tanggal (seperti `Tgl. Order`, `Tgl. SP`, `Tgl DO`, `Tgl. PL`, `Tgl Logbook`, `Tgl Ekspedisi`, `Tgl Diterima`, `Lastupdate`) dikonversi ke format `datetime`. Jika ada nilai yang tidak dapat dikonversi menjadi tanggal (`NaT`), nilai tersebut diganti dengan tanggal *placeholder* '1900-01-01 00:00:00'. Ini mencakup 365 `NaT` di `Tgl DO` dan `Tgl. PL`, 585 `NaT` di `Tgl Logbook`, 460 `NaT` di `Tgl Ekspedisi`, dan 10,385 `NaT` di `Tgl Diterima`. Konversi ini penting untuk memungkinkan perhitungan *lead time* yang akurat.

Langkah-langkah ini memastikan bahwa setiap kolom memiliki tipe data yang sesuai dan nilai yang hilang telah ditangani secara sistematis, sehingga meminimalkan bias dalam analisis berikutnya.

### Analisis Kualitas Data dan Anomali Utama

Meskipun telah dilakukan pra-pemrosesan, pemeriksaan mendalam terhadap integritas data dan kepatuhan terhadap aturan bisnis (berdasarkan klarifikasi pengguna) mengungkapkan beberapa anomali penting:

#### 1. Konsistensi Identifikasi Pelanggan

Klarifikasi bisnis menyebutkan bahwa `KodePI`, `OutCode`, dan `Cmc` adalah pengidentifikasi unik untuk *outlet* pelanggan yang sama. Analisis awal menunjukkan:
*   Jumlah `KodePI` unik: 5,062
*   Jumlah `OutCode` unik: 5,062
*   Jumlah `Cmc` unik: 4,698

Perbedaan jumlah unik `Cmc` ini awalnya tampak seperti anomali. Namun, setelah pemeriksaan lebih lanjut (mengabaikan nilai 'UNKNOWN' yang telah diisi), ditemukan bahwa:
*   Tidak ada `KodePI` unik yang memetakan ke lebih dari satu `OutCode`.
*   Tidak ada `OutCode` unik yang memetakan ke lebih dari satu `KodePI`.
*   Tidak ada `KodePI` unik yang memetakan ke lebih dari satu `Cmc`.
*   Tidak ada `Cmc` unik yang memetakan ke lebih dari satu `KodePI`.

**Insight Bisnis & Anomali**: Konsistensi pemetaan satu-ke-satu antar pengidentifikasi ini terkonfirmasi, kecuali adanya 365 `KodePI` unik yang memiliki nilai `Cmc` sebagai 'UNKNOWN'. Ini menunjukkan bahwa masalahnya bukan pada inkonsistensi pemetaan, melainkan pada kelengkapan data `Cmc` untuk sejumlah *outlet*. Data `Cmc` yang tidak lengkap ini dapat menghambat segmentasi pelanggan yang akurat atau penggabungan data jika `Cmc` digunakan sebagai kunci di sistem lain.

#### 2. Integritas Hubungan Dokumen Pesanan

Alur proses bisnis menyatakan hubungan yang jelas antar dokumen: "1 RO bisa membentuk beberapa SP", "1 SP menerbitkan 1 DO", dan "1 DO = 1 PL".
*   **`No. RO` vs `No. SP`**:
    *   Jumlah `No. RO` unik: 20,645
    *   Jumlah `No. SP` unik: 23,615
    *   **Terverifikasi**: Jumlah `No. SP` lebih besar dari `No. RO` sesuai dengan aturan bahwa satu `RO` dapat menghasilkan beberapa `SP`.
*   **`No. SP` vs `No. DO`**:
    *   Jumlah `No. SP` unik: 23,615
    *   Jumlah `No. DO` unik: 23,490
    *   **Anomali**: Jumlah `No. DO` unik tidak sama dengan `No. SP` unik. Investigasi lebih lanjut menunjukkan bahwa 126 `No. SP` unik (tidak termasuk 'UNKNOWN') memiliki `No. DO` dengan nilai 'UNKNOWN'. Ini secara langsung bertentangan dengan aturan "1 SP menerbitkan 1 DO".
    *   **Insight Bisnis**: Anomali ini sangat kritis. Adanya 126 `No. SP` tanpa `No. DO` mengindikasikan bahwa ada 126 Surat Pesanan yang tidak berhasil dilayani atau diproses lebih lanjut hingga tahap pengiriman. Hal ini dapat berujung pada pesanan yang terlewat, penundaan, pembatalan yang tidak tercatat, atau masalah sistemik dalam alur pemenuhan. Perusahaan berisiko kehilangan penjualan atau menghadapi ketidakpuasan pelanggan akibat anomali ini.
*   **`No. DO` vs `No. PL`**:
    *   Jumlah `No. DO` unik: 23,490
    *   Jumlah `No. PL` unik: 23,490
    *   **Terverifikasi**: Jumlah uniknya sama, dan pemeriksaan data menunjukkan bahwa `No. DO` dan `No. PL` identik di semua 131,315 baris. Ini mendukung aturan "1 DO = 1 PL".

#### 3. Akurasi Kuantitas Pesanan

Klarifikasi bisnis menyatakan bahwa "Qty SP selalu sama dengan Qty RO" dan "Qty DO adalah qty yang dilayani oleh gudang (bisa sama atau lebih sedikit daripada qty SP)".
*   **`Qty RO` vs `Qty SP`**:
    *   **Anomali**: Ditemukan 2,087 baris (sekitar 1.6% dari total) di mana `Qty RO` tidak sama dengan `Qty SP`.
        *   Dari jumlah tersebut, 86 baris memiliki `Qty SP` lebih besar dari `Qty RO`.
        *   Sebanyak 2,001 baris memiliki `Qty RO` lebih besar dari `Qty SP`.
        *   Rata-rata perbedaan absolut antara `Qty RO` dan `Qty SP` untuk kasus-kasus ini adalah sekitar 7 unit.
    *   **Insight Bisnis**: Ketidaksesuaian ini merupakan indikasi serius adanya masalah pada tahap penerimaan pesanan atau konversi pesanan. Perbedaan kuantitas antara pesanan awal (RO) dan surat pesanan (SP) dapat menyebabkan ketidakakuratan inventaris, ketidakcocokan dalam perencanaan produksi, atau masalah penagihan di kemudian hari.
*   **`Qty DO` vs `Qty SP`**:
    *   **Terverifikasi**: `Qty DO` selalu kurang dari atau sama dengan `Qty SP` di seluruh dataset. Ini konsisten dengan logika bahwa kuantitas yang dikirim tidak boleh melebihi kuantitas yang dipesan.
    *   **Pemenuhan Kuantitas Penuh**: Analisis mendalam menunjukkan bahwa untuk setiap baris produk, `Qty DO` sama dengan `Qty SP`. Ini berarti gudang berhasil melayani seluruh kuantitas yang tercantum dalam Surat Pesanan.

Berikut adalah visualisasi distribusi pemenuhan kuantitas:
```mermaid
xychart-beta
title "Kategori Pemenuhan Kuantitas"
x-axis ["Pemenuhan Kuantitas Penuh", "Pemenuhan Kuantitas Sebagian", "Tidak Ada Pemenuhan Kuantitas", "Qty DO > Qty SP (Anomali)"]
y-axis "Jumlah Catatan" 0 --> auto
bar [131315, 0, 0, 0]
```

#### 4. Validitas Nilai Transaksi

Klarifikasi menyatakan bahwa `Value RO` adalah nilai pesanan *outlet* dan `Value PL` adalah nilai yang dilayani gudang. Logikanya, `Value PL` seharusnya sama dengan atau kurang dari `Value RO`.
*   **Anomali**: Terdapat 1,032 baris di mana `Value PL` lebih besar dari `Value RO`.
    *   Rata-rata persentase perbedaan `((Value PL - Value RO) / Value RO * 100)` untuk kasus-kasus ini sangat tinggi, yaitu 2,655.5%.
    *   **Insight Bisnis**: Ini adalah anomali finansial yang sangat serius. `Value PL` yang secara signifikan lebih tinggi dari `Value RO` dapat mengindikasikan:
        *   Kesalahan pencatatan harga atau kuantitas setelah pesanan awal.
        *   Penambahan item ke pesanan tanpa pembaruan `Value RO`.
        *   Masalah dalam perhitungan diskon atau pajak yang tidak konsisten antar tahapan.
        *   Potensi masalah audit dan ketidakakuratan laporan keuangan. Anomali ini memerlukan investigasi mendalam dan perbaikan proses yang mendesak.

Distribusi kategori pemenuhan nilai ditunjukkan pada grafik berikut:
```mermaid
xychart-beta
title "Kategori Pemenuhan Nilai"
x-axis ["Pemenuhan Nilai Penuh", "Pemenuhan Nilai Sebagian", "Value PL > Value RO (Anomali)"]
y-axis "Jumlah Catatan" 0 --> auto
bar [129575, 708, 1032]
```

#### 5. Konsistensi Pencatatan Waktu Siklus (Lead Times)

Analisis *lead time* antara berbagai tahapan proses pemenuhan pesanan telah dilakukan.
*   `Tgl. Order` ke `Tgl DO`: Rata-rata 0.44 hari
*   `Tgl DO` ke `Tgl Logbook`: Rata-rata 0.25 hari
*   `Tgl Logbook` ke `Tgl Ekspedisi`: Rata-rata 0.09 hari
*   `Tgl Ekspedisi` ke `Tgl Diterima`: Rata-rata -484.08 hari

**Anomali**: Nilai negatif yang sangat besar pada *lead time* dari `Tgl Ekspedisi` ke `Tgl Diterima` adalah anomali data yang signifikan. Nilai ini secara fisik tidak mungkin dan mengindikasikan masalah serius dalam pencatatan tanggal, baik karena kesalahan entri, perbedaan zona waktu, atau inkonsistensi data. Penanganan nilai `NaT` dengan tanggal *placeholder* '1900-01-01 00:00:00' untuk `Tgl Diterima` (sebanyak 10,385 entri) kemungkinan besar menjadi penyebab utama anomali ini, karena tanggal *placeholder* tersebut jauh di masa lalu.
*   **Insight Bisnis**: Anomali ini menghalangi kemampuan kita untuk secara akurat mengukur efisiensi pengiriman akhir, kinerja kurir, dan pengalaman pelanggan. Tanpa data tanggal penerimaan yang valid, analisis kepuasan pelanggan terkait waktu pengiriman akan sangat bias.

Berikut adalah visualisasi rata-rata waktu siklus:
```mermaid
xychart-beta
title "Rata-rata Waktu Siklus (Hari) - Hanya Entri Valid"
x-axis ["Order ke Pembuatan DO", "Pembuatan DO ke Logbook", "Logbook ke Ekspedisi", "Ekspedisi ke Penerimaan"]
y-axis "Rata-rata Hari" auto --> auto
bar [0.44, 0.25, 0.09, -484.08]
```

#### 6. Analisis Lanjutan Hubungan Bisnis (Perspektif Kualitas Data)

Meskipun analisis mendalam tentang hubungan bisnis akan dibahas di bab selanjutnya, penting untuk dicatat bagaimana kualitas data dapat memengaruhi interpretasi temuan tersebut.

*   **Status Pemenuhan (`Status RO`) berdasarkan Flag Produk Pharos (`Pharos YN`)**:
    *   Distribusi pesanan `CANCEL` vs `TERLAYANI PENUH` untuk produk Pharos (Y) dan Non-Pharos (N) memberikan gambaran awal, namun keakuratan data `Status RO` (seperti yang ditunjukkan oleh `Value PL > Value RO` anomali) penting untuk validitas analisis ini.
    ```mermaid
    xychart-beta
    title "Status Pemenuhan (Status RO) berdasarkan Flag Produk Pharos"
    x-axis ["CANCEL", "TERLAYANI PENUH"]
    y-axis "Jumlah Catatan" auto --> auto
    bar [920, 58381]
    bar [820, 71194]
    barLabels ["Pharos Y", "Pharos N"]
    ```
*   **Status Pemenuhan (`Status RO`) berdasarkan Partisipasi Apotek Online (`AO YN`)**:
    *   Perbandingan kinerja `AO Y` dan `AO N` juga bergantung pada integritas data `Status RO`.
    ```mermaid
    xychart-beta
    title "Status Pemenuhan (Status RO) berdasarkan Flag Partisipasi Apotek Online"
    x-axis ["CANCEL", "TERLAYANI PENUH"]
    y-axis "Jumlah Catatan" auto --> auto
    bar [595, 48136]
    bar [1145, 81439]
    barLabels ["AO Y", "AO N"]
    ```
*   **Rata-rata `Value RO` dan `Value PL` berdasarkan `Status RO`**:
    *   Tabel ini secara jelas menunjukkan bahwa untuk `TERLAYANI PENUH`, `Value RO` dan `Value PL` sama, namun untuk `CANCEL`, `Value RO` jauh lebih besar dari `Value PL`. Anomali `Value PL > Value RO` yang telah dibahas juga akan memengaruhi angka rata-rata ini jika tidak ditangani.
    ```mermaid
    xychart-beta
    title "Rata-rata Nilai RO dan Value PL berdasarkan Status Pemenuhan"
    x-axis ["CANCEL", "TERLAYANI PENUH"]
    y-axis "Rata-rata Nilai" auto --> auto
    bar [303984.83, 425089.5]
    bar [145203.0, 425089.5]
    barLabels ["Rata-rata Value RO", "Rata-rata Value PL"]
    ```
*   **Status Pemenuhan (`Status RO`) berdasarkan Metode Pembayaran (`Payment`)**:
    *   Analisis performa tiap metode pembayaran juga memerlukan data `Status RO` yang akurat.
    ```mermaid
    xychart-beta
    title "Status Pemenuhan (Status RO) berdasarkan Metode Pembayaran"
    x-axis ["CANCEL", "TERLAYANI PENUH"]
    y-axis "Jumlah Catatan" auto --> auto
    bar [911, 77942]
    bar [262, 15454]
    bar [0, 131]
    bar [567, 36048]
    barLabels ["BCA Virtual Account", "BRIVA", "Kredivo", "Term Of Payment"]
    ```

### Rekomendasi untuk Peningkatan Kualitas Data

Berdasarkan anomali yang teridentifikasi, berikut adalah rekomendasi untuk meningkatkan kualitas data dan integritas proses bisnis:

1.  **Investigasi dan Perbaikan `Cmc` 'UNKNOWN'**: Lakukan penyelidikan mengapa 365 `KodePI` memiliki `Cmc` yang tidak diketahui. Perbarui data `Cmc` yang hilang untuk memastikan setiap *outlet* memiliki identifikasi yang lengkap.
2.  **Audit `No. SP` Tanpa `No. DO`**: Selidiki 126 `No. SP` yang tidak memiliki `No. DO`. Pahami apakah ini adalah *SP* yang dibatalkan, *SP* yang tertunda, atau kesalahan pencatatan. Perbarui `Status DO` atau `Sts SP Header/Detail` untuk merefleksikan status sebenarnya jika tidak ada DO yang diterbitkan.
3.  **Rekonsiliasi `Qty RO` dan `Qty SP`**: Periksa akar masalah di balik 2,087 ketidaksesuaian antara `Qty RO` dan `Qty SP`. Ini mungkin memerlukan tinjauan proses entri pesanan, modifikasi pesanan, atau sistem yang digunakan untuk mencatat kedua kuantitas tersebut. Implementasikan validasi otomatis untuk mencegah ketidaksesuaian di masa mendatang.
4.  **Investigasi Anomali `Value PL > Value RO`**: Ini adalah prioritas tinggi. Lakukan audit pada 1,032 catatan di mana `Value PL` lebih tinggi dari `Value RO`. Tentukan apakah ini disebabkan oleh:
    *   Perubahan pesanan yang tidak tercatat.
    *   Kesalahan entri harga/kuantitas.
    *   Masalah perhitungan diskon/promosi.
    *   Perbedaan pemrosesan PPN atau pajak.
    Perbaiki data yang salah dan perkuat kontrol proses untuk mencegah kejadian serupa.
5.  **Perbaikan Pencatatan Tanggal Logistik**: Segera selesaikan masalah `Tgl Diterima` yang mengarah ke *lead time* negatif. Ini mungkin melibatkan:
    *   Memastikan format input tanggal yang konsisten.
    *   Memperbaiki data `Tgl Diterima` yang salah atau hilang.
    *   Mempertimbangkan penggunaan nilai `NULL` (bukan *placeholder* tanggal) untuk tanggal yang benar-benar tidak diketahui, atau menggunakan *placeholder* yang tidak akan mengganggu perhitungan (*e.g.*, tanggal di masa depan yang sangat jauh) jika *NULL* tidak diizinkan.
    *   Mengimplementasikan validasi untuk memastikan `Tgl Diterima` selalu setelah `Tgl Ekspedisi`.
6.  **Penerapan Aturan Validasi Data Otomatis**: Pertimbangkan untuk menerapkan aturan validasi data otomatis pada titik masuk data (misalnya, `Qty SP` harus sama dengan `Qty RO` kecuali ada penyesuaian yang disetujui, `Value PL` tidak boleh melebihi `Value RO`, `Tgl Diterima` harus setelah `Tgl Ekspedisi`).
7.  **Pelatihan Pengguna dan Dokumentasi Proses**: Berikan pelatihan kepada staf yang bertanggung jawab atas entri data dan proses pemenuhan untuk memastikan pemahaman yang konsisten tentang definisi kolom dan alur kerja. Perbarui dokumentasi proses untuk mencerminkan praktik terbaik dalam pencatatan data.

Dengan mengatasi masalah kualitas data ini, analisis selanjutnya akan memiliki dasar yang lebih kuat, memungkinkan wawasan bisnis yang lebih akurat dan dapat ditindaklanjuti untuk meningkatkan kinerja operasional dan kepuasan pelanggan.

## 4. Tinjauan Umum Data

Setelah menelaah kualitas data dan langkah-langkah pra-pemrosesan yang telah dilakukan, bab ini akan menyajikan tinjauan umum data pemenuhan pesanan secara lebih mendalam. Kita akan mengeksplorasi struktur data, mengidentifikasi pola-pola kunci, serta mengulas kembali anomali yang ditemukan dari perspektif bisnis untuk memahami implikasinya terhadap operasional, penjualan, dan strategi produk. Data ini merupakan cerminan dari 131,315 catatan transaksi yang mencakup seluruh alur pemenuhan pesanan, mulai dari pemesanan hingga penerimaan barang.

#### 4.1 Identifikasi Pelanggan dan Struktur Dokumen Pesanan

Analisis terhadap pengidentifikasi unik pelanggan dan nomor dokumen pesanan adalah langkah krusial untuk memahami volume transaksi dan konsistensi alur proses.

**Pengidentifikasi Pelanggan:**
Data memiliki tiga kolom yang seharusnya berfungsi sebagai pengidentifikasi unik untuk setiap *outlet* pelanggan: `KodePI`, `OutCode`, dan `Cmc`.

| Pengidentifikasi | Jumlah Unik |
| :--------------- | :---------- |
| KodePI           | 5,062       |
| OutCode          | 5,062       |
| Cmc              | 4,698       |

**Insight Bisnis & Anomali:** Sesuai klarifikasi bisnis, `KodePI`, `OutCode`, dan `Cmc` seharusnya merepresentasikan *outlet* yang sama. Meskipun `KodePI` dan `OutCode` memiliki jumlah unik yang sama, `Cmc` menunjukkan jumlah yang lebih rendah. Investigasi lanjutan menegaskan bahwa tidak ada `KodePI` atau `OutCode` yang memetakan ke lebih dari satu `Cmc` (dan sebaliknya), mengonfirmasi integritas pemetaan satu-ke-satu. Anomali ini terutama disebabkan oleh 365 `KodePI` yang memiliki nilai `Cmc` 'UNKNOWN'. Ini berarti untuk 365 *outlet* tersebut, informasi `Cmc` tidak tercatat dengan lengkap. Ketidaklengkapan ini dapat menghambat segmentasi pelanggan yang lebih granular atau integrasi data dengan sistem lain yang bergantung pada `Cmc` sebagai kunci.

**Dokumen Pesanan:**
Proses pemenuhan pesanan melibatkan serangkaian dokumen: *Repeat Order* (RO), Surat Pesanan (SP), *Delivery Order* (DO), dan *Packing List* (PL). Hubungan antar dokumen ini telah diklarifikasi: "1 RO bisa membentuk beberapa SP", "1 SP menerbitkan 1 DO", dan "1 DO = 1 PL".

| Dokumen | Jumlah Unik |
| :------ | :---------- |
| No. RO  | 20,645      |
| No. SP  | 23,615      |
| No. DO  | 23,490      |
| No. PL  | 23,490      |

**Insight Bisnis & Anomali:**
*   **RO vs SP**: Jumlah `No. SP` (23,615) lebih banyak dari `No. RO` (20,645), yang konsisten dengan aturan bahwa satu pesanan awal (RO) dapat dipecah menjadi beberapa Surat Pesanan (SP) untuk kebutuhan logistik.
*   **SP vs DO**: Ditemukan anomali signifikan di mana jumlah `No. DO` unik (23,490) tidak sama dengan jumlah `No. SP` unik (23,615). Secara spesifik, 126 `No. SP` unik memiliki `No. DO` 'UNKNOWN'. Ini berarti ada 126 Surat Pesanan yang tidak berhasil menerbitkan Surat Jalan, bertentangan dengan aturan bisnis "1 SP menerbitkan 1 DO". Anomali ini mengindikasikan adanya pesanan yang mungkin tidak terpenuhi, tertunda, atau dibatalkan tanpa jejak dokumen pengiriman, yang berpotensi menyebabkan kerugian penjualan dan ketidakpuasan pelanggan.
*   **DO vs PL**: Jumlah `No. DO` unik sama persis dengan `No. PL` unik, dan nilai-nilai kedua kolom ini identik di semua catatan. Ini sepenuhnya mengkonfirmasi aturan "1 DO = 1 PL".

#### 4.2 Kuantitas Pesanan dan Tingkat Pemenuhan

Analisis kuantitas pesanan (`Qty RO`, `Qty SP`, `Qty DO`) memberikan gambaran tentang konsistensi pesanan di berbagai tahapan dan efisiensi gudang dalam melayani permintaan.

**Kuantitas Pesanan (`Qty RO` vs `Qty SP`):**
Aturan bisnis menyatakan "Qty SP selalu sama dengan Qty RO". Namun, ditemukan inkonsistensi:
*   Total baris di mana `Qty RO` tidak sama dengan `Qty SP`: 2,087
    *   Jumlah baris di mana `Qty SP` lebih besar dari `Qty RO`: 86
    *   Jumlah baris di mana `Qty RO` lebih besar dari `Qty SP`: 2,001
*   Rata-rata perbedaan absolut antara `Qty RO` dan `Qty SP` untuk kasus-kasus ini adalah sekitar 7 unit.

**Insight Bisnis & Anomali:** Ketidaksesuaian `Qty RO` dan `Qty SP` pada 2,087 catatan menunjukkan masalah serius pada tahap penerimaan pesanan atau konversi pesanan. Perbedaan kuantitas antara pesanan awal dan surat pesanan dapat menimbulkan masalah akurasi inventaris, perencanaan produksi yang salah, dan potensi masalah penagihan. Hal ini perlu diinvestigasi untuk mengidentifikasi apakah ini merupakan kesalahan entri manual, perubahan pesanan yang tidak sinkron, atau isu sistem.

**Kuantitas yang Dilayani (`Qty DO` vs `Qty SP`):**
Meskipun ada masalah antara `Qty RO` dan `Qty SP`, data menunjukkan bahwa `Qty DO` selalu kurang dari atau sama dengan `Qty SP` di seluruh dataset. Bahkan, semua 131,315 catatan menunjukkan pemenuhan kuantitas penuh, di mana `Qty DO` sama dengan `Qty SP`.

```mermaid
xychart-beta
title "Kategori Pemenuhan Kuantitas"
x-axis ["Pemenuhan Kuantitas Penuh", "Pemenuhan Kuantitas Sebagian", "Tidak Ada Pemenuhan Kuantitas", "Qty DO > Qty SP (Anomali)"]
y-axis "Jumlah Catatan" 0 --> auto
bar [131315, 0, 0, 0]
```

**Insight Bisnis:** Fakta bahwa seluruh catatan menunjukkan "Pemenuhan Kuantitas Penuh" pada tingkat `Qty DO` versus `Qty SP` adalah indikator positif efisiensi operasional gudang dalam melayani *item* yang telah masuk dalam Surat Pesanan. Ini berarti, begitu pesanan mencapai tahap SP, gudang sangat efektif dalam mengirimkan seluruh kuantitas yang diminta. Namun, ini tidak menghilangkan kekhawatiran tentang inkonsistensi antara `Qty RO` dan `Qty SP` yang terjadi sebelumnya dalam alur proses.

#### 4.3 Nilai Transaksi dan Tingkat Pemenuhan

Analisis `Value RO` (nilai pesanan awal) dan `Value PL` (nilai yang dilayani gudang) sangat penting untuk memahami implikasi finansial dari proses pemenuhan pesanan.

**Nilai Transaksi (`Value PL` vs `Value RO`):**
Secara logis, `Value PL` seharusnya sama dengan atau kurang dari `Value RO`.

| Kategori Pemenuhan Nilai   | Jumlah Catatan |
| :------------------------- | :------------- |
| Pemenuhan Nilai Penuh      | 129,575        |
| Pemenuhan Nilai Sebagian   | 708            |
| Value PL > Value RO (Anomali) | 1,032          |

```mermaid
xychart-beta
title "Kategori Pemenuhan Nilai"
x-axis ["Pemenuhan Nilai Penuh", "Pemenuhan Nilai Sebagian", "Value PL > Value RO (Anomali)"]
y-axis "Jumlah Catatan" 0 --> auto
bar [129575, 708, 1032]
```

**Insight Bisnis & Anomali:**
*   **Pemenuhan Nilai Penuh**: Mayoritas catatan (129,575) menunjukkan `Value PL` sama dengan `Value RO`, yang sangat baik.
*   **Pemenuhan Nilai Sebagian**: Terdapat 708 catatan di mana `Value PL` lebih kecil dari `Value RO`. Ini menunjukkan situasi di mana tidak semua pesanan awal dapat dipenuhi nilainya, mungkin karena stok habis atau pembatalan sebagian.
*   **`Value PL > Value RO`**: Anomali ini sangat kritis, ditemukan pada 1,032 catatan. `Value PL` (nilai yang dilayani) yang lebih besar dari `Value RO` (nilai pesanan awal) adalah mustahil secara logis dalam alur bisnis normal tanpa adanya penambahan pesanan yang tercermin dalam `RO`. Rata-rata persentase perbedaan untuk kasus ini mencapai 2,655.5%. Ini dapat mengindikasikan:
    *   Kesalahan pencatatan harga atau kuantitas setelah pesanan awal.
    *   Penambahan item ke pesanan tanpa pembaruan yang tepat pada `Value RO`.
    *   Masalah dalam perhitungan diskon atau pajak yang tidak konsisten antar tahapan.
    *   Potensi masalah audit dan ketidakakuratan laporan keuangan. Anomali ini memerlukan investigasi mendalam dan perbaikan proses yang mendesak.

#### 4.4 Waktu Siklus Pesanan (Lead Times)

Efisiensi operasional sangat ditentukan oleh kecepatan pemrosesan pesanan. Analisis *lead time* antar tahapan (`Tgl. Order`, `Tgl. SP`, `Tgl DO`, `Tgl. PL`, `Tgl Logbook`, `Tgl Ekspedisi`, `Tgl Diterima`) mengidentifikasi potensi *bottleneck*.

```mermaid
xychart-beta
title "Rata-rata Waktu Siklus (Hari) - Hanya Entri Valid"
x-axis ["Order ke Pembuatan DO", "Pembuatan DO ke Logbook", "Logbook ke Ekspedisi", "Ekspedisi ke Penerimaan"]
y-axis "Rata-rata Hari" auto --> auto
bar [0.44, 0.25, 0.09, -484.08]
```

**Insight Bisnis & Anomali:**
*   **Efisiensi Internal**: Waktu rata-rata dari `Tgl. Order` ke `Tgl DO` (0.44 hari), `Tgl DO` ke `Tgl Logbook` (0.25 hari), dan `Tgl Logbook` ke `Tgl Ekspedisi` (0.09 hari) menunjukkan bahwa proses internal dari pemesanan hingga barang siap dijemput ekspedisi berjalan sangat cepat dan efisien. Ini adalah indikator kinerja operasional yang baik dalam mempersiapkan pesanan.
*   **Anomali Pengiriman**: Namun, ditemukan anomali yang sangat besar pada rata-rata waktu dari `Tgl Ekspedisi` ke `Tgl Diterima`, yaitu -484.08 hari. Nilai negatif ini secara fisik tidak mungkin dan mengindikasikan masalah serius dalam pencatatan tanggal, kemungkinan besar karena adanya 10,385 entri `Tgl Diterima` yang diisi dengan tanggal *placeholder* '1900-01-01 00:00:00'. Anomali ini menghalangi kemampuan kita untuk secara akurat mengukur efisiensi pengiriman akhir, kinerja kurir, dan pengalaman pelanggan. Tanpa data `Tgl Diterima` yang valid, analisis kepuasan pelanggan terkait waktu pengiriman akan sangat bias dan tidak dapat diandalkan.

#### 4.5 Faktor-faktor yang Mempengaruhi Pemenuhan Pesanan

Untuk mendapatkan wawasan lebih dalam tentang dinamika pemenuhan pesanan, kita akan menganalisis `Status RO` (status pesanan berulang) dalam hubungannya dengan `Pharos YN`, `AO YN`, dan metode pembayaran (`Payment`).

**Status Pemenuhan (`Status RO`) berdasarkan Flag Produk Pharos (`Pharos YN`):**
Analisis ini membandingkan tingkat pembatalan dan pemenuhan penuh antara produk yang diproduksi oleh Pharos Grup dan non-Pharos.

```mermaid
xychart-beta
title "Status Pemenuhan (Status RO) berdasarkan Flag Produk Pharos"
x-axis ["CANCEL", "TERLAYANI PENUH"]
y-axis "Jumlah Catatan" auto --> auto
bar [920, 58381]
bar [820, 71194]
barLabels ["Pharos Y", "Pharos N"]
```

**Insight Bisnis:** Produk Pharos (`Pharos Y`) memiliki 920 pembatalan dan 58,381 pesanan terlayani penuh, sedangkan produk non-Pharos (`Pharos N`) mencatat 820 pembatalan dan 71,194 terlayani penuh. Secara proporsional, tingkat pembatalan relatif serupa antara kedua kategori produk (sekitar 1.5% untuk Pharos Y dan 1.1% untuk Pharos N). Ini menunjukkan bahwa atribut "produk Pharos" mungkin tidak menjadi faktor dominan yang memengaruhi tingkat pembatalan pesanan secara signifikan.

**Status Pemenuhan (`Status RO`) berdasarkan Flag Partisipasi Apotek Online (`AO YN`):**
Kita juga melihat bagaimana partisipasi *outlet* dalam program Apotek Online (AO) berkorelasi dengan status pemenuhan pesanan.

```mermaid
xychart-beta
title "Status Pemenuhan (Status RO) berdasarkan Flag Partisipasi Apotek Online"
x-axis ["CANCEL", "TERLAYANI PENUH"]
y-axis "Jumlah Catatan" auto --> auto
bar [595, 48136]
bar [1145, 81439]
barLabels ["AO Y", "AO N"]
```

**Insight Bisnis:** *Outlet* yang berpartisipasi dalam Apotek Online (`AO Y`) memiliki 595 pembatalan dan 48,136 terlayani penuh, sementara *outlet* non-partisipan (`AO N`) memiliki 1,145 pembatalan dan 81,439 terlayani penuh. Tingkat pembatalan untuk `AO Y` sekitar 1.2% dan untuk `AO N` sekitar 1.4%. *Outlet* yang tergabung dalam Apotek Online menunjukkan sedikit tingkat pembatalan yang lebih rendah. Hal ini mungkin mengindikasikan bahwa program AO dapat berkontribusi pada loyalitas atau komitmen pesanan yang lebih tinggi dari peserta.

**Rata-rata Nilai RO dan Value PL berdasarkan Status Pemenuhan:**
Analisis nilai transaksi rata-rata untuk pesanan yang dibatalkan dan yang terlayani penuh memberikan perspektif finansial tentang performa pemenuhan.

```mermaid
xychart-beta
title "Rata-rata Nilai RO dan Value PL berdasarkan Status Pemenuhan"
x-axis ["CANCEL", "TERLAYANI PENUH"]
y-axis "Rata-rata Nilai" auto --> auto
bar [303985, 425090]
bar [145203, 425090]
barLabels ["Rata-rata Value RO", "Rata-rata Value PL"]
```

**Insight Bisnis:** Untuk pesanan yang "TERLAYANI PENUH", rata-rata `Value RO` dan `Value PL` sama, yaitu Rp 425,090, yang konsisten dengan definisi pemenuhan penuh. Namun, untuk pesanan "CANCEL", rata-rata `Value RO` adalah Rp 303,985, sementara rata-rata `Value PL` hanya Rp 145,203. Perbedaan signifikan ini menunjukkan bahwa pesanan yang akhirnya dibatalkan mungkin telah mengalami pemenuhan sebagian (`Value PL` yang lebih rendah) atau bahkan tidak diproses sama sekali (`Value PL` nol) sebelum statusnya menjadi `CANCEL`. Ini menyoroti potensi kerugian penjualan yang signifikan dari pesanan yang dibatalkan dan pentingnya memitigasi pembatalan.

**Status Pemenuhan (`Status RO`) berdasarkan Metode Pembayaran (`Payment`):**
Metode pembayaran dapat memengaruhi komitmen pelanggan terhadap pesanan, yang tercermin dalam status pemenuhan.

```mermaid
xychart-beta
title "Status Pemenuhan (Status RO) berdasarkan Metode Pembayaran"
x-axis ["CANCEL", "TERLAYANI PENUH"]
y-axis "Jumlah Catatan" auto --> auto
bar [911, 77942]
bar [262, 15454]
bar [0, 131]
bar [567, 36048]
barLabels ["BCA Virtual Account", "BRIVA", "Kredivo", "Term Of Payment"]
```

**Insight Bisnis:**
*   **BCA Virtual Account**: Memiliki volume pesanan terbesar dengan 77,942 terlayani penuh, namun juga mencatat pembatalan tertinggi sebanyak 911 (sekitar 1.2%).
*   **BRIVA**: Mencatat 15,454 terlayani penuh dan 262 pembatalan (sekitar 1.7%).
*   **Kredivo**: Menariknya, metode ini menunjukkan nol pembatalan dari 131 pesanan yang terlayani penuh. Meskipun volume transaksinya kecil, ini bisa menjadi indikator komitmen pelanggan yang sangat tinggi saat menggunakan Kredivo.
*   **Term Of Payment**: Memiliki 36,048 terlayani penuh dan 567 pembatalan (sekitar 1.6%).

Analisis ini menunjukkan perbedaan tingkat pembatalan antar metode pembayaran. Tingkat pembatalan yang rendah pada Kredivo patut diselidiki lebih lanjut untuk memahami faktor pendorongnya, yang mungkin dapat direplikasi pada metode pembayaran lain. Sebaliknya, metode dengan tingkat pembatalan yang relatif lebih tinggi seperti BRIVA dan Term Of Payment memerlukan evaluasi proses untuk mengidentifikasi area perbaikan.

#### 4.6 Ringkasan Anomali Kritis dan Rekomendasi Aksi Cepat

Melalui tinjauan umum ini, beberapa anomali kritis yang berdampak langsung pada integritas data dan potensi wawasan bisnis telah teridentifikasi:

1.  **Ketidaklengkapan Data `Cmc`**: Sebanyak 365 *outlet* tidak memiliki `Cmc` yang terisi, menghambat analisis pelanggan yang komprehensif. **Rekomendasi**: Lakukan pembaruan data master pelanggan untuk mengisi `Cmc` yang hilang.
2.  **`No. SP` Tanpa `No. DO`**: Terdapat 126 Surat Pesanan yang tidak menghasilkan Surat Jalan, mengindikasikan adanya pesanan yang terhenti di tengah jalan. **Rekomendasi**: Selidiki kasus-kasus ini untuk memahami penyebabnya (misalnya, pembatalan yang tidak dicatat, masalah stok) dan perbaiki status dokumen yang relevan.
3.  **Inkonsistensi `Qty RO` vs `Qty SP`**: Sebanyak 2,087 catatan menunjukkan perbedaan antara kuantitas pesanan awal dan surat pesanan. **Rekomendasi**: Audit proses entri pesanan dan konversi ke SP, serta implementasikan validasi untuk mencegah perbedaan ini di masa mendatang.
4.  **Anomali `Value PL > Value RO`**: Ini adalah anomali finansial serius pada 1,032 catatan. **Rekomendasi**: Prioritaskan audit keuangan untuk kasus-kasus ini, identifikasi akar masalah (kesalahan harga, penambahan item tanpa pembaruan RO, masalah diskon/pajak), dan perkuat kontrol internal untuk mencegah kerugian atau ketidakakuratan laporan.
5.  **Anomali `Tgl Diterima` (Lead Time Negatif)**: Data `Tgl Diterima` yang cacat menyebabkan *lead time* "Ekspedisi ke Penerimaan" menjadi negatif, menghalangi pengukuran efisiensi pengiriman. **Rekomendasi**: Segera perbaiki metode pencatatan atau validasi `Tgl Diterima` dan perbaiki data historis yang salah (misalnya, dengan menghapus tanggal *placeholder* '1900-01-01 00:00:00' dan menggantinya dengan `NULL` atau tanggal yang masuk akal).

Mengatasi anomali-anomali ini akan secara signifikan meningkatkan kualitas dan keandalan data, membuka jalan bagi analisis yang lebih akurat dan pengambilan keputusan strategis yang lebih informatif untuk meningkatkan kinerja penjualan dan kepuasan pelanggan.

## 5. Analisis Temuan Utama

Bab "Analisis Temuan Utama" ini merangkum dan mendalami wawasan krusial yang diperoleh dari eksplorasi data pemenuhan pesanan pelanggan. Fokus utama adalah mengidentifikasi pola, anomali, dan korelasi yang berdampak signifikan pada kinerja operasional, penjualan, serta strategi produk. Kami akan menguraikan implikasi bisnis dari setiap temuan dan mengusulkan rekomendasi yang dapat ditindaklanjuti untuk peningkatan berkelanjutan.

### 5.1 Analisis Kualitas Data Lanjut dan Implikasi Bisnis

Sebelum menyajikan wawasan yang lebih dalam, penting untuk menggarisbawahi anomali kualitas data yang ditemukan dan implikasinya, karena hal ini mendasari keandalan setiap analisis selanjutnya.

#### 5.1.1 Inkonsistensi Identifikasi Pelanggan: Fokus pada `Cmc` 'UNKNOWN'

Meskipun `KodePI`, `OutCode`, dan `Cmc` seharusnya menjadi pengidentifikasi unik yang saling terkait untuk setiap *outlet*, ditemukan bahwa 365 `KodePI` memiliki nilai `Cmc` 'UNKNOWN'. Ini bukan masalah pemetaan satu-ke-banyak, melainkan ketidaklengkapan data.

**Implikasi Bisnis:**
*   **Segmentasi Pelanggan Terhambat**: Sulit untuk melakukan segmentasi pelanggan yang akurat atau analisis perilaku *outlet* tertentu jika `Cmc` merupakan kunci di sistem lain atau digunakan untuk kategorisasi.
*   **Integrasi Data Bermasalah**: Integrasi data dengan sistem CRM atau penjualan yang menggunakan `Cmc` sebagai kunci utama akan menjadi tidak efisien atau tidak mungkin untuk 365 *outlet* ini.
*   **Visibilitas Bisnis Terbatas**: Perusahaan kehilangan visibilitas lengkap terhadap data historis atau performa bisnis dari *outlet* yang `Cmc`-nya tidak tercatat.

#### 5.1.2 Masalah Alur Dokumen Pesanan: `No. SP` Tanpa `No. DO`

Aturan bisnis "1 SP menerbitkan 1 DO" tidak sepenuhnya terpenuhi, karena terdapat 126 `No. SP` yang tidak memiliki `No. DO` yang terkait (bernilai 'UNKNOWN').

**Implikasi Bisnis:**
*   **Pesanan Tidak Terpenuhi/Hilang**: Ini menunjukkan adanya 126 Surat Pesanan yang tidak berhasil diproses hingga tahap pengiriman (DO). Ini bisa berarti pesanan dibatalkan tanpa dicatat secara eksplisit, terlewat, atau tertunda secara signifikan.
*   **Kerugian Penjualan Potensial**: Setiap SP yang tidak menghasilkan DO merepresentasikan potensi kerugian penjualan atau pesanan yang tidak terpenuhi, yang dapat merusak hubungan dengan pelanggan.
*   **Ketidakefisienan Operasional**: Mengindikasikan *bottleneck* atau kegagalan dalam proses konversi SP ke DO, yang memerlukan investigasi untuk memahami mengapa pesanan terhenti pada tahap ini.

#### 5.1.3 Ketidaksesuaian Kuantitas: `Qty RO` vs `Qty SP`

Anomali signifikan ditemukan pada 2,087 baris di mana `Qty RO` tidak sama dengan `Qty SP`. Ini bertentangan dengan klarifikasi bahwa "Qty SP selalu sama dengan Qty RO".

**Ringkasan Inkonsistensi Kuantitas:**

| Deskripsi                                    | Jumlah Baris | Rata-rata Selisih Absolut (Qty RO - Qty SP) |
| :------------------------------------------- | :----------- | :---------------------------------------- |
| `Qty RO` tidak sama dengan `Qty SP`          | 2,087        |                                           |
| `Qty SP` lebih besar dari `Qty RO`           | 86           |                                           |
| `Qty RO` lebih besar dari `Qty SP`           | 2,001        | 7                                         |

**Implikasi Bisnis:**
*   **Ketidakakuratan Perencanaan Inventaris**: Perbedaan antara pesanan awal (RO) dan pesanan yang masuk ke gudang (SP) menyebabkan perencanaan inventaris menjadi tidak akurat, berpotensi pada *overstock* atau *understock*.
*   **Masalah Penagihan dan Keuangan**: Jika `Qty RO` dan `Qty SP` berbeda, ada risiko penagihan yang tidak akurat, yang dapat menyebabkan perselisihan dengan pelanggan atau masalah kepatuhan audit.
*   **Kekacauan Operasional**: Mengindikasikan kurangnya kontrol atau prosedur yang jelas dalam proses entri pesanan atau modifikasi pesanan.

#### 5.1.4 Anomali Nilai Transaksi: `Value PL > Value RO`

Anomali paling kritis adalah adanya 1,032 baris di mana `Value PL` (nilai yang dilayani gudang) lebih besar secara signifikan dari `Value RO` (nilai pesanan *outlet*). Rata-rata persentase perbedaan untuk kasus ini adalah 2,655.5%.

**Implikasi Bisnis:**
*   **Risiko Audit dan Keuangan Serius**: Ini adalah *red flag* besar untuk audit keuangan. `Value PL` seharusnya tidak pernah melebihi `Value RO` kecuali ada penambahan pesanan yang tercermin dalam `RO` atau perubahan harga yang divalidasi. Persentase perbedaan yang sangat tinggi menunjukkan masalah fundamental.
*   **Laporan Keuangan Tidak Akurat**: Laporan pendapatan, keuntungan, dan penjualan dapat menjadi tidak akurat, yang mengarah pada keputusan bisnis yang salah.
*   **Potensi Kecurangan atau Kesalahan Sistem**: Anomali ini dapat mengindikasikan kesalahan sistem yang menyebabkan perhitungan yang salah, atau bahkan potensi praktik penyesuaian pesanan yang tidak semestinya.
*   **Ketidakjelasan Proses Perubahan Pesanan**: Jika penambahan nilai terjadi karena penambahan item, proses tersebut tidak tercermin secara konsisten pada `Value RO`.

#### 5.1.5 Anomali Waktu Siklus: *Lead Time* Negatif dari Ekspedisi ke Penerimaan

Perhitungan rata-rata waktu dari `Tgl Ekspedisi` ke `Tgl Diterima` menghasilkan nilai negatif sebesar -484.08 hari.

```mermaid
xychart-beta
title "Rata-rata Waktu Siklus (Hari) - Hanya Entri Valid"
x-axis ["Order ke Pembuatan DO", "Pembuatan DO ke Logbook", "Logbook ke Ekspedisi", "Expeditor to Receipt"]
y-axis "Rata-rata Hari" auto --> auto
bar [0.44, 0.25, 0.09, -484.08]
```

**Implikasi Bisnis:**
*   **Pengukuran Kinerja Pengiriman Tidak Valid**: Anomali ini membuat tidak mungkin untuk mengukur secara akurat efisiensi pengiriman akhir, kinerja ekspeditor, atau waktu tunggu pelanggan.
*   **Analisis Kepuasan Pelanggan Terhambat**: Tanpa data `Tgl Diterima` yang valid, perusahaan tidak dapat secara objektif menilai kepuasan pelanggan terkait kecepatan pengiriman.
*   **Masalah Integritas Data Waktu**: Penyebab utamanya adalah banyaknya nilai `Tgl Diterima` yang diisi dengan tanggal *placeholder* '1900-01-01 00:00:00'. Ini menunjukkan masalah fundamental dalam pencatatan tanggal atau *data entry*.

### 5.2 Performa Pemenuhan Pesanan: Kuantitas dan Nilai

Analisis pemenuhan kuantitas dan nilai memberikan gambaran langsung tentang seberapa baik pesanan dilayani dari perspektif gudang dan finansial.

#### 5.2.1 Pemenuhan Kuantitas

Berdasarkan perbandingan `Qty DO` (kuantitas yang dikirim) dengan `Qty SP` (kuantitas di surat pesanan), data menunjukkan efisiensi operasional yang sangat tinggi.

```mermaid
xychart-beta
title "Kategori Pemenuhan Kuantitas"
x-axis ["Full Quantity Fulfillment", "Partial Quantity Fulfillment", "No Quantity Fulfillment", "Qty DO > Qty SP (Anomaly)"]
y-axis "Number of Records" 0 --> auto
bar [131315, 0, 0, 0]
```

**Wawasan Bisnis:**
*   **Efisiensi Gudang yang Tinggi**: Grafik menunjukkan bahwa 131,315 catatan mengalami "Full Quantity Fulfillment" (Pemenuhan Kuantitas Penuh), yang berarti `Qty DO` sama dengan `Qty SP` untuk setiap baris produk. Ini mengindikasikan bahwa gudang sangat efisien dalam menyiapkan dan mengirimkan item yang telah masuk dalam surat pesanan, tanpa adanya pemenuhan sebagian atau kurang kirim.
*   **Fokus Masalah Lebih Awal**: Meskipun positif di tahap DO, ini mengarahkan perhatian kembali pada anomali `Qty RO` vs `Qty SP`. Masalah kuantitas tampaknya terjadi *sebelum* pesanan mencapai tahap gudang, bukan saat pemrosesan di gudang.

#### 5.2.2 Pemenuhan Nilai

Analisis `Value PL` (nilai *packing list*) dibandingkan dengan `Value RO` (nilai pesanan asli) mengungkapkan pola pemenuhan nilai.

```mermaid
xychart-beta
title "Kategori Pemenuhan Nilai"
x-axis ["Full Value Fulfillment", "Partial Value Fulfillment", "Value PL > Value RO (Anomaly)"]
y-axis "Number of Records" 0 --> auto
bar [129575, 708, 1032]
```

**Wawasan Bisnis:**
*   **Pemenuhan Nilai Penuh Dominan**: Sebagian besar catatan (129,575) menunjukkan "Full Value Fulfillment" (`Value PL` = `Value RO`), yang mencerminkan keberhasilan dalam memenuhi nilai pesanan secara keseluruhan.
*   **Pemenuhan Nilai Sebagian Terkendali**: Hanya 708 catatan yang mengalami "Partial Value Fulfillment" (`Value PL` < `Value RO`), yang merupakan hal yang wajar dalam operasional karena alasan seperti kekurangan stok sebagian.
*   **Anomali `Value PL > Value RO` yang Kritis**: Jumlah 1,032 catatan dengan `Value PL > Value RO` tetap menjadi perhatian utama. Anomali ini menunjukkan bahwa sistem atau proses tidak secara akurat merefleksikan nilai transaksi asli, berpotensi mengindikasikan pembebanan biaya yang tidak semestinya atau kesalahan pencatatan yang substansial.

### 5.3 Analisis Faktor-faktor yang Mempengaruhi Status Pemenuhan

Untuk mengidentifikasi pendorong di balik keberhasilan atau pembatalan pesanan, kami menganalisis hubungan antara `Status RO` (status pesanan) dengan `Pharos YN` (produk Pharos), `AO YN` (partisipasi Apotek Online), dan metode pembayaran (`Payment`).

#### 5.3.1 Performa Berdasarkan Produk Pharos (`Pharos YN`)

Analisis ini membandingkan tingkat pembatalan dan pemenuhan penuh antara produk yang diproduksi oleh Pharos Grup (`Pharos Y`) dan produk lainnya (`Pharos N`).

```mermaid
xychart-beta
title "Fulfillment Status (Status RO) by Pharos Product Flag"
x-axis ["CANCEL", "TERLAYANI PENUH"]
y-axis "Number of Records" auto --> auto
bar [920, 58381]
bar [820, 71194]
barLabels ["Pharos Y", "Pharos N"]
```

**Wawasan Bisnis:**
*   **Tingkat Pembatalan Serupa**:
    *   Produk Pharos (Y): Tingkat pembatalan = (920 / (920 + 58,381)) * 100% = 1.5%
    *   Produk Non-Pharos (N): Tingkat pembatalan = (820 / (820 + 71,194)) * 100% = 1.1%
*   Proporsi pembatalan relatif serupa antara kedua jenis produk, meskipun produk Non-Pharos sedikit lebih rendah. Ini menunjukkan bahwa kepemilikan merek Pharos Grup mungkin bukan faktor utama yang secara signifikan memengaruhi tingkat pembatalan pesanan. Faktor lain seperti ketersediaan stok atau harga mungkin lebih dominan.

#### 5.3.2 Performa Berdasarkan Partisipasi Apotek Online (`AO YN`)

Analisis ini melihat apakah partisipasi *outlet* dalam program Apotek Online (`AO Y`) berkorelasi dengan tingkat pembatalan pesanan.

```mermaid
xychart-beta
title "Fulfillment Status (Status RO) by Apotek Online Participant Flag"
x-axis ["CANCEL", "TERLAYANI PENUH"]
y-axis "Number of Records" auto --> auto
bar [595, 48136]
bar [1145, 81439]
barLabels ["AO Y", "AO N"]
```

**Wawasan Bisnis:**
*   **Tingkat Pembatalan Lebih Rendah untuk Apotek Online**:
    *   *Outlet* Apotek Online (Y): Tingkat pembatalan = (595 / (595 + 48,136)) * 100% = 1.2%
    *   *Outlet* Non-Apotek Online (N): Tingkat pembatalan = (1,145 / (1,145 + 81,439)) * 100% = 1.4%
*   *Outlet* yang berpartisipasi dalam program Apotek Online menunjukkan sedikit tingkat pembatalan yang lebih rendah. Ini bisa mengindikasikan bahwa *outlet* yang aktif dalam program ini mungkin memiliki komitmen pesanan yang lebih tinggi, atau program ini membantu dalam manajemen pesanan yang lebih baik, mengurangi kemungkinan pembatalan.

#### 5.3.3 Rata-rata Nilai Transaksi Berdasarkan Status Pemenuhan

Menganalisis rata-rata `Value RO` dan `Value PL` untuk pesanan yang `CANCEL` dan `TERLAYANI PENUH` memberikan wawasan finansial tentang dampak pembatalan.

```mermaid
xychart-beta
title "Average Value RO and Value PL by Fulfillment Status"
x-axis ["CANCEL", "TERLAYANI PENUH"]
y-axis "Average Value" auto --> auto
bar [303985, 425090]
bar [145203, 425090]
barLabels ["Rata-rata Value RO", "Rata-rata Value PL"]
```

**Wawasan Bisnis:**
*   **Pemenuhan Penuh Sesuai Harapan**: Untuk pesanan `TERLAYANI PENUH`, `Value RO` dan `Value PL` rata-rata adalah sama (Rp 425,090), sesuai dengan definisi pemenuhan penuh.
*   **Dampak Finansial Pembatalan**: Pada pesanan yang `CANCEL`, rata-rata `Value RO` adalah Rp 303,985, sementara `Value PL` hanya Rp 145,203. Perbedaan signifikan ini (selisih rata-rata Rp 158,782 per pesanan yang dibatalkan) menunjukkan bahwa sebagian besar nilai pesanan yang dibatalkan tidak berhasil direalisasikan. Hal ini menyoroti potensi kerugian penjualan yang signifikan dari pesanan yang berakhir `CANCEL` dan urgensi untuk mengurangi tingkat pembatalan.

#### 5.3.4 Performa Berdasarkan Metode Pembayaran (`Payment`)

Metode pembayaran dapat mencerminkan komitmen pelanggan dan memengaruhi tingkat pembatalan pesanan.

```mermaid
xychart-beta
title "Fulfillment Status (Status RO) by Payment Method"
x-axis ["CANCEL", "TERLAYANI PENUH"]
y-axis "Number of Records" auto --> auto
bar [911, 77942]
bar [262, 15454]
bar [0, 131]
bar [567, 36048]
barLabels ["BCA Virtual Account", "BRIVA", "Kredivo", "Term Of Payment"]
```

**Wawasan Bisnis:**
*   **BCA Virtual Account**: Memiliki volume transaksi terbesar (77,942 terlayani penuh) tetapi juga jumlah pembatalan tertinggi (911). Tingkat pembatalannya adalah (911 / (911 + 77,942)) * 100% = 1.2%.
*   **BRIVA**: Menunjukkan 15,454 terlayani penuh dan 262 pembatalan. Tingkat pembatalannya adalah (262 / (262 + 15,454)) * 100% = 1.7%. Ini adalah tingkat pembatalan tertinggi di antara metode pembayaran utama.
*   **Kredivo**: Menariknya, metode ini menunjukkan nol pembatalan dari 131 pesanan yang terlayani penuh. Meskipun volume transaksinya kecil, ini mengindikasikan komitmen pelanggan yang sangat tinggi saat menggunakan Kredivo.
*   **Term Of Payment**: Memiliki 36,048 terlayani penuh dan 567 pembatalan. Tingkat pembatalannya adalah (567 / (567 + 36,048)) * 100% = 1.6%.
*   **Strategi Pembayaran**: Metode pembayaran dapat memengaruhi perilaku pembatalan. Tingkat pembatalan yang sangat rendah pada Kredivo menunjukkan bahwa metode pembayaran yang menawarkan fleksibilitas atau ikatan tertentu dapat meningkatkan komitmen pesanan. BRIVA dan Term Of Payment memiliki tingkat pembatalan yang relatif lebih tinggi, yang mungkin memerlukan evaluasi ulang proses atau insentif terkait pembayaran.

### 5.4 Rekomendasi Utama

Berdasarkan analisis temuan utama, berikut adalah rekomendasi yang lebih terperinci untuk meningkatkan kinerja, penjualan, dan kepuasan pelanggan:

#### 5.4.1 Prioritaskan Perbaikan Kualitas Data Kritis

1.  **Validasi & Pembaruan `Cmc`**: Segera lakukan penyelidikan *root cause* mengapa 365 `KodePI` memiliki `Cmc` 'UNKNOWN'. Implementasikan proses untuk memperbarui data `Cmc` yang hilang dari *master data* pelanggan. Ini akan meningkatkan akurasi segmentasi pelanggan dan integrasi data.
2.  **Audit `No. SP` Tanpa `No. DO`**: Lakukan audit mendalam terhadap 126 `No. SP` yang tidak memiliki `No. DO`. Pahami apakah ini disebabkan oleh pembatalan yang tidak dicatat, masalah stok, atau *error* sistem. Perbaiki `Status RO`, `Sts SP Header`, atau `Sts SP Detail` untuk merefleksikan status sebenarnya, dan pastikan setiap SP memiliki DO yang valid atau status pembatalan yang jelas.
3.  **Rekonsiliasi `Qty RO` dan `Qty SP`**: Periksa secara sistematis perbedaan pada 2,087 baris antara `Qty RO` dan `Qty SP`. Identifikasi apakah ini disebabkan oleh kesalahan input, perubahan pesanan tanpa pembaruan `RO`, atau cacat sistem. Implementasikan validasi otomatis pada tahap entri pesanan untuk memastikan `Qty SP` konsisten dengan `Qty RO` kecuali ada perubahan yang disetujui dan tercatat.
4.  **Investigasi Anomali `Value PL > Value RO`**: Ini adalah prioritas *urgent*. Lakukan audit finansial penuh pada 1,032 catatan. Identifikasi akar masalahnya: apakah ini kesalahan penetapan harga, penambahan item yang tidak tercermin di `RO`, kesalahan perhitungan diskon/pajak, atau potensi penyalahgunaan. Perkuat kontrol internal dan *audit trail* untuk mencegah anomali finansial ini.
5.  **Perbaikan Pencatatan `Tgl Diterima`**: Atasi masalah *lead time* negatif dari `Tgl Ekspedisi` ke `Tgl Diterima`. Ini memerlukan dua langkah:
    *   **Perbaikan Data Historis**: Hapus atau ganti tanggal *placeholder* '1900-01-01 00:00:00' dengan `NULL` untuk tanggal yang benar-benar tidak diketahui, atau tanggal yang masuk akal jika informasi dapat direkonstruksi.
    *   **Pencegahan di Masa Depan**: Implementasikan validasi di sistem entri data untuk memastikan `Tgl Diterima` selalu setelah `Tgl Ekspedisi`. Pertimbangkan untuk mengotomatiskan pencatatan `Tgl Diterima` melalui integrasi dengan sistem ekspedisi.

#### 5.4.2 Optimalisasi Proses dan Strategi Penjualan

1.  **Evaluasi Proses Pembatalan Pesanan**: Berdasarkan tingginya `Value RO` pada pesanan yang `CANCEL`, lakukan analisis *root cause* mengapa pesanan dibatalkan. Apakah karena stok tidak tersedia, harga, atau masalah pengiriman? Kembangkan strategi untuk mengurangi tingkat pembatalan, seperti komunikasi proaktif mengenai ketersediaan stok.
2.  **Manfaatkan Keunggulan Program Apotek Online**: *Outlet* yang berpartisipasi dalam Apotek Online menunjukkan tingkat pembatalan yang sedikit lebih rendah. Selidiki faktor-faktor yang berkontribusi pada hal ini dan pertimbangkan untuk memperluas program atau mengadopsi praktik terbaik dari program AO ke *outlet* non-AO.
3.  **Strategi Berbasis Metode Pembayaran**:
    *   **Kredivo**: Pelajari lebih lanjut mengapa Kredivo memiliki tingkat pembatalan nol (meskipun volume kecil). Bisakah fitur atau skema dari Kredivo diterapkan atau diadaptasi pada metode pembayaran lain untuk meningkatkan komitmen pelanggan?
    *   **BRIVA dan Term Of Payment**: Dengan tingkat pembatalan yang lebih tinggi, evaluasi ulang proses terkait BRIVA dan Term Of Payment. Apakah ada penundaan dalam konfirmasi pembayaran atau persyaratan yang menyebabkan pembatalan?
4.  **Peningkatan Visibilitas dan Transparansi Status Pesanan**: Untuk pelanggan dan tim internal, pastikan status pesanan (termasuk potensi pembatalan atau perubahan) diperbarui secara *real-time* dan mudah diakses untuk mengurangi kebingungan dan ketidakpuasan.

Dengan mengatasi anomali data yang fundamental dan mengimplementasikan rekomendasi strategis ini, perusahaan dapat secara signifikan meningkatkan efisiensi operasional, akurasi laporan keuangan, dan pada akhirnya, kepuasan serta loyalitas pelanggan.

## 5.1. Inkonsistensi Identifikasi Pelanggan dan Dokumen Pesanan

Analisis terhadap integritas data pengidentifikasi pelanggan dan dokumen pesanan mengungkapkan beberapa inkonsistensi fundamental yang memiliki dampak signifikan terhadap operasional dan pengambilan keputusan bisnis. Kesalahan pada tahap awal pencatatan ini dapat merambat ke seluruh rantai proses pemenuhan pesanan dan memengaruhi akurasi laporan bisnis.

### Inkonsistensi Identifikasi Pelanggan

Menurut klarifikasi bisnis, kolom `KodePI`, `OutCode`, dan `Cmc` seharusnya berfungsi sebagai pengidentifikasi unik untuk setiap *outlet* pelanggan yang sama. Analisis awal menunjukkan adanya perbedaan dalam jumlah nilai unik untuk ketiga pengidentifikasi ini:

*   Jumlah `KodePI` unik: 5,062
*   Jumlah `OutCode` unik: 5,062
*   Jumlah `Cmc` unik: 4,698

Meskipun terdapat perbedaan jumlah `Cmc` unik, investigasi lebih lanjut (dengan mengabaikan nilai 'UNKNOWN') menegaskan bahwa tidak ada satu `KodePI` atau `OutCode` yang memetakan ke lebih dari satu `Cmc` atau sebaliknya. Hal ini mengindikasikan bahwa masalahnya bukan pada inkonsistensi pemetaan satu-ke-satu, melainkan pada kelengkapan data. Secara spesifik, terdapat 365 `KodePI` unik yang memiliki nilai `Cmc` 'UNKNOWN'. Ini berarti untuk 365 *outlet* tersebut, informasi `Cmc` tidak tercatat dengan lengkap dalam sistem.

**Implikasi Bisnis:**
*   **Segmentasi Pelanggan Terhambat**: Ketidaklengkapan data `Cmc` dapat menghambat kemampuan perusahaan untuk melakukan segmentasi pelanggan yang akurat atau menganalisis perilaku *outlet* tertentu, terutama jika `Cmc` digunakan sebagai kunci di sistem lain atau untuk kategorisasi internal.
*   **Integrasi Data Bermasalah**: Integrasi data dengan sistem *Customer Relationship Management* (CRM) atau sistem penjualan lainnya yang bergantung pada `Cmc` sebagai kunci utama akan menjadi tidak efisien atau tidak mungkin untuk 365 *outlet* ini, menciptakan silo informasi.
*   **Visibilitas Bisnis Terbatas**: Perusahaan kehilangan visibilitas lengkap terhadap data historis atau performa bisnis dari *outlet* yang `Cmc`-nya tidak tercatat, mempersulit penilaian kinerja atau perumusan strategi yang tepat sasaran.

### Inkonsistensi Alur Dokumen Pesanan

Proses pemenuhan pesanan melibatkan serangkaian dokumen dengan hubungan yang jelas: "1 RO bisa membentuk beberapa SP", "1 SP menerbitkan 1 DO", dan "1 DO = 1 PL". Analisis jumlah unik setiap dokumen mengungkapkan beberapa inkonsistensi:

| Dokumen   | Jumlah Unik |
| :-------- | :---------- |
| No. RO    | 20,645      |
| No. SP    | 23,615      |
| No. DO    | 23,490      |
| No. PL    | 23,490      |

*   **`No. RO` vs `No. SP`**: Jumlah `No. SP` (23,615) yang lebih besar dari `No. RO` (20,645) konsisten dengan aturan bahwa satu pesanan awal (RO) dapat dipecah menjadi beberapa Surat Pesanan (SP) untuk memenuhi kebutuhan logistik atau pengiriman. Aspek ini sesuai dengan proses bisnis.
*   **`No. SP` vs `No. DO`**: Terdapat anomali signifikan di mana jumlah `No. DO` unik (23,490) tidak sama dengan jumlah `No. SP` unik (23,615). Investigasi lebih lanjut mengungkapkan bahwa 126 `No. SP` unik (tidak termasuk 'UNKNOWN') memiliki `No. DO` dengan nilai 'UNKNOWN'. Ini secara langsung bertentangan dengan aturan bisnis "1 SP menerbitkan 1 DO".
*   **`No. DO` vs `No. PL`**: Jumlah `No. DO` unik sama persis dengan `No. PL` unik, dan nilai-nilai kedua kolom ini identik di semua catatan. Ini sepenuhnya mengonfirmasi aturan "1 DO = 1 PL", menunjukkan konsistensi pada tahapan ini.

**Implikasi Bisnis dari `No. SP` Tanpa `No. DO`:**
*   **Pesanan Tidak Terpenuhi atau Hilang**: Adanya 126 Surat Pesanan yang tidak menghasilkan Surat Jalan mengindikasikan bahwa sejumlah pesanan tidak berhasil diproses hingga tahap pengiriman. Hal ini bisa berarti pesanan dibatalkan tanpa dicatat secara eksplisit, terlewat, atau mengalami penundaan signifikan yang tidak dapat dilacak.
*   **Potensi Kerugian Penjualan**: Setiap SP yang tidak menghasilkan DO merepresentasikan potensi kerugian penjualan yang tidak terealisasi dan dapat merusak hubungan dengan pelanggan yang mengharapkan pesanan mereka dipenuhi.
*   **Ketidakefisienan Operasional**: Anomali ini mengindikasikan adanya *bottleneck* atau kegagalan dalam proses konversi SP ke DO. Perusahaan perlu memahami mengapa pesanan terhenti pada tahap ini untuk mengidentifikasi area perbaikan dalam alur kerja operasional.

### Rekomendasi untuk Perbaikan

Berdasarkan inkonsistensi yang teridentifikasi dalam identifikasi pelanggan dan alur dokumen pesanan, berikut adalah rekomendasi utama untuk meningkatkan kualitas data dan integritas proses bisnis:

1.  **Validasi dan Pembaruan `Cmc`**: Lakukan penyelidikan akar masalah mengapa 365 `KodePI` memiliki `Cmc` 'UNKNOWN'. Implementasikan proses untuk memperbarui data `Cmc` yang hilang dari *master data* pelanggan. Hal ini krusial untuk meningkatkan akurasi segmentasi pelanggan dan memfasilitasi integrasi data yang lancar antar sistem.
2.  **Audit `No. SP` Tanpa `No. DO`**: Lakukan audit mendalam terhadap 126 `No. SP` yang tidak memiliki `No. DO`. Pahami apakah ini disebabkan oleh pembatalan yang tidak dicatat, masalah stok, atau kesalahan sistem. Perbaiki `Status RO`, `Sts SP Header`, atau `Sts SP Detail` untuk merefleksikan status sebenarnya, dan pastikan setiap SP memiliki DO yang valid atau status pembatalan yang jelas. Implementasikan mekanisme peringatan dini untuk SP yang belum diterbitkan DO setelah periode waktu tertentu.

## 5.2. Analisis Pemenuhan Kuantitas dan Nilai Pesanan

Analisis pemenuhan kuantitas dan nilai pesanan adalah jantung dari evaluasi efisiensi operasional dan akurasi finansial dalam proses pemenuhan pesanan. Bagian ini akan menyelami lebih dalam bagaimana perusahaan memenuhi pesanan pelanggan dari perspektif volume fisik barang dan nilai moneter, mengidentifikasi kekuatan dan area yang memerlukan perbaikan mendesak.

### 5.2.1 Analisis Pemenuhan Kuantitas

Pemenuhan kuantitas mengukur seberapa baik gudang berhasil mengirimkan jumlah barang yang diminta oleh pelanggan. Berdasarkan aturan bisnis, `Qty DO` (kuantitas yang dilayani/dikirim) seharusnya sama atau lebih sedikit dari `Qty SP` (kuantitas di surat pesanan).

```mermaid
xychart-beta
title "Kategori Pemenuhan Kuantitas (Qty DO vs Qty SP)"
x-axis ["Full Quantity Fulfillment", "Partial Quantity Fulfillment", "No Quantity Fulfillment", "Qty DO > Qty SP (Anomaly)"]
y-axis "Number of Records" 0 --> auto
bar [131315, 0, 0, 0]
```

**Wawasan Bisnis:**

*   **Efisiensi Gudang yang Optimal pada Tahap DO**: Grafik di atas menunjukkan hasil yang sangat positif pada tahap pemrosesan gudang. Seluruh 131.315 catatan transaksi (`100%`) dikategorikan sebagai "Full Quantity Fulfillment", yang berarti `Qty DO` sama persis dengan `Qty SP`. Ini mengindikasikan bahwa, setelah sebuah item produk tercatat dalam Surat Pesanan (SP), gudang memiliki tingkat efisiensi yang sangat tinggi dalam menyiapkan dan mengirimkan seluruh kuantitas yang diminta, tanpa adanya pemenuhan sebagian (partial fulfillment) atau kekurangan kirim. Tidak ada kasus di mana `Qty DO` lebih besar dari `Qty SP`, yang juga menegaskan integritas proses pengiriman dari gudang.
*   **Permasalahan Bergeser ke Tahap Awal**: Meskipun data pemenuhan kuantitas di tahap gudang ini sangat baik, penting untuk diingat anomali yang telah diidentifikasi di bab sebelumnya terkait inkonsistensi antara `Qty RO` (kuantitas pesanan awal) dan `Qty SP` (kuantitas surat pesanan). Ditemukan 2.087 baris di mana `Qty RO` tidak sama dengan `Qty SP`, dengan 2.001 di antaranya `Qty RO` lebih besar dari `Qty SP` dan 86 baris `Qty SP` lebih besar dari `Qty RO`. Ini menunjukkan bahwa masalah utama terkait kuantitas pesanan terjadi *sebelum* pesanan masuk ke gudang, yaitu pada tahap pencatatan pesanan awal atau konversinya menjadi surat pesanan. Gudang hanya memproses sesuai SP yang diterimanya, namun keakuratan SP itu sendiri perlu dipertanyakan.

### 5.2.2 Analisis Pemenuhan Nilai

Pemenuhan nilai membandingkan `Value PL` (nilai yang dilayani berdasarkan *packing list*) dengan `Value RO` (nilai pesanan asli). Idealnya, `Value PL` seharusnya sama dengan atau lebih rendah dari `Value RO`, kecuali ada penambahan yang tercatat secara valid.

```mermaid
xychart-beta
title "Kategori Pemenuhan Nilai (Value PL vs Value RO)"
x-axis ["Full Value Fulfillment", "Partial Value Fulfillment", "Value PL > Value RO (Anomaly)"]
y-axis "Number of Records" 0 --> auto
bar [129575, 708, 1032]
```

**Wawasan Bisnis:**

*   **Pemenuhan Nilai Penuh yang Dominan**: Mayoritas catatan, yaitu 129.575 transaksi, menunjukkan "Full Value Fulfillment" (`Value PL` = `Value RO`). Ini adalah indikator positif bahwa sebagian besar pesanan berhasil dilayani dengan nilai yang sesuai dengan pesanan asli pelanggan.
*   **Pemenuhan Nilai Sebagian yang Wajar**: Terdapat 708 catatan yang mengalami "Partial Value Fulfillment" (`Value PL` < `Value RO`). Ini adalah skenario yang wajar dalam operasional bisnis, sering kali disebabkan oleh keterbatasan stok untuk beberapa item pesanan, yang menyebabkan hanya sebagian dari nilai pesanan awal yang dapat dipenuhi.
*   **Anomali Kritis: `Value PL > Value RO`**: Yang paling mengkhawatirkan adalah adanya 1.032 catatan transaksi di mana `Value PL` lebih besar dari `Value RO`. Anomali ini merupakan *red flag* finansial yang serius. Rata-rata persentase perbedaan untuk kasus-kasus ini sangat tinggi, mencapai 2.655,5%. Ini berarti nilai yang tercatat pada *packing list* jauh melampaui nilai pesanan awal.
    *   **Implikasi Finansial**: Anomali ini dapat mengindikasikan berbagai masalah, termasuk kesalahan pencatatan harga atau kuantitas yang signifikan setelah pesanan awal, penambahan item ke pesanan tanpa pembaruan `Value RO` yang benar, atau masalah dalam perhitungan diskon/pajak yang tidak konsisten antar tahapan. Hal ini menimbulkan risiko besar terhadap akurasi laporan keuangan, berpotensi memengaruhi keputusan bisnis, dan memerlukan audit mendalam.

### Rekomendasi

Berdasarkan analisis pemenuhan kuantitas dan nilai, berikut adalah rekomendasi yang dapat ditindaklanjuti:

1.  **Investigasi Akar Masalah `Qty RO` vs `Qty SP`**: Fokuskan penyelidikan pada tahap awal proses, sebelum pesanan mencapai gudang. Lakukan audit pada 2.087 baris di mana `Qty RO` tidak sama dengan `Qty SP`. Identifikasi apakah penyebabnya adalah kesalahan entri manual, perubahan pesanan yang tidak sinkron, atau celah dalam sistem yang memungkinkan inkonsistensi ini.
    *   **Aksi**: Terapkan validasi sistem otomatis yang memastikan `Qty SP` selalu konsisten dengan `Qty RO` kecuali ada proses *approval* dan pencatatan yang jelas untuk perubahan kuantitas.
2.  **Prioritaskan Audit Anomali `Value PL > Value RO`**: Ini adalah prioritas utama untuk integritas finansial. Lakukan audit forensik pada 1.032 catatan di mana `Value PL` melebihi `Value RO`.
    *   **Aksi**:
        *   Tentukan apakah ini disebabkan oleh kesalahan input data, perubahan harga setelah pesanan, penambahan item ke pesanan yang tidak tercermin dalam `Value RO`, atau masalah perhitungan pajak/diskon.
        *   Perbaiki data historis yang salah dan implementasikan kontrol internal yang ketat untuk mencegah terulangnya anomali ini di masa mendatang. Hal ini mungkin melibatkan validasi otomatis pada sistem untuk memastikan `Value PL` tidak pernah melebihi `Value RO` tanpa alasan yang tervalidasi dan tercatat.
        *   Tingkatkan *audit trail* untuk setiap perubahan nilai pesanan.
3.  **Evaluasi Proses Perubahan Pesanan**: Kesenjangan antara `Qty RO` dan `Qty SP`, serta `Value PL` dan `Value RO`, menunjukkan bahwa proses perubahan pesanan (jika ada) tidak tercatat dengan konsisten di seluruh tahapan.
    *   **Aksi**: Standardisasikan dan perkuat prosedur untuk modifikasi pesanan, memastikan bahwa setiap perubahan kuantitas atau nilai pesanan pelanggan (RO) secara akurat dan otomatis diperbarui di semua dokumen turunan (SP, DO, PL) dan data terkait.
4.  **Pelatihan dan Standardisasi Prosedur**: Berikan pelatihan reguler kepada staf yang terlibat dalam entri pesanan dan pemrosesan gudang mengenai pentingnya akurasi data kuantitas dan nilai, serta prosedur yang benar untuk menangani perubahan pesanan.

## 5.3. Analisis Waktu Proses (Lead Time)

Analisis waktu proses, atau *lead time*, merupakan metrik krusial untuk mengevaluasi efisiensi operasional dan kepuasan pelanggan. *Lead time* mengukur durasi antar tahapan dalam proses pemenuhan pesanan, mulai dari pesanan awal hingga barang diterima oleh pelanggan. Pemahaman yang akurat tentang waktu ini memungkinkan perusahaan untuk mengidentifikasi *bottleneck*, mengoptimalkan alur kerja, dan menetapkan ekspektasi pengiriman yang realistis kepada pelanggan.

### Kinerja Waktu Proses Internal

Dari data yang ada, kami telah menganalisis waktu rata-rata untuk setiap tahapan kunci dalam alur pemenuhan pesanan. Analisis ini mengecualikan entri tanggal *placeholder* untuk memastikan representasi yang lebih akurat, kecuali untuk anomali yang akan dibahas.

| Tahapan Waktu Proses          | Rata-rata Durasi (Hari) |
| :---------------------------- | :---------------------- |
| Order ke Pembuatan DO         | 0,4                     |
| Pembuatan DO ke Logbook       | 0,3                     |
| Logbook ke Ekspedisi          | 0,1                     |

*   **Order ke Pembuatan DO (Tgl. Order ke Tgl DO)**: Tahapan ini mengukur waktu yang dibutuhkan dari saat pelanggan menempatkan pesanan hingga Surat Jalan (DO) dibuat dan dikonfirmasi oleh PIC gudang. Dengan rata-rata 0,4 hari, proses ini menunjukkan efisiensi yang sangat baik dalam merespons pesanan awal dan mempersiapkan dokumen pengiriman.
*   **Pembuatan DO ke Logbook (Tgl DO ke Tgl Logbook)**: Ini adalah waktu yang dihabiskan untuk memindahkan barang dari tahap pembuatan DO ke area *staging* untuk pencatatan pengiriman. Rata-rata 0,3 hari menunjukkan bahwa proses internal gudang untuk mempersiapkan barang agar siap dikirim adalah cepat dan efisien.
*   **Logbook ke Ekspedisi (Tgl Logbook ke Tgl Ekspedisi)**: Tahapan ini mengukur waktu dari barang tercatat di area *staging* hingga dijemput oleh pihak ekspedisi. Dengan rata-rata 0,1 hari, ini menunjukkan bahwa proses penjemputan oleh kurir atau ekspeditor berlangsung sangat responsif setelah barang siap dikirim.

**Wawasan Bisnis:** Tiga tahapan pertama ini secara kolektif menunjukkan bahwa proses internal perusahaan, mulai dari penerimaan pesanan hingga penyerahan barang kepada ekspedisi, berjalan dengan sangat cepat dan efisien. Ini adalah kekuatan operasional yang signifikan, mengindikasikan bahwa gudang dan tim terkait memiliki alur kerja yang optimal dalam memproses pesanan.

### Anomali Kritis: Waktu Proses Ekspedisi ke Penerimaan

Meskipun tahapan internal menunjukkan efisiensi, terdapat anomali yang sangat mencolok dan kritis pada tahapan terakhir:

*   **Ekspedisi ke Penerimaan (Tgl Ekspedisi ke Tgl Diterima)**: Rata-rata durasi untuk tahapan ini adalah **-484,1 hari**.

**Wawasan Bisnis & Anomali:** Nilai negatif yang sangat besar ini secara fisik tidak mungkin dan mengindikasikan masalah fundamental yang serius dalam pencatatan data. Seperti yang telah dijelaskan dalam bab pra-pemrosesan data, anomali ini sebagian besar disebabkan oleh penggunaan tanggal *placeholder* '1900-01-01 00:00:00' untuk mengisi 10.385 nilai `NaT` (Not a Time) pada kolom `Tgl Diterima`. Tanggal *placeholder* yang jauh di masa lalu ini, ketika digunakan dalam perhitungan selisih tanggal dengan `Tgl Ekspedisi` yang lebih baru, menghasilkan nilai negatif yang sangat besar.

**Implikasi Bisnis:**
*   **Pengukuran Kinerja Pengiriman Tidak Valid**: Anomali ini membuat perusahaan tidak mungkin untuk secara akurat mengukur waktu pengiriman aktual dari ekspedisi hingga pelanggan. Ini menghalangi evaluasi kinerja ekspeditor, identifikasi *bottleneck* dalam rantai pengiriman terakhir, atau pemahaman pola pengiriman yang akurat.
*   **Analisis Kepuasan Pelanggan Terhambat**: Tanpa data `Tgl Diterima` yang valid, perusahaan tidak dapat secara objektif menilai kepuasan pelanggan terkait kecepatan dan keandalan pengiriman. Klaim pelanggan terkait keterlambatan tidak dapat diverifikasi secara empiris, dan perbaikan layanan pengiriman menjadi sulit dirumuskan.
*   **Ketidakpercayaan Data**: Keberadaan anomali sebesar ini dalam data *lead time* dapat merusak kepercayaan terhadap integritas keseluruhan *dataset*, mempersulit analisis lain yang mungkin bergantung pada akurasi data tanggal.

Berikut adalah visualisasi rata-rata waktu proses:
```mermaid
xychart-beta
title "Rata-rata Waktu Proses (Hari) - Hanya Entri Valid"
x-axis ["Order ke Pembuatan DO", "Pembuatan DO ke Logbook", "Logbook ke Ekspedisi", "Ekspedisi ke Penerimaan"]
y-axis "Rata-rata Hari" auto --> auto
bar [0.44, 0.25, 0.09, -484.08]
```

### Rekomendasi

Untuk mengatasi anomali kritis ini dan mendapatkan wawasan yang akurat mengenai waktu proses pengiriman, berikut adalah rekomendasi yang dapat ditindaklanjuti:

1.  **Prioritaskan Perbaikan Data `Tgl Diterima`**: Ini adalah langkah paling mendesak.
    *   **Perbaikan Data Historis**: Lakukan upaya untuk memperbaiki atau mengoreksi 10.385 entri `Tgl Diterima` yang saat ini diisi dengan tanggal *placeholder* '1900-01-01 00:00:00'. Jika memungkinkan, data yang hilang dapat direkonstruksi dari sumber lain (misalnya, sistem ekspedisi atau konfirmasi pelanggan). Jika tidak, tanggal-tanggal tersebut harus diganti dengan nilai `NULL` (jika sistem mendukung) atau tanggal *placeholder* yang secara eksplisit tidak akan memengaruhi perhitungan positif, seperti tanggal di masa depan yang sangat jauh (misalnya '2999-01-01') jika `NULL` tidak diperbolehkan.
    *   **Pencegahan di Masa Depan**: Implementasikan validasi ketat pada sistem entri data untuk memastikan bahwa `Tgl Diterima` selalu:
        *   Merupakan tanggal yang valid.
        *   Selalu setelah `Tgl Ekspedisi`.
        *   Diperbarui secara otomatis jika memungkinkan (misalnya, melalui integrasi API dengan sistem pelacakan ekspedisi).
2.  **Evaluasi Kinerja Ekspedisi**: Setelah data `Tgl Diterima` diperbaiki, lakukan analisis mendalam terhadap *lead time* "Ekspedisi ke Penerimaan". Bandingkan kinerja berbagai `Nama Ekspedisi` dan `Asal Gudang` untuk mengidentifikasi ekspeditor mana yang paling efisien dan area mana yang memerlukan peningkatan.
3.  **Transparansi Waktu Pengiriman**: Dengan data yang lebih akurat, perusahaan dapat memberikan estimasi waktu pengiriman yang lebih realistis kepada pelanggan, meningkatkan kepuasan dan mengurangi pertanyaan atau keluhan terkait pengiriman.
4.  **Monitoring Metrik Waktu Proses Berkelanjutan**: Terapkan sistem pemantauan berkelanjutan untuk semua metrik waktu proses. Ini harus mencakup peringatan otomatis jika ada *lead time* yang melampaui batas yang wajar atau jika ada anomali pencatatan tanggal yang terdeteksi.

Dengan mengatasi masalah `Tgl Diterima`, perusahaan akan dapat memperoleh gambaran yang komprehensif tentang seluruh siklus pemenuhan pesanan dan mengidentifikasi area spesifik untuk perbaikan demi meningkatkan efisiensi operasional dan kepuasan pelanggan.

## 5.4. Pengaruh Faktor Bisnis terhadap Status Pemenuhan

Bab ini mengupas secara mendalam bagaimana berbagai faktor bisnis—seperti jenis produk, partisipasi dalam program apotek online, dan metode pembayaran—memengaruhi status pemenuhan pesanan, yaitu apakah pesanan berakhir dengan status `CANCEL` (dibatalkan) atau `TERLAYANI PENUH`. Analisis ini bertujuan untuk mengidentifikasi pendorong utama di balik keberhasilan atau kegagalan pemenuhan pesanan, yang pada gilirannya dapat menjadi dasar strategi peningkatan kinerja operasional dan penjualan.

### 5.4.1 Pengaruh Jenis Produk (Pharos YN) terhadap Status Pemenuhan

Analisis ini membandingkan tingkat pembatalan dan pemenuhan penuh antara produk yang diproduksi oleh Pharos Grup (`Pharos Y`) dan produk dari pemasok lain (`Pharos N`). Pemahaman tentang bagaimana status pemenuhan berbeda berdasarkan jenis produk dapat membantu dalam strategi manajemen inventaris dan pemasaran produk.

```mermaid
xychart-beta
title "Status Pemenuhan (Status RO) berdasarkan Flag Produk Pharos"
x-axis ["CANCEL", "TERLAYANI PENUH"]
y-axis "Jumlah Catatan" auto --> auto
bar [920, 58381]
bar [820, 71194]
barLabels ["Pharos Y", "Pharos N"]
```

**Tabel 5.4.1: Status Pemenuhan Berdasarkan Jenis Produk Pharos**

| Jenis Produk | Status RO: CANCEL | Status RO: TERLAYANI PENUH | Total Pesanan | Tingkat Pembatalan |
| :----------- | :---------------- | :------------------------- | :------------ | :----------------- |
| Pharos Y     | 920               | 58,381                     | 59,301        | 1.6%               |
| Pharos N     | 820               | 71,194                     | 72,014        | 1.1%               |

**Wawasan Bisnis:**
*   **Dominasi Produk Non-Pharos**: Produk Non-Pharos (`Pharos N`) memiliki volume pesanan terlayani penuh yang lebih tinggi (71,194 catatan) dibandingkan produk Pharos (58,381 catatan), menunjukkan pangsa pasar atau preferensi pelanggan yang lebih besar.
*   **Perbedaan Tingkat Pembatalan yang Minimal**: Tingkat pembatalan untuk produk Pharos adalah 1.6%, sedikit lebih tinggi dibandingkan produk Non-Pharos sebesar 1.1%. Perbedaan sebesar 0.5% ini, meskipun ada, relatif kecil. Ini menunjukkan bahwa kepemilikan merek Pharos Grup mungkin bukan faktor dominan yang secara signifikan memengaruhi tingkat pembatalan pesanan. Faktor lain seperti ketersediaan stok, harga, atau preferensi pasar untuk produk tertentu bisa jadi lebih berpengaruh.
*   **Implikasi Strategi Produk**: Perusahaan perlu menganalisis lebih lanjut mengapa produk Non-Pharos memiliki tingkat pembatalan yang lebih rendah. Apakah ini karena ketersediaan stok yang lebih baik, harga yang lebih kompetitif, atau daya tarik pasar yang berbeda? Informasi ini dapat membantu dalam merumuskan strategi yang lebih efektif untuk produk Pharos maupun Non-Pharos.

### 5.4.2 Pengaruh Partisipasi Apotek Online (AO YN) terhadap Status Pemenuhan

Bagian ini mengeksplorasi apakah partisipasi outlet dalam program Apotek Online (`AO Y`) memiliki korelasi dengan tingkat pembatalan pesanan dibandingkan dengan outlet yang tidak berpartisipasi (`AO N`). Program Apotek Online bertujuan untuk membantu outlet dalam penjualan retail online, dan analisis ini dapat mengukur salah satu dampak positifnya terhadap loyalitas pesanan.

```mermaid
xychart-beta
title "Status Pemenuhan (Status RO) berdasarkan Flag Partisipasi Apotek Online"
x-axis ["CANCEL", "TERLAYANI PENUH"]
y-axis "Number of Records" auto --> auto
bar [595, 48136]
bar [1145, 81439]
barLabels ["AO Y", "AO N"]
```

**Tabel 5.4.2: Status Pemenuhan Berdasarkan Partisipasi Apotek Online**

| Partisipasi AO | Status RO: CANCEL | Status RO: TERLAYANI PENUH | Total Pesanan | Tingkat Pembatalan |
| :------------- | :---------------- | :------------------------- | :------------ | :----------------- |
| AO Y           | 595               | 48,136                     | 48,731        | 1.2%               |
| AO N           | 1,145             | 81,439                     | 82,584        | 1.4%               |

**Wawasan Bisnis:**
*   **Volume Transaksi Non-AO Lebih Besar**: Outlet Non-Apotek Online (`AO N`) secara signifikan memiliki volume pesanan yang lebih tinggi baik untuk yang terlayani penuh (81,439) maupun yang dibatalkan (1,145), dibandingkan dengan outlet Apotek Online (`AO Y`). Ini menunjukkan bahwa sebagian besar transaksi masih berasal dari kanal tradisional atau outlet yang belum terdaftar di program AO.
*   **Tingkat Pembatalan Lebih Rendah untuk AO Y**: Outlet yang berpartisipasi dalam program Apotek Online (`AO Y`) menunjukkan tingkat pembatalan yang sedikit lebih rendah, yaitu 1.2%, dibandingkan dengan outlet Non-Apotek Online (`AO N`) sebesar 1.4%. Meskipun perbedaannya tidak terlalu besar (0.2%), ini bisa mengindikasikan bahwa partisipasi dalam program AO dapat berkontribusi pada komitmen pesanan yang lebih tinggi atau manajemen pesanan yang lebih baik di antara pesertanya.
*   **Implikasi Strategi Program AO**: Temuan ini mendukung potensi nilai dari program Apotek Online dalam mempertahankan pesanan. Perusahaan dapat menyelidiki lebih lanjut faktor-faktor yang membuat tingkat pembatalan di outlet AO lebih rendah. Apakah ini terkait dengan visibilitas stok yang lebih baik, komunikasi yang lebih efisien, atau insentif khusus? Insight ini dapat digunakan untuk memperkuat dan memperluas program AO, atau menerapkan praktik terbaiknya ke outlet non-AO untuk meningkatkan kinerja pemenuhan pesanan secara keseluruhan.

### 5.4.3 Analisis Nilai Transaksi Berdasarkan Status Pemenuhan

Menganalisis rata-rata `Value RO` (nilai pesanan awal) dan `Value PL` (nilai yang dilayani gudang) untuk pesanan yang `CANCEL` dan `TERLAYANI PENUH` memberikan wawasan finansial yang kritis tentang dampak pembatalan terhadap pendapatan yang hilang.

```mermaid
xychart-beta
title "Rata-rata Nilai RO dan Value PL berdasarkan Status Pemenuhan"
x-axis ["CANCEL", "TERLAYANI PENUH"]
y-axis "Rata-rata Nilai" auto --> auto
bar [303985, 425090]
bar [145203, 425090]
barLabels ["Rata-rata Value RO", "Rata-rata Value PL"]
```

**Tabel 5.4.3: Rata-rata Nilai Transaksi Berdasarkan Status Pemenuhan**

| Status Pemenuhan | Rata-rata Value RO (Rp) | Rata-rata Value PL (Rp) | Selisih Rata-rata (RO - PL) (Rp) |
| :--------------- | :---------------------- | :---------------------- | :------------------------------- |
| CANCEL           | 303,985                 | 145,203                 | 158,782                          |
| TERLAYANI PENUH  | 425,090                 | 425,090                 | 0                                |

**Wawasan Bisnis:**
*   **Konsistensi pada Pemenuhan Penuh**: Untuk pesanan `TERLAYANI PENUH`, rata-rata `Value RO` dan `Value PL` adalah sama, yaitu Rp 425,090. Ini konsisten dengan definisi "terlayani penuh", di mana seluruh nilai pesanan awal berhasil dipenuhi oleh gudang.
*   **Kerugian Finansial Akibat Pembatalan**: Pada pesanan yang `CANCEL`, rata-rata `Value RO` adalah Rp 303,985, namun rata-rata `Value PL` hanya Rp 145,203. Ini menunjukkan bahwa untuk pesanan yang dibatalkan, hanya sebagian kecil (sekitar 47.7%) dari nilai pesanan awal yang berhasil diproses hingga tahap *packing list*. Selisih rata-rata sebesar Rp 158,782 per pesanan yang dibatalkan merupakan potensi kerugian penjualan yang signifikan. Hal ini menyoroti urgensi untuk mengurangi tingkat pembatalan, karena setiap pembatalan tidak hanya berarti kehilangan satu transaksi tetapi juga nilai ekonomi yang besar.
*   **Implikasi Pengelolaan Risiko**: Pemahaman tentang dampak finansial pembatalan ini penting untuk pengelolaan risiko dan perencanaan penjualan. Strategi pencegahan pembatalan, seperti konfirmasi pesanan yang lebih awal, pengelolaan stok yang transparan, atau insentif untuk melanjutkan pesanan, dapat memiliki dampak finansial yang besar.

### 5.4.4 Pengaruh Metode Pembayaran terhadap Status Pemenuhan

Metode pembayaran yang dipilih oleh pelanggan dapat mencerminkan tingkat komitmen atau kepercayaan mereka terhadap pesanan, yang pada gilirannya dapat memengaruhi tingkat pembatalan. Analisis ini membandingkan status pemenuhan pesanan di berbagai metode pembayaran yang tersedia.

```mermaid
xychart-beta
title "Status Pemenuhan (Status RO) berdasarkan Metode Pembayaran"
x-axis ["CANCEL", "TERLAYANI PENUH"]
y-axis "Number of Records" auto --> auto
bar [911, 77942]
bar [262, 15454]
bar [0, 131]
bar [567, 36048]
barLabels ["BCA Virtual Account", "BRIVA", "Kredivo", "Term Of Payment"]
```

**Tabel 5.4.4: Status Pemenuhan Berdasarkan Metode Pembayaran**

| Metode Pembayaran   | Status RO: CANCEL | Status RO: TERLAYANI PENUH | Total Pesanan | Tingkat Pembatalan |
| :------------------ | :---------------- | :------------------------- | :------------ | :----------------- |
| BCA Virtual Account | 911               | 77,942                     | 78,853        | 1.2%               |
| BRIVA               | 262               | 15,454                     | 15,716        | 1.7%               |
| Kredivo             | 0                 | 131                        | 131           | 0.0%               |
| Term Of Payment     | 567               | 36,048                     | 36,615        | 1.5%               |

**Wawasan Bisnis:**
*   **BCA Virtual Account Mendominasi Volume**: `BCA Virtual Account` merupakan metode pembayaran dengan volume transaksi terbesar, baik untuk pesanan yang terlayani penuh (77,942) maupun yang dibatalkan (911). Tingkat pembatalannya berada di angka 1.2%.
*   **BRIVA dan Term Of Payment dengan Tingkat Pembatalan Relatif Lebih Tinggi**: `BRIVA` menunjukkan tingkat pembatalan tertinggi di antara metode pembayaran utama, yaitu 1.7%. `Term Of Payment` juga memiliki tingkat pembatalan yang relatif tinggi di 1.5%. Ini mungkin mengindikasikan bahwa metode pembayaran ini memberikan lebih banyak peluang atau waktu bagi pelanggan untuk berubah pikiran atau menghadapi kendala pembayaran.
*   **Kredivo: Nol Pembatalan**: Fenomena paling menarik adalah `Kredivo`, yang meskipun memiliki volume transaksi paling kecil (131 pesanan), mencatat tingkat pembatalan 0.0%. Ini menunjukkan bahwa pelanggan yang memilih Kredivo memiliki komitmen yang sangat tinggi terhadap pesanan mereka. Hal ini mungkin disebabkan oleh mekanisme cicilan yang ditawarkan, pemeriksaan kredit awal, atau sifat psikologis dari pembayaran melalui layanan finansial pihak ketiga.

**Implikasi Strategi Pembayaran:**
*   **Optimalisasi Metode Pembayaran dengan Tingkat Pembatalan Tinggi**: Perusahaan perlu meninjau proses yang terkait dengan `BRIVA` dan `Term Of Payment`. Apakah ada penundaan dalam konfirmasi pembayaran, prosedur yang rumit, atau kurangnya insentif untuk menyelesaikan transaksi? Mengidentifikasi dan mengatasi hambatan ini dapat membantu mengurangi tingkat pembatalan.
*   **Pemanfaatan Potensi Kredivo**: Pelajari lebih lanjut mengapa Kredivo menunjukkan nol pembatalan. Bisakah model atau fitur yang mendorong komitmen pelanggan di Kredivo direplikasi atau diadaptasi pada metode pembayaran lain? Meskipun volume kecil, ini bisa menjadi *proof of concept* untuk meningkatkan loyalitas pesanan.
*   **Komunikasi dan Insentif**: Tingkatkan komunikasi dengan pelanggan yang memilih metode pembayaran dengan tingkat pembatalan lebih tinggi untuk mengingatkan mereka tentang tenggat waktu pembayaran atau menawarkan insentif kecil untuk menyelesaikan pesanan.

Secara keseluruhan, analisis faktor bisnis ini menyoroti area-area kunci di mana perusahaan dapat melakukan intervensi untuk meningkatkan tingkat pemenuhan pesanan dan mengurangi kerugian finansial akibat pembatalan. Fokus pada pemahaman perilaku pelanggan terkait jenis produk, partisipasi program, dan metode pembayaran akan menjadi kunci untuk mendorong kinerja di masa depan.

## 6. Kesimpulan dan Rekomendasi

Melalui eksplorasi data yang telah komprehensif, laporan ini berhasil mengungkap berbagai dinamika dalam proses pemenuhan pesanan pelanggan, mulai dari efisiensi operasional internal hingga anomali data yang berpotensi merugikan secara finansial dan strategis. Analisis ini memberikan gambaran kritis tentang kekuatan yang dimiliki serta area-area krusial yang memerlukan perbaikan segera untuk meningkatkan kinerja, penjualan, dan kepuasan pelanggan secara keseluruhan.

### A. Kesimpulan Utama

1.  **Efisiensi Operasional Internal yang Kuat, Namun Dibayangi Anomali Data Kritis:**
    Proses internal dari penerimaan pesanan hingga barang siap dijemput ekspedisi menunjukkan efisiensi yang sangat baik. Rata-rata waktu dari `Tgl. Order` ke `Tgl DO` (0,44 hari), `Tgl DO` ke `Tgl Logbook` (0,25 hari), dan `Tgl Logbook` ke `Tgl Ekspedisi` (0,09 hari) sangatlah cepat. Demikian pula, gudang menunjukkan kinerja yang optimal dalam pemenuhan kuantitas; setiap item yang masuk dalam Surat Pesanan (SP) berhasil dipenuhi 100% secara kuantitas. Ini adalah bukti kekuatan dalam operasional gudang dan persiapan pengiriman.

    ```mermaid
    xychart-beta
    title "Rata-rata Waktu Siklus (Hari) - Hanya Entri Valid"
    x-axis ["Order ke Pembuatan DO", "Pembuatan DO ke Logbook", "Logbook ke Ekspedisi", "Ekspedisi ke Penerimaan"]
    y-axis "Rata-rata Hari" auto --> auto
    bar [0.44, 0.25, 0.09, -484.08]
    ```
    Namun, efisiensi ini dibayangi oleh beberapa anomali data yang sangat serius:
    *   **Inkonsistensi Identifikasi Pelanggan:** 365 `KodePI` memiliki `Cmc` 'UNKNOWN', yang menghambat segmentasi pelanggan yang akurat dan integrasi data.
    *   **Ketidakpatuhan Proses Dokumen:** 126 `No. SP` tidak menghasilkan `No. DO`, menunjukkan potensi pesanan yang tidak terpenuhi atau hilang, yang bertentangan dengan aturan bisnis "1 SP menerbitkan 1 DO".
    *   **Inkonsistensi Kuantitas Pesanan:** Sebanyak 2.087 baris memiliki `Qty RO` yang tidak sama dengan `Qty SP` (2.001 kasus `Qty RO` > `Qty SP`, 86 kasus `Qty SP` > `Qty RO`), dengan rata-rata selisih 7 unit. Ini mengindikasikan masalah pada tahap awal pencatatan pesanan atau konversi, yang dapat memengaruhi perencanaan inventaris dan penagihan.
    *   **Anomali Finansial Kritis (`Value PL > Value RO`):** 1.032 baris menunjukkan `Value PL` lebih besar dari `Value RO`, dengan rata-rata persentase perbedaan mencapai 2.655,5%. Ini merupakan *red flag* finansial yang sangat serius, berpotensi memengaruhi akurasi laporan keuangan dan menimbulkan risiko audit.
    *   **Pengukuran Waktu Pengiriman yang Rusak:** Rata-rata waktu dari `Tgl Ekspedisi` ke `Tgl Diterima` adalah -484,08 hari, disebabkan oleh penggunaan tanggal *placeholder* yang masif. Hal ini membuat tidak mungkin untuk mengukur kinerja pengiriman akhir atau menganalisis kepuasan pelanggan terkait *lead time* pengiriman.

2.  **Pemenuhan Nilai Menunjukkan Risiko Keuangan:**
    Meskipun mayoritas pesanan mencapai "Pemenuhan Nilai Penuh" (129.575 catatan `Value PL` = `Value RO`), masih ada 708 catatan dengan "Pemenuhan Nilai Sebagian" (`Value PL` < `Value RO`) dan anomali signifikan pada 1.032 catatan di mana `Value PL` melebihi `Value RO`.

    ```mermaid
    xychart-beta
    title "Kategori Pemenuhan Nilai"
    x-axis ["Pemenuhan Nilai Penuh", "Pemenuhan Nilai Sebagian", "Value PL > Value RO (Anomali)"]
    y-axis "Jumlah Catatan" 0 --> auto
    bar [129575, 708, 1032]
    ```

3.  **Dampak Finansial Signifikan dari Pembatalan Pesanan:**
    Pesanan yang dibatalkan (`CANCEL`) menunjukkan potensi kerugian penjualan yang besar. Rata-rata `Value RO` untuk pesanan yang dibatalkan adalah Rp 303.985, tetapi rata-rata `Value PL` hanya Rp 145.203. Ini berarti perusahaan kehilangan sekitar Rp 158.782 per pesanan yang dibatalkan, menyoroti urgensi untuk mengurangi tingkat pembatalan.

    ```mermaid
    xychart-beta
    title "Rata-rata Nilai RO dan Value PL berdasarkan Status Pemenuhan"
    x-axis ["CANCEL", "TERLAYANI PENUH"]
    y-axis "Average Value" auto --> auto
    bar [303985, 425090]
    bar [145203, 425090]
    barLabels ["Rata-rata Value RO", "Rata-rata Value PL"]
    ```

4.  **Faktor Pendorong Status Pemenuhan Memberikan Wawasan Strategis:**
    *   **Jenis Produk (`Pharos YN`):** Produk Non-Pharos memiliki volume pesanan lebih tinggi dan tingkat pembatalan sedikit lebih rendah (1,1%) dibandingkan produk Pharos (1,6%). Perbedaannya tidak signifikan, menunjukkan bahwa identitas merek Pharos mungkin bukan faktor dominan tunggal dalam pembatalan.
        ```mermaid
        xychart-beta
        title "Fulfillment Status (Status RO) by Pharos Product Flag"
        x-axis ["CANCEL", "TERLAYANI PENUH"]
        y-axis "Number of Records" auto --> auto
        bar [920, 58381]
        bar [820, 71194]
        barLabels ["Pharos Y", "Pharos N"]
        ```
    *   **Partisipasi Apotek Online (`AO YN`):** Outlet yang berpartisipasi dalam program Apotek Online (`AO Y`) menunjukkan tingkat pembatalan yang sedikit lebih rendah (1,2%) dibandingkan non-partisipan (`AO N`) (1,4%). Hal ini mengindikasikan program AO mungkin berkontribusi pada komitmen pesanan yang lebih tinggi.
        ```mermaid
        xychart-beta
        title "Fulfillment Status (Status RO) by Apotek Online Participant Flag"
        x-axis ["CANCEL", "TERLAYANI PENUH"]
        y-axis "Number of Records" auto --> auto
        bar [595, 48136]
        bar [1145, 81439]
        barLabels ["AO Y", "AO N"]
        ```
    *   **Metode Pembayaran (`Payment`):** Metode `Kredivo` menunjukkan tingkat pembatalan 0,0%, meskipun dengan volume kecil. Sebaliknya, `BRIVA` memiliki tingkat pembatalan tertinggi (1,7%), diikuti `Term Of Payment` (1,5%) dan `BCA Virtual Account` (1,2%). Ini menunjukkan bahwa metode pembayaran sangat memengaruhi komitmen pelanggan dan perlu ditinjau lebih lanjut.
        ```mermaid
        xychart-beta
        title "Fulfillment Status (Status RO) by Payment Method"
        x-axis ["CANCEL", "TERLAYANI PENUH"]
        y-axis "Number of Records" auto --> auto
        bar [911, 77942]
        bar [262, 15454]
        bar [0, 131]
        bar [567, 36048]
        barLabels ["BCA Virtual Account", "BRIVA", "Kredivo", "Term Of Payment"]
        ```

### B. Rekomendasi

Untuk memanfaatkan kekuatan operasional dan mengatasi kelemahan data serta proses, berikut adalah rekomendasi yang dibagi menjadi kategori Urgen, Strategis, dan Jangka Panjang:

#### 1. Urgen: Perbaikan Kualitas Data dan Audit Proses Kritis

*   **Audit dan Perbarui `Cmc` 'UNKNOWN':**
    *   **Aksi:** Segera identifikasi dan perbarui `Cmc` untuk 365 `KodePI` yang saat ini tidak memiliki informasi tersebut. Sumber data master pelanggan harus menjadi prioritas.
    *   **Manfaat:** Memungkinkan segmentasi pelanggan yang lebih akurat, analisis perilaku *outlet* yang komprehensif, dan integrasi data yang lancar antar sistem.
*   **Investigasi `No. SP` Tanpa `No. DO`:**
    *   **Aksi:** Lakukan audit mendalam pada 126 `No. SP` yang tidak memiliki `No. DO`. Pahami apakah ini adalah pembatalan yang tidak tercatat, masalah stok, atau *error* sistem. Perbaiki status `RO`/`SP` yang relevan jika pesanan memang dibatalkan atau tidak dipenuhi.
    *   **Manfaat:** Mengurangi kerugian penjualan, meningkatkan akurasi laporan pemenuhan, dan memperbaiki integritas proses konversi SP ke DO.
*   **Rekonsiliasi `Qty RO` dan `Qty SP`:**
    *   **Aksi:** Periksa akar masalah dari 2.087 ketidaksesuaian kuantitas antara `Qty RO` dan `Qty SP`. Implementasikan validasi otomatis pada tahap entri pesanan untuk memastikan konsistensi. Jika ada perubahan kuantitas, harus ada mekanisme pencatatan yang jelas dan terdokumentasi.
    *   **Manfaat:** Meningkatkan akurasi perencanaan inventaris, mengurangi risiko penagihan yang salah, dan meningkatkan efisiensi operasional hulu.
*   **Audit Finansial Anomali `Value PL > Value RO`:**
    *   **Aksi:** Ini adalah prioritas tertinggi. Lakukan audit forensik pada 1.032 catatan. Tentukan penyebabnya (kesalahan harga, penambahan item tanpa pembaruan `RO`, masalah diskon/pajak, atau potensi penyalahgunaan). Perkuat kontrol internal dan *audit trail*.
    *   **Manfaat:** Memastikan akurasi laporan keuangan, menghindari risiko audit, dan mencegah kerugian finansial yang tidak terdeteksi.
*   **Perbaikan Data `Tgl Diterima` dan Metrik *Lead Time* Pengiriman:**
    *   **Aksi:** Lakukan upaya perbaikan data historis `Tgl Diterima` (10.385 entri) yang diisi dengan tanggal *placeholder*. Ganti dengan `NULL` atau data yang relevan jika memungkinkan. Terapkan validasi sistem yang ketat untuk memastikan `Tgl Diterima` selalu setelah `Tgl Ekspedisi` dan merupakan tanggal yang valid. Pertimbangkan integrasi API dengan sistem ekspedisi untuk otomatisasi.
    *   **Manfaat:** Memungkinkan pengukuran akurat efisiensi pengiriman akhir, evaluasi kinerja ekspeditor, dan analisis kepuasan pelanggan terkait waktu pengiriman.

#### 2. Strategis: Optimalisasi Proses dan Bisnis

*   **Analisis Akar Masalah Pembatalan Pesanan:**
    *   **Aksi:** Selidiki lebih dalam mengapa pesanan dibatalkan, terutama yang memiliki `Value RO` tinggi. Apakah karena stok habis, harga, kompetitor, atau masalah pengiriman? Gunakan temuan ini untuk mengembangkan strategi pencegahan pembatalan, seperti komunikasi proaktif mengenai ketersediaan dan estimasi waktu pengiriman.
    *   **Manfaat:** Mengurangi potensi kerugian penjualan yang signifikan (rata-rata Rp 158.782 per pembatalan).
*   **Manfaatkan Potensi Program Apotek Online:**
    *   **Aksi:** Pelajari praktik terbaik yang berkontribusi pada tingkat pembatalan yang lebih rendah pada *outlet* Apotek Online. Pertimbangkan untuk memperluas program atau menerapkan pelajaran tersebut ke *outlet* non-AO.
    *   **Manfaat:** Meningkatkan retensi pesanan dan memperkuat hubungan dengan *outlet*.
*   **Optimalisasi Strategi Metode Pembayaran:**
    *   **Aksi:** Selidiki mengapa `Kredivo` memiliki tingkat pembatalan nol. Bisakah fitur atau skema komitmen yang ada pada Kredivo direplikasi atau diadaptasi pada metode pembayaran lain? Tinjau proses `BRIVA` dan `Term Of Payment` untuk mengidentifikasi hambatan yang menyebabkan tingkat pembatalan lebih tinggi dan mencari cara untuk menguranginya.
    *   **Manfaat:** Meningkatkan konversi pesanan, mengurangi pembatalan, dan mengoptimalkan arus kas.

#### 3. Jangka Panjang: Peningkatan Sistem dan Tata Kelola Data

*   **Implementasi Validasi Data Otomatis:**
    *   **Aksi:** Integrasikan validasi data otomatis pada setiap titik entri data dan transisi antar tahapan (misalnya, `Qty SP` tidak boleh berbeda dari `Qty RO` tanpa justifikasi, `Value PL` tidak boleh melebihi `Value RO`, tanggal harus valid dan berurutan).
    *   **Manfaat:** Mencegah anomali data di masa depan, meningkatkan integritas data secara proaktif.
*   **Peningkatan *Audit Trail*:**
    *   **Aksi:** Pastikan setiap perubahan pada data kunci (kuantitas, nilai, status) tercatat dengan lengkap, termasuk siapa yang melakukan perubahan dan kapan.
    *   **Manfaat:** Memfasilitasi penyelidikan anomali dan meningkatkan akuntabilitas.
*   **Sistem Pemantauan Metrik Berkelanjutan:**
    *   **Aksi:** Bangun *dashboard* dan laporan otomatis untuk memantau metrik kualitas data dan kinerja operasional secara berkelanjutan, dengan peringatan dini untuk anomali.
    *   **Manfaat:** Mendukung pengambilan keputusan berbasis data yang proaktif dan berkelanjutan.
*   **Pelatihan Karyawan dan Dokumentasi Proses:**
    *   **Aksi:** Berikan pelatihan rutin kepada staf yang terlibat dalam entri dan pemrosesan pesanan mengenai pentingnya kualitas data dan prosedur yang benar. Perbarui dokumentasi alur kerja secara berkala.
    *   **Manfaat:** Membangun budaya kesadaran data dan memastikan kepatuhan terhadap standar operasional.

Dengan mengimplementasikan rekomendasi ini, perusahaan dapat tidak hanya mengatasi masalah data yang ada tetapi juga membangun fondasi yang lebih kuat untuk pertumbuhan yang berkelanjutan, meningkatkan efisiensi operasional, dan pada akhirnya, memperkuat hubungan dengan pelanggan melalui pengalaman pemenuhan pesanan yang lebih andal dan transparan.