S-1Orders by DayTypePickerslast 30 dates → L7D · CW · LW · MTD · LM · click a date for the hour drill
S-2Orders by WeekMon-anchored · last 12 · current week first
S-3Orders by Month
S-4Orders Review
Orders by Hour
Management — by Order Typeclick a tile title → per-store drill
Store League — MTD
SLA% by Store × WeekSLA = packed within Simple 5m / Medium 10m / Complex 20m of payment (instant) · scheduled = packed before slot start · last 8 weeks
Picker / Packer Performance3 rows per picker: Orders · Time (avg paid→packed) · SKU/min — last 8 dates → CW · LW · MTD · LM · grouped by store
Time = avg paid→packed min · SKU/min = SKUs ÷ picking minutes · Generic (store login) excluded from ranking · identity = OMS picker name until the NIK bridge lands
Picker Scorecard — Speed Index · MTD
P-1Competitiveness vs Competitor
FMCGFruits & Veg
ActiveNon-ActiveAll
◀▶
BASIS
GMV-weighted · index = Σ(GMV × Propose ÷ competitor price × 100) ÷ Σ(GMV), matched SKUs only · lower = more competitive
Cheaper / At Par / More Expensive
Cheaper <99 Par 99–101 Expensive >101
Index Trend by Competitor
WeightedSimple
lower = more competitive
P-2Competitive Index Trend (our price ÷ competitor · 100 = parity · below = cheaper · blended across competitors)
P-3Match Coverage — competitor tracking by department (latest snapshot)
Active (SSOT)All
Share of each department's SKUs with a price from each competitor (latest snapshot) · blue = better coverage · amber = blind spots
P-4Availability by Competitor (● ≥1 competitor priced it · ○ none · last 12 scans)
Currently Dark = no competitor priced it in the latest scan · Persistently Dark = dark in ≥10 of the last 12 scans · Newly Dark = went dark in the last 1–3 scans (was visible before).
Loading…
P-5FMCG pricing
◀latest (live)▶
Loading…
Position: index vs GM
Summary by competitor — filtered scope
P-6SKU Pricing Drill
◀latest (live)▶
Loading SKU pricing…
P-7F&V Daily Pricing — Lebak Bulus
Daily Movers◀week▶(scroll to change week)
Loading…
Summary by competitor — weekly average
Price leadership by day (# SKUs each competitor is the lowest)
Daily index by Group Family
P-8Pricing Margin Mix (by pricing-type · sales-weighted from FSR)
Margin Waterfall · Existing MTU (existing customers)
P-9Pricing Strategy — elasticity & sweet-spot
Price-sensitivity map (elasticity × weekly GMV · click a bubble for detail)
SKU verdict table
P-10Hook SKUs acquisition pricing · price-down episodes · all complete weeks since Jan · knobs AND togetherloads on tab open…
PeriodSortFindExclude
Price drop ≥5%
Index in PD ≤105
New MTU gain ≥2/wk
Qty uplift ≥1.5×
Avail-drop flag ≥10pp
Hooks shown
—
New MTU / wk added
—
Median Rp / new MTU
—
Margin invest / wk
—
Decision map — new MTU gain vs● GM-Raf ≥ 0 in PD ● margin burn ◌ flagged
Pre = 4 wks before the price-down · PD = episode weeks (drop ≥5% vs trailing-median ASP, holds while ≤97%) · New MTU = first-ever-order users whose basket had the SKU · Rp/MTU = margin given up ÷ new MTU gained · Hook Rp = attractive rounding of 85% × binding comp at latest 3-wk cost · flags: avail +10pp / campaign ≥40% / trader ≥20% / GM-Raf <−15% / avail-drop ≥slider-pp (D) · adj = demand normalized to full availability (OOS-censoring: sold-out weeks with ≥50% of stores out all week extend the episode instead of ending it) · row click = details + SKU drill
MD Team — Weekly ReviewHODBuyer
Month-over-month — GMV by customer type stacked New / Existing · GMV + unique users · GM/NM lines
NewExisting
Daily — this month vs last month GMV bars · GM/NM lines · PD/TT/Reg · orders / MTU / anomalies
Performance table
click rows to expand · drag column edges to resize · Det / NewSKU columns refine in Section 5
Loading…
Bridge:
GMV bridge — W-1 vs like-week
Select a buyer.
Like-wk / W-1 total GMV, comparison vs this period · New sold now, not in base, listed ≤~2 mo · Not Sold CW sold in base, zero now (dropped / stocked-out) · Price Σ ΔASP × this-period qty (ASP moved >2%) · Volume Σ Δqty × base price · Mix residual that ties the bars · OOS-est wires with detention.
GM (Rp) bridge — W-1 vs like-week
Select a buyer.
GM incl. rafraksi.Assort GM from new/returning minus dropped · Volume Σ Δqty × base unit margin · Price Σ ΔASP × this-period qty · Cost per-SKU GM left after volume & price · Raf Σ Δ rafraksi · Mix residual
Auto notes
level: sort: vs:
Select a buyer to generate notes.
3C · Store GMV heatmap last 8 weeks · top 20 stores · Δ vs like-week
Select a buyer / company view.
3D · Top-50% GMV contributors SKUs cumulating to 50% of MTD GMV · GM% / NM% / competitiveness index
Select a buyer.
3A · New-SKU distribution by store first sold since last month · qty heat · received gate from detention
Select a buyer.
3E · SKU Opportunity Map X = Units (MTD) · Y = Avail% · bubble = GMV · color = Family · <90% = action
Avail basis: |
Select a buyer to see the opportunity map.
3E · Availability by Store — MTDpooled avail% across SKU set · click a cell for the SKU list
⌕
Select a buyer.
Isolate problems low-availability SKUs split by DC stock vs run-rate need
Flag avail < %Isolate problems
Turn on to split low-availability SKUs by whether the fix is in the DC or needs buying.
New Listing Performance
Select a buyer to see new-SKU performance.
4A · Supply service level — last 2 weeks PO Trade Detail · your SKU scope · vs prior 2 weeks
Select a buyer.
4B · Service level by supplier — worst first last 2 weeks · bad <60% qty rate · grouped by dept
Select a buyer.
4C · Missed SKUs — last 14 days rolling PO window · per-PO hover · sorted by worst fill · CSV
Select a buyer.
Sales by GMV type — W-1 ed-→NED · DFT→defective · else sku_pricing_remark · share of W-1 GMV + Δ vs like-week
Select a buyer.
Pricing Type Performance MTD · by sku_pricing_remark · your scope
Select a buyer.
Margin Waterfall — buyer level FROM/TO range (as Pricing Remark Analysis) · drop loss-makers + Rafraksi → best potential
Select a buyer.
GMV by Competitor price-scrape · GMV by lowest-priced competitor · your scope
Select a buyer.
Price battle — win rate + margin cost our nsp vs each competitor · cheaper/match/pricier + GM medians per bucket
Select a buyer.
▶Things for Focus
Team mapping — who owns what✕
Add person / add scope
leave GF / Family / Sub-family as (all) to grant the whole level · overlaps flagged amber but allowed
SKU Checker
Weekly L12W + Daily D60 · live DuckDB per-SKU · rolling (Today − last 60 days)
— L12WGM · NMGMʳ · NMʳ
— L60D by daybars=GMV · green line=qty · purple=ASP · markers=lowest competitor · black=availability%
Month on Month sold ▲ (GMV) · purchased ▼ (GR value) · from JanuaryGM · NMGMʳ · NMʳ
Availability by Competitor ● ≥1 competitor priced it · ○ none · last 12 scans · this selection only
Availability — daily (D60) green=in-stock store-slots · red tick=zero-stock day
Store Heat Map GMV + Quantity side by side · stores × week (L12W)
Stock Purchase History — last 3 months where bought · vendor type · price
Auto-read
Brand SKUs top 15 by W-1 GMV · click to drill
Rafaksi
supplier weight/quality-loss compensation · pulled live from FSR — same rule as the Rafraksi Calculation sheet
Date range→within the months picked in the master filter
How rafaksi is calculated
the rule ▸
Your rate sheet Rafraksi.csv (rafaksi_2026) lists a rupiah-per-unit rate (Final Rafaksi) valid inside a Start–End date window per SKU (SKU AFI). For every FSR sales line:
match on the SKU's parent code for ED/NED near-expiry lines, else the SKU id;
take each rate window that contains the sale date — highest rate wins on overlap, else 0 (one rate per line, no fan-out);
Rafaksi by Qty = that per-unit rate; Total Rafaksi = rate × units (total_quantity_allocated).
Per SKU over the selected month/filters: QTY Sold = all allocated units · Eligible QTY = units where a rate applied · Total Rafaksi = Σ(Total Rafaksi) · Rafaksi by Qty = Total ÷ Eligible (eligible-qty-weighted rate). Click any row to see the exact rate(s) + date span applied.
Total Rafaksi = Rafaksi by Qty × Eligible QTY
Rafaksi by Department global — click a department to filter the SKU table below
Rafaksi by SKU — select filters above
▸ Rafaksi by SKU × Date
daily · click to open
▸ Rafaksi by SKU × Date × Store
daily × store · click to open
Supplier Performance
depts 10·11·12·14·15·17·21·22·24 · Closed POs ignored · due = confirmed→requested date · cards = due cohort, today & future excluded · table & heatmap = due cohort · master filters don't apply hereopen to load
Month drives the KPI cards only · Department / Buyer / HOD / Created By filter cards + table + heatmap · buyer/HOD resolved per SKU line (dept → group family → family → sub family), so a PO counts for each buyer whose SKUs it carries
SP-1Delivery Performance due cohort, today & future excluded · rate = received ÷ ordered on the SAME POs (received any date) · Rp = PO/GR amount
MONTHLY
Loading supplier_perf.json…
LAST WEEK
…
SP-2Supplier Performance Table due cohort per period · Arr = cohort POs received · rates ≥95 green · 85–95 amber · <85 red
pick several suppliers → TOTAL row = their joint service level · brand/SKU search matches SKU ID + product name, computed live · these filters also drive the heatmap below
…
SP-3Follow-up Heatmap POs due per supplier per day · click a name → history · click a cell → that day's POs, SKU by SKU · uses the SP-2 supplier / brand-SKU / type filters
received
partial
missed — follow up
upcoming
nothing due ·
re-upload PO (corner = its delivery)
closed PO · cell number = POs due · today outlined blue
synced with the SP-2 filters
…
SP-4Critical Replenishment Risk SKUs out of stock in-store · no DC cover · last order is a slipping re-upload ·
Out of stock in ≥
+ inherits the Department / Buyer / HOD / Created By filters above · click a row for the linked-PO chain & which stores are out
…
F&V Suppliers
Fruits & Vegetables (dept 22) only · received = actual ≤ D-1 cutoff · Closed POs excluded · master filters don't apply hereopen to load
Define “Additional”= PR→confirmed gap <wd · vendor overrides
FVS-1Orders & Service Summary periods anchored on confirmed date (→requested→PO-date fallback) · received = actual ≤ D-1 cutoff
Loading fv_supplier.json…
Planning split classifiable POs only · Fair SL = Regular-only = the supplier's fair grade
…
FVS-2Service Level Master Summary GF ▸ Family · POs expected in period (confirmed-date anchor)
…
Supplier × Group Family sent by PO date · received by actual date · rep. columns = fixed last-3-months
click a supplier row → its POs · click a PO → SKU lines (live)
…
Order mix trend qty by PR date · Regular vs Additional
…
Purchase price — multi-vendor comparison same SKU, same period · rate = GR amount ÷ GR qty (ex-VAT) · live from PO parquets
pick a SKU above — daily rate per vendor, last 45 days
Repeatedly undelivered zero GR in the last 2/3/4+ consecutive POs · fixed L3M
…
Inconsistent SKUs missed ≥30% of ≥6 POs · fixed L3M
…
Suppliers with poor service level worst qty rate first · selected slice · min 50 lines
actual PO Item Rate · ex-VAT · received (GR>0), non-closed frame · by PO dateopen to load
Loading po_vendor.json…
Market-rescue economics wholesale premium vs nearest-in-time base rate · charts show the full window
…
Rescue leaderboard —
…
★ Price Explorer drill Dept ▸ Group Family ▸ Family ▸ SKU · weekly purchase rate · full window · live
opens with the tab…
★ Compare specific SKUs paste IDs, search, or add a brand — up to 10 · weekly rates · follows the Explorer Rp/Indexed toggle
No SKUs selected — paste IDs, search, or pick a brand.
① SKU × Vendor — negotiation view Fresh trailing ~2 wks · FMCG trailing ~3 mo · live
Multi-vendor SKUs — ranked by price gap biggest cheapest→dearest spread first · click to inspect
…
Principal Distributor Wholesale
click a SKU on the left, in any table, or search — per-vendor purchase history, live from PO Trade Detail
② Portfolio overview cost movement breadth · Fresh = F&V / Butchery / Fishery / Perishables · monthly
…
Purchase-price index (rebased 100) — Fresh vs FMCG
Distribution of SKU cost change
Department × Month — cost-change heatmap MoM % of qty-weighted purchase rate · red = up, green = down
…
Cost inflation qty-weighted purchase rate
Price-change alerts base-vendor rates only
…
Unclassified vendors blank business type — F&V market is by design
…
Buying at / above selling price last purchase rate vs last selling ex-VAT (sku_price)
…
New Listing Performance
HSNS · Have Stock, No Salesby store · in stock every day (8am stock above 0) with 0 sales · transfers keep 2pcs facing, move the excess (≥3u)
HSNS by store
Pick a window (L30 / L60 / L90 / L120) to run HSNS — reads detention availability × FSR sales. L90/L120 lazy-load a few months.
Suggested transfers · dead stock → selling stores
Newly Listed
This week + Last week · from SSOT "Add to SSOT" · hover a photo for the large preview, click for full size
SORT🔒 Notes — only you & Bagus
Historic month by month · current month open · older months load only when you click (lazy) · 2025 archive fetches on demand
Customer — Retention & Stickiness
MTU = monthly transacting users (non-KKM) · our lens, FSR user-grain · not a company gold-standard metric
WORDSThe 8 words this tab uses
SLOC — exact shelf address (L2-TR3-2-1)
Floor — L1 ground · L2/L3 upstairs (Lantai)
Category — D Dry (incl WR·P·SR) · A AC room (TR=AC) · C Chiller · F Frozen
Order size — No of SKU in the order (tier rule below)
Service level — paid → packing finished, judged on SECONDS: 5:00.00 = on time, 5:00.01 = LATE (S 5 · M 10 · C 20 min · instant only)
Composition — what the order's items are, e.g. 2D+1F
Visit — one pick line at a sloc (same sloc can repeat per order)
Forcing SKU — the ONE product that made the picker leave L1
StoreOrder IDOrder TypeOrder ID + Order Type + period apply to SL-1 · SL-2 · SL-9 · defaults App + Instant — SHP is marketplace flow and Scheduled waits for its slot; both distort the 5-min read when mixed in · other cards = full period, all orders
SL-1Order Route Matrix — click a row for SKU compositionTier rule: S ≤
SKU · M ≤ SKU · C = aboveSLA min: S · M · C· applies to Instant · Scheduled judged vs slot
Gives: one row per No of SKU in the order; columns = the floors the picker had to visit. Cell = service level % + orders. Purple rows = tier totals. Click a numbered row to see WHAT those orders were made of (composition legend: D Dry · A AC · C Chiller · F Frozen — "2D+1F" = 2 dry + 1 frozen item).
SL-1BStore Comparison — routes × service levelfollows Order ID · Order Type · period · always ALL stores · sorted worst first
Gives: every store on one screen for the selected tier. Cell = service level, then the real split: green = orders packed within target · red = orders over. The biggest red number in a row is that store’s broken route. % L1 only = share of orders picked entirely on the ground floor.
SL-2Order Composition Matrix — what's inside, by asset categorycolumns overlap: an order with dry + frozen counts in both
Gives: same rows; columns = category IN the order (Dry · AC Room · Chiller/Fresh · Frozen). Cell = service level of orders containing it · orders · SKU lines + share of that row's picked lines.
SL-3Floor Drift — store × week, % picks OFF L1
Gives: is slotting improving or rotting per store; a re-slot that stuck shows as a falling row. All orders (instant + scheduled).
SL-4Most Visited SLOCs
Gives: shelves ranked by picker traffic for the selected store. Click a SLOC to see the SKUs parked in it — a busy shelf holding SLOW movers is wasted prime space. CSV = full list incl. SKU detail.
SL-5Trip Clock — hour × floor
Gives: WHEN upstairs trips happen. Overnight 0–6 hidden by default (hour 0 carries a source data artifact).
SL-6Rack Pareto
Gives: most-visited racks. Orange bar = busy rack NOT on L1. Gold count = picks from a Reserve/overflow sloc (refill ran late).
SL-7What-If Mover — trip-forcing SKUs
Gives: products that ALONE dragged the picker off L1, ranked. The table under it shows what moving the top 5 / 10 / 20 down would do to the share of Simple orders that stay single-floor.
SL-8L1 Slot Snapshot — observed from picks
Gives: racks seen in the pick data by floor and type (top-40 traffic scope) — the working envelope for swaps. Physical capacity still lives in the ops Assets sheet.
SL-9Order Timelines — who, when, how late
Gives: the actual orders behind the cells — order ID, when it was paid, route, duration, how far over target, and the picker. Minutes are floored whole minutes; pass/fail is judged on seconds (an order shown at 5.0 min can be a 5:00.01 miss). Follows the store, channel and period selected above.
SL-10Store SLOC Heatmap — picked SKUs per shelfdarker = more · #1–#10 = busiest shelves (gold = top 3) · orange ring = hot shelf NOT on L1 · gold ring = Reserve picked · hover for detail
Gives: the whole store at one glance — every SLOC is a tile inside its rack, racks grouped by floor. Healthy = dark tiles hugging L1, pale upstairs. Tiles are ordered by shelf code inside each rack (not physical walk positions).