Statistics: People Analytics
Logika Counting, Dwelling, dan Density (kepadatan per-frame dan ambang crowding) untuk statistik orang (analitik MPA), atribut demografis termasuk MPA2, tiga dashboard Bawaan, komponen library, dan contoh query.
Pengenalan
Bayangkan pengelola pusat perbelanjaan yang ingin tahu tiga hal tentang pengunjungnya: berapa yang masuk dan keluar (penghitungan), berapa lama mereka bertahan di depan etalase dan apakah mereka akhirnya masuk (durasi tinggal), serta seberapa padat suatu area pada jam tertentu (kepadatan). Statistik People Analytics menjawab ketiganya dari event yang dihasilkan analitik orang Visionaire, lengkap dengan atribut seperti gender, usia, masker, dan warna pakaian.
Pada Statistics, seluruh varian analitik orang digabung dalam satu analitik registry dengan ID MPA (label People Analytics) yang memiliki tiga Logika (sub-mode): Penghitungan (counting, bawaan), Dwelling (dwelling), dan Kepadatan (density). Setiap logika punya metrik sendiri, sedangkan dimensi atribut dibagi bersama. Lenz menyertakan satu dashboard Bawaan per logika.
Varian tipe event yang tercakup: NFV4-MPA, NFV4-MPAA, NFV4-MPA2, dan NFV4-MPAW (deteksi senjata). Dimensi berlabel MPA2 di editor widget (body_type, face_expression, footwear_color, gloves, upper_cloth, lower_cloth, people) hanya berisi data dari stream yang menjalankan NFV4-MPA2; saat dipilih, backend otomatis membaca agregat MPA2 sehingga angka widget itu tidak mencakup stream MPAA lama. Dimensi weapon_type hanya berisi data dari stream NFV4-MPAW.
Cara Menggunakan
Membaca Dashboard Bawaan Counting
Buka dashboard Bawaan People Analytics untuk logika Counting
Di daftar Dashboard, buka kartu Bawaan People Analytics (MPAA) dengan akhiran Counting. Dashboard ini mendeklarasikan NFV4-MPA:counting, NFV4-MPAA:counting, dan NFV4-MPA2:counting untuk Tampilkan di Detail Stream. Dua kartu lainnya (Density dan Dwelling) mengikuti pola yang sama untuk logikanya masing-masing.

Baca angka kunci dan arah
Tiga Scorecard: Total people, People in, dan People out. Line chart People over time by direction menggambar total per hari dipecah per nilai Direction (in, out). Bagian In & Out Breakdown menambahkan bar Gender by direction dan In & Out by area untuk melihat siapa yang masuk lewat area mana.
Telusuri atribut dan jam tersibuk
Bagian Stream Distribution (donat By Stream dan tabel Stream details) serta heatmap People by hour mengikuti pola dashboard Bawaan lainnya. Kontainer Tab Attributes memuat tab Direction, Gender, Age, Mask, Glasses, Head covering, warna pakaian, dan atribut MPA2 seperti Body type dan Upper cloth.
Cari jam paling dan paling tidak ramai
Bagian Busiest & Quietest Hours membandingkan Total people per jam, bukan per hari: bar horizontal Busiest hours (10 jam dengan angka tertinggi) dan Quietest hours (10 terendah), lalu tabel Busiest hours by stream dan Quietest hours by stream yang memecah 10 jam teratas/terbawah itu per stream. Karena widget ini memakai granularitas Per jam, rentang tanggal yang bisa dipilih maksimal 31 hari.
Membaca Dashboard Bawaan Dwelling
Baca durasi tinggal
Baris atas dashboard Dwelling menampilkan Visits, Avg dwell duration, Min dwell duration, dan Max dwell duration (detik). Donat Dwell duration distribution membagi kunjungan ke empat pita: Short visits (0-60s), Medium visits (61-300s), Long visits (301-900s), dan Very long visits (>900s). Line chart Dwell duration over time memplot rata-rata, median, dan maksimum per hari.
Baca perilaku pengunjung
Bagian Visitor Behavior mengklasifikasikan setiap kunjungan: Entered (melintasi garis masuk), Lookers (tidak masuk tetapi bertahan lebih dari 10 detik), dan Passersby (tidak masuk dan bertahan 10 detik atau kurang). Scorecard Entered, Did not enter, Solo visitors, dan Group visitors dilengkapi donat Visitor behavior, bar Visitor behavior over time, dan bar Visitor behavior by solo/group yang memecah ketiga kelas berdasarkan dimensi Solo/Group.

