Project Portfolio · 2025–2026

Lingxu Liu

Business analysis · Process redesign · System design

Program

Master of Information — Information Systems Design

School

University of Toronto

Contact

llingxu12@outlook.com

About

This portfolio presents two analytical projects completed during the 2025–2026 academic year. Each moves from stakeholder research through problem diagnosis to solution design and evaluation — reflecting the analytical workflow central to product and business analysis practice.

Project 01

Sales Order Management System Redesign

BPMNDFDi* modellingStakeholder interviews

Project 02

Grocery Delivery Platform Database Design

EER modellingRelational designSQLRequirements
Project 01 — Process Analysis & Redesign

Sales Order Management
System Redesign

Redesigning order intake to reduce manual coordination and improve process reliability.

01 — Overview

The project

Redesigning the sales order process for a B2B industrial distributor running on ERP + informal channels

My role

Stakeholder research, current-state analysis, problem diagnosis, solution framing and evaluation

Goal

Reduce cycle time, eliminate information inconsistency, prepare the process to scale with growth

02 — Problem

Core problem

The order intake layer runs outside the system — pulling the process into manual coordination and creating delays and inconsistencies.

Orders arrive via WhatsApp, phone, and email — channels the ERP cannot see or validate. Every downstream step depends on human interpretation, generating clarification loops, duplicate records, and stock reservation failures that compound with volume.

03 — Why it matters

The process was manageable at current volume — and would break as the company grew. Three consequences are the most consequential:

Clarification delays add 4–24 hours per order

~18% of orders require manual follow-up before confirmation

Overselling surfaces only at fulfilment

No reservation during payment window means orders can be double-sold

Sales becomes the coordination bottleneck

Process capacity is limited by one team's bandwidth to clarify, deduplicate, and route

04 — Key insights

These issues are not isolated inefficiencies — they stem from a process structured around human coordination rather than system control.

01

Information fragments at the entry point

When the same customer can place orders through multiple channels to multiple reps, there is no single source of truth. Every downstream inconsistency traces back to this.

02

Verification depends on human memory, not system rules

Clarification loops exist because the system does not validate order completeness at intake. Sales staff catch errors by reading messages — a capacity that does not scale.

03

Sales is structurally overloaded

Sales is not just selling — they are also the dedupe layer, the clarification layer, and the coordination layer between customer, warehouse, and finance. Freeing this role is where redesign leverage is highest.

05 — Design decision

Design decision: defining the portal scope

The portal was identified as the structural solution. The key decision was how much of the process should be moved into the system.

Core functionality · Required

Move intake into the system

  • Structured order input — standardised fields for product, quantity, customer details
  • System validation — product codes, availability, completeness checks
  • Real-time inventory visibility

These features directly remove the dependency on manual coordination and resolve repeated verification loops.

Extended functionality · Optional

Layered enhancements

  • Pricing suggestions and quotation support
  • Automated product recommendations or alternatives
  • Advanced exception handling workflows

These features improve efficiency and user experience but are not required to address the core structural issue.

The core functionality was prioritised to resolve the structural bottleneck, while additional features can be layered on later.

06 — Solution

The redesigned solution introduces a structured intake layer within the system, shifting coordination from Sales to system-driven validation.

Primary solution

Customer Self-Service Ordering Portal

Customers submit orders through a structured digital interface. The system validates inputs, checks real-time inventory, and routes only genuine exceptions to Sales. Inventory reservation is a built-in module — triggered automatically on order confirmation.

Structured order submission

Replaces WhatsApp/phone intake. Required fields enforced at input; duplicate detection at account level.

Real-time inventory visibility

Customers see live stock before ordering — eliminating the need for Sales to verify availability manually.

Inventory soft-lock on confirmation

SKUs reserved automatically during the payment window; released on timeout. Embedded in the portal flow.

Sales exception queue

Flagged orders (new customers, credit issues, special requests) routed to Sales — everything else flows through.

07 — Trade-off

Why this scope was prioritised

Prioritising the core scope focuses on structural improvement — moving order intake into the system and eliminating manual coordination loops.

