Skip to main content
Nerve Centre KPIs · Audit Profile · Sentiment Settings Japan Post serves Japanese merchants shipping domestic Yu-Pack and international EMS (Express Mail Service), plus the distinctive Cool Yu-Pack (chilled / frozen) supply chain. Auth is api_key against the limited public EMS tracking surface; domestic Yu-Pack endpoints require a Yu-Pack Business contract and partner onboarding. Findings either cost a customer (EMS corridor SLA miss, Yu-Pack same-day-Tokyo slip), stall an export (CN23 customs auto-gen failure leaving parcels at JP export customs), or destroy product (Cool Yu-Pack temperature-track gap). Cross-references commerce siblings via order_ref / tracking_number for JP-domestic OTD and revenue-at-risk attribution.

What this audit checks

Authentication & access

  • EMS tracking api_key still authenticates against /services/tracking (no 401 / invalid-key)
  • Yu-Pack Business contract number maps to an active domestic shipping account (no ‘unknown contract’)
  • Customer code (お客様コード) resolves and is accepted on /services/shipping
  • Tracking API error / 5xx rate > 5% in last 1h (Japan Post upstream availability)

On-time delivery & transit

  • EMS OTD per destination corridor (JP->US/EU/AU/Asia) below corridor SLA - North America 3-5d, Europe 5-7d, Asia 2-4d
  • Yu-Pack same-day Tokyo metro OTD < 90% (pre-12:00-noon same-day promise)
  • Yu-Pack next-day prefectural OTD below target
  • Avg transit days per service_type drifting above prior-period baseline (actual_delivery - created_at)

Exceptions & failed deliveries

  • Shipment exception rate > 3% rolling 30D (status = Exception across Yu-Pack + EMS)
  • EMS shipments stuck in AwaitingCustoms > 2 days (JP export-customs hold)
  • AttemptedDelivery events not converting to Delivered (repeat redelivery / 不在 re-attempt loop)
  • ReturnedToSender rate per service_type above threshold

Damaged / lost parcels

  • Lost-parcel rate (status = Lost) > damaged_rate threshold rolling 90D
  • Damaged-parcel rate elevated on Cool Yu-Pack / Frozen vs ambient Yu-Pack
  • Declared-value (declared_value_jpy on CN23) exposure on lost international EMS shipments
  • Cool Yu-Pack temperature-track gaps > 0 in last 24h (chilled/frozen line break = perishable product risk, P0)

Tracking data completeness

  • Tracking-event gap > 24h on domestic Yu-Pack OR > 5d on EMS_International (no occurred_at progression)
  • Shipments with no TrackingEvent linked to tracking_number after acceptance
  • CN23 customs-document auto-generation failure rate > 2% (status = Rejected or generation error)
  • Missing to_country_code / to_prefecture on shipments breaking corridor and zone attribution

Cross-channel fulfilment SLA

  • Cross-channel: JP ecom order has no Japan Post shipment after 48h (dispatch-SLA breach -> revenue at risk per channel)
  • Cross-channel: actual_delivery > expected_delivery joined to commerce_sibling.order.total (late-delivery refund propensity)
  • Cross-channel: EMS stuck AwaitingCustoms joined to sibling order -> proactive commercial-invoice / customs-doc fix candidates
  • Cross-channel: ReturnedToSender by service_type joined to sibling orders -> return-cost attribution

Severity thresholds

SignalWarnCritical
on_time_delivery_rate9085
exception_rate23
avg_transit_days57
damaged_rate0.51
tracking_gap_pct510
customs_doc_failure_pct12
awaiting_customs_days12
cool_yupack_temp_gaps_24h01
returned_to_sender_pct58
api_error_rate25
auth_token_failures_24h15

Data sources

  • GET https://trackings.post.japanpost.jp/services/tracking - Tracking events per tracking_number (EMS public surface + domestic where licensed)
  • POST https://trackings.post.japanpost.jp/services/shipping - Shipment creation / Yu-Pack domestic dispatch (write-side, partner-gated)
  • POST https://trackings.post.japanpost.jp/services/customs - EMS CN23 customs declaration generation (international export)