Bandingkan area dan stream
Bagian Area Analysis berisi donat Solo vs group dan tabel Area details (Visits, Min/Avg/Max dwell duration, Entered, Lookers, Passersby per area). Bagian Stream Distribution dan heatmap Visits by hour menutup dashboard sebelum kontainer Longest & Shortest Stays.
Temukan area dengan kunjungan terlama dan tersingkat
Bagian Longest & Shortest Stays membandingkan durasi antar area: bar horizontal Longest stays by area (10 area dengan Max dwell duration tertinggi) dan Shortest stays by area (10 area dengan Min dwell duration terendah), lalu tabel Dwell time by stream and area per day yang merinci Visits serta durasi min/rata-rata/maks per stream, area, dan hari. Tab Attributes menutup dashboard.
Membaca Dashboard Bawaan Density
Baca kepadatan per frame
Empat Scorecard di baris atas: Total detections (setiap orang yang terdeteksi di tiap frame, dijumlahkan — bukan tingkat kepadatan, melainkan total throughput), Avg density, Peak density, dan Lowest density (jumlah orang per frame). Line Detections over time memplot total per hari, sedangkan People per frame over time memplot rata-rata, puncak, dan terendah per hari dalam satu grafik. Lowest density hanya menghitung frame yang memang mendeteksi orang — frame kosong tidak ikut menurunkan angkanya.
Bandingkan stream dan area
Bagian Stream Distribution berisi donat Detections by stream dan tabel Stream details (Total detections, Frames with people, Avg/Peak/Lowest density per stream). Bagian Area Analysis berisi bar Density by area (Avg dan Peak density) serta tabel Area details per stream dan area.
Atur ambang kepadatan (Crowding Threshold)
Bagian Crowding Threshold menjawab "seberapa sering dan seberapa lama suatu area menampung minimal N orang dalam satu frame". Scorecard Time occupied (persentase frame yang berisi minimal satu orang), Time above threshold dan Frames above threshold (persentase dan jumlah frame dengan minimal N orang), serta Frames observed (total frame yang diamati) dilengkapi line Time above threshold over time, bar Time above threshold by area, dan tabel Threshold by stream and area. N diatur lewat selektor At least pada metrik; dashboard Bawaan memakai N = 10, dan frame kosong tetap dihitung sebagai waktu yang diamati.
Periksa jam terpadat
Bagian Peak Time Analysis menampilkan heatmap Detections by hour dan Avg density by hour (people/frame). Tab Attributes menutup dashboard, dengan catatan bahwa baris atribut hanya terisi dari frame yang mendeteksi orang — irisan gender/usia dan sebagainya tidak berlaku untuk frame kosong.
Metrik & Dimensi
Logika Penghitungan (counting)
Prop
Type
Dimensi khusus logika ini: direction (Direction, string, biasanya in dan out).
Logika Dwelling (dwelling)
Rilis terbaru mengganti label Dwelling events menjadi Visits di seluruh metrik dwelling — nilai dan cara hitungnya sama, hanya labelnya yang berubah agar lebih jelas bagi operator.
Prop
Type
Dimensi khusus logika ini: party (Solo/Group, enum Solo, Group, Unknown).
Logika Kepadatan (density)
Selain total deteksi, logika ini menghitung kepadatan per frame: berapa orang yang terdeteksi dalam satu frame kamera, dirata-ratakan atau diambil puncak/terendahnya. Frame yang sama sekali tidak mendeteksi orang tidak ikut dihitung pada metrik per-frame, sehingga Avg/Lowest density tidak tertarik ke nol oleh waktu area kosong.
Prop
Type
Frames above threshold dan Time above threshold memakai parameter At least dengan pilihan tetap: 2, 3, 4, 5, 6, 8, 10, 12, 15, 20, 25, 30, 40, 50, 75, atau 100 orang per frame. Nilai di luar daftar ini ditolak dengan kode INVALID_PARAM.
Dimensi bersama
Tersedia untuk Kelompokkan dan Filter pada ketiga logika (semua filter memakai operator in):
| Dimensi | Label | Tipe | Nilai / catatan |
|---|---|---|---|
stream_id | Stream | string | ID stream |
area | Area | string | Nama area yang digambar pada konfigurasi analitik |
analytic_id | Analytic variant | enum | NFV4-MPA, NFV4-MPAA, NFV4-MPA2, NFV4-MPAW |
gender | Gender | enum | Female, Male |
age | Age | enum | Adult, Child, Elderly, Unknown |
mask | Mask | enum | Mask, No Mask |
glasses | Glasses | enum | Glasses, No Glasses |
head_covering | Head covering | enum | Hat, Hijab, None, Unknown |
upper_color | Upper color | string | Warna pakaian atas |
lower_color | Lower color | string | Warna pakaian bawah |
body_type | Body type | string | Hanya MPA2 |
face_expression | Face expression | string | Hanya MPA2 |
footwear_color | Footwear color | string | Hanya MPA2 |
gloves | Gloves | string | Hanya MPA2 |
upper_cloth | Upper cloth | string | Hanya MPA2 (jenis pakaian atas) |
lower_cloth | Lower cloth | string | Hanya MPA2 (jenis pakaian bawah) |
people | People attributes | string | Hanya MPA2; atribut gabungan orang |
weapon_type | Weapon type | string | Hanya MPAW; unknown bila model tidak memberi verdict |
Granularitas: hour, day, week, month, quarter, year, atau kosong. Batas rentang: 31 hari (hour), 365 hari (day), 730 hari (lainnya). Pengelompokan Harian kini mengikuti hari kalender lokal site (bawaan WIB/Asia Jakarta, dapat dikonfigurasi per deployment) untuk ketiga logika, bukan lagi jendela 07:00–07:00 seperti sebelumnya.
Komponen Library
Panel Tambah komponen untuk Analytic People Analytics meminta Logika lebih dulu, lalu menawarkan:
| Logika | Komponen |
|---|---|
| Penghitungan | KPI Total people, People in, People out; Tren harian; Periode puncak; Periode tersibuk / Periode tersepi; Direction dari waktu ke waktu; Distribusi per atribut orang (Gender, Age, Mask, Glasses, Head covering, Upper color, Lower color, dan atribut MPA2); Arus arah (proporsi in vs out); Gender per arah dan Area per arah; Stream teratas; Distribusi stream; Perbandingan Area |
| Dwelling | KPI Visits, Avg dwell duration, Median dwell duration (approx), Min dwell duration, Max dwell duration, Entered, Did not enter, Avg dwell (entered); Tren harian; Periode puncak; Periode tersibuk / Periode tersepi; Distribusi per atribut; Perilaku pengunjung; Perilaku pengunjung dari waktu ke waktu; Solo vs grup; Perilaku pengunjung per solo/grup; Ringkasan Area; Durasi menetap dari waktu ke waktu; Distribusi durasi dwell; Proporsi durasi dwell; Stream teratas; Distribusi stream; Perbandingan Area |
| Kepadatan | KPI Total detections, Avg density, Peak density, Lowest density, Frames observed, Time occupied; Tren harian; Periode puncak; Periode tersibuk / Periode tersepi; Distribusi per atribut; Stream teratas; Distribusi stream; Perbandingan Area |
Komponen Periode tersibuk / Periode tersepi dan Perbandingan Area memakai peringkat 10 teratas/terbawah secara bawaan. Bagian Busiest & Quietest Hours, Longest & Shortest Stays, dan Crowding Threshold pada dashboard Bawaan bukan komponen Library yang bisa ditambahkan langsung — widget itu disusun manual di editor widget memakai kontrol Urutan (Semua/N teratas/N terbawah, tersedia untuk visualisasi Bar dan Tabel) dan, untuk metrik berparameter seperti Frames with ≥N people, selektor At least yang muncul otomatis saat metrik itu dipilih.
Contoh Query API
Perilaku pengunjung per Solo/Group untuk satu area selama 30 hari (setara widget Visitor behavior by solo/group):
{
"analytic": "MPA",
"sub_mode": "dwelling",
"metrics": ["entered_count", "looker_count", "passerby_count"],
"dimensions": ["party"],
"granularity": "",
"time_range": { "start": "2026-08-20", "end": "2026-09-18" },
"filters": {
"area": { "op": "in", "value": ["Etalase A"] }
},
"viz_kind": "bar"
}Penghitungan per jam untuk satu hari dengan pemisahan arah (setara drill-down pada People over time by direction):
{
"analytic": "MPA",
"sub_mode": "counting",
"metrics": ["total_people"],
"dimensions": ["direction"],
"granularity": "hour",
"time_range": { "start": "2026-09-17", "end": "2026-09-17" },
"filters": {
"stream_id": { "op": "in", "value": ["stream-lobby-01"] }
}
}Seberapa sering area menampung minimal 20 orang dalam satu frame, per area, selama 7 hari terakhir (setara widget Threshold by stream and area dengan N diubah ke 20):
{
"analytic": "MPA",
"sub_mode": "density",
"metrics": ["frame_samples", "frames_above", "share_above"],
"dimensions": ["area"],
"granularity": "",
"time_range": { "start": "2026-09-12", "end": "2026-09-18", "preset": "last_7d" },
"params": { "threshold": 20 }
}Query tanpa sub_mode pada analitik MPA ditolak dengan kode EMPTY_SELECTION pada field sub_mode. Endpoint legacy GET /api/statistics/mpa/* dan /api/statistics/mpaa/* masih tersedia; lihat API Reference.
Tips & Troubleshooting
Selanjutnya
Statistics: Face Recognition
Metrik, dimensi, dashboard Bawaan, dan komponen library untuk statistik pengenalan wajah (analitik FRA) pada Statistics Lenz.
Statistics: Vehicle Analytics
Logika Counting, Dwelling, Density (kepadatan per-frame dan ambang crowding), dan Speed untuk statistik kendaraan (analitik MVA), atribut kendaraan, empat dashboard Bawaan, komponen library, dan contoh query.