This approach introduces higher implementation complexity and requires changes in user behaviour, but provides a more reliable and scalable process foundation.

By contrast, including additional features at this stage would increase system complexity without directly addressing the root cause.

The solution therefore prioritises core functionality first, with the ability to expand incrementally over time.

08 — Metrics

How success would be measured

These metrics directly reflect the original failure points in the intake layer and are used to evaluate the impact of the redesign.

Order confirmation time

Direct signal of whether clarification loops have been eliminated. Expect the sharpest movement here.

Clarification follow-up rate

Measures order input quality — baseline ~18%. If the portal validates correctly, this should approach zero.

Stock conflict incidents

Tests whether the inventory reservation module is working. Should drop to near-zero; residual cases reveal edge cases.

Sales time-per-order

Indicates whether Sales has genuinely shifted from data entry to exception handling — the structural goal of the redesign.

Limitations

Methods

Stakeholder interviewsProcess mapping (BPMN)DFDi* modellingWorkflow redesign

Appendix — Current-state process model

BPMN As-Is

As-Is BPMN used to identify coordination bottlenecks across Sales, Finance, and Warehouse · Click image to enlarge

Project 02 — Data Modelling & System Design

Grocery Delivery Platform
Database Design

Translating a dual-source fulfilment model into a clean relational schema that supports operational accuracy and reporting.

01 — Overview

The project

Database design for a Toronto-based online grocery delivery platform with dual-source fulfilment

My role

Business process analysis, data requirements, EER conceptual model, relational schema, SQL implementation

Goal

A schema that supports operational accuracy and management reporting across five interconnected domains

02 — Problem

Core problem

Two sourcing models with fundamentally different business logic — and the schema has to hold both.

Warehouse inventory is owned and tracked at the unit level; supermarket sourcing is a relationship without direct inventory ownership. Merging the two would require nullable columns and blur distinctions that matter downstream in reporting, fulfilment, and customer service.

03 — Key insights

The difficulty was not technical — it was business-semantic. The schema had to reflect how the business actually operates, not just the data it produces.

01

Order is the anchor, not the product

Every operational question — fulfilment status, delivery time, service case, payment — is asked in terms of a specific order. Designing the schema with Order as the central hub enables lifecycle traceability from a single starting point.

02

Business logic belongs in the schema, not the app

CHECK constraints, UNIQUE rules, and CASCADE behaviour enforce business rules at the database level — making invalid states impossible rather than relying on application code to prevent them.

03

Separating tables makes meaning explicit

WarehouseProduct and SupermarketProduct are separate because they mean different things, not because the data looks different. Schema clarity directly affects how future features can be built on top.

04 — Design decisions

Where business logic shaped schema choices

CustomerAddress as a separate relation

A customer may maintain multiple delivery addresses with different recipient names. Embedding address as a composite attribute would force repeated updates across all order records on change.

Separation eliminates redundancy and supports multi-address flexibility without duplicating customer profile data.

WarehouseProduct and SupermarketProduct as separate tables

The two sourcing types carry different data requirements — warehouse products need inventory quantity and restock date; supermarket products record only a sourcing relationship.

Merging would require nullable columns and blur the operational distinction in queries. Separation keeps business logic explicit in the schema.

Order as the system's central hub

All operational entities — Fulfilment, Delivery, Payment, CustomerService — reference Order via foreign key with CASCADE DELETE.

Enables complete lifecycle traceability and enforces referential integrity at the database level rather than in application code.

Derived attributes excluded from storage

TotalAmount and TotalPrice are computed from stored primitives at query time rather than persisted.

Storing derived values creates update anomaly risk — if a unit price is corrected, the stored total must also be corrected. Calculation at query time eliminates this class of inconsistency.

Limitations

Methods

Business process analysisEER modellingRelational schema designSQL / SQLiteData integrity design

Appendix — Data models

EER

EER conceptual model — Order as central entity; Location subtyped into Warehouse and Supermarket · Click to enlarge

Relational

Relational model — 12 tables with integrity constraints in SQLite · Click to enlarge