All Portfolio Projects
Python · Core · Individual project

LogisticsPY Core — Standalone

£99.00
One-off · 12 months access · 50 bonus pts

UK parcel-carrier SLA reconciliation pipeline. Derive service-level performance from multi-attempt scanner feeds with minute-precision datetime arithmetic. Instructor-reviewed submission, reviewer feedback within 10 working days.

Projects in this bundle

Project 1 · Retail & E-commerce

LogisticsPY Core — Parcel SLA Reconciliation

200 pts

## The scenario You have joined **CubedNet Logistics**, a fictional UK parcel carrier, as a junior data analyst on the Network Performance team. CubedNet Logistics dispatches consignments from eight hub depots and delivers them via van-shift routes to UK addresses within a published service-level promise. Every Monday, a CSV of the prior week's delivery attempts lands on your desk. Each attempt is one row: which consignment was attempted, which route delivered it, the timestamp, the attempt number (1/2/3), the outcome code, time-of-day, and whether a signature was obtained. Your manager has asked you to build a **weekly SLA reconciliation report** that joins each delivery attempt to its consignment, derives an outcome category for each consignment, looks up the SLA rule per service × outcome combination, aggregates breach counts by service level, and computes customer compensation owed. ## Outcome categories For each consignment, derive one of: `SUCCESS_FIRST` (DELIVERED on attempt 1, within breach window), `SUCCESS_LATER` (DELIVERED on attempt 2 or 3, within window), `BREACH_LATE` (DELIVERED but past window), or `BREACH_FAILED` (no successful delivery). **Datetime arithmetic** matters here — `cutoff = promised_delivery_datetime + breach_window_minutes`. Use `datetime.timedelta`. ## Deliverables A Python project that runs end-to-end with `python logisticspy_report.py` and produces two output CSVs: `sla_summary.csv` (per service-level breakdown of category counts + total compensation + sla_met_pct) and `flagged_attempts.csv` (per audit-failing attempt with `flag_type` ∈ {`uncategorised_outcome`, `missing_datetime`, `bad_datetime`, `unknown_consignment`, `unknown_route`}). **Stdlib only.** No pandas, no numpy. ## Acceptance criteria (summary) Runs in one command · stdlib only · both output CSVs correct · bad rows logged · outcome codes cleaned before lookup · `(service_level, outcome_category) → rule` composite-key dict built once · ≥3 named functions with docstrings · PEP 8 compliant · ≥8 conventional commits. Full brief and dataset orientation appear inside the lesson once enrolled.

Re-launch members

Re-launch prices on every course, live cohort and portfolio project — until 1 July.Browse offers →

LogisticsPY Core — Standalone — Project bundle | CareerSwerve