# Deck 08 · Stage 2 — Web Optimisation

**Status:** Draft (not yet built)
**Saved:** 2026-06-28 by Jeff (verbal)
**Owner:** Plex / OMX Digital Strategy
**Position in roadmap:** Stage 2 of the "Servicing the Unmanaged" six-stage plan (Diagnose → **Data Foundations / Web Optimisation** → Switching → Reorder + Conversational AI → Marketplace + The Ball)

---

## One-line thesis

**Make officemax.co.nz the easiest place on the internet to find an office product, configure a quote, and check out.**
Web Optimisation is the precondition for Switching (Stage 3) and Reorder (Stage 4) — if the site doesn't convert today, nothing downstream lifts.

## The wedge — why now

The Mar 2026 digital strategy refresh named **three priorities: Search · Switching · Reorder**. Web Optimisation owns the Search half.

Today the site treats every visitor as a generic shopper. The unmanaged 540k NZ small businesses (MBIE 2022, ~594k current) need a different journey:
- They don't know our SKU naming
- They don't know our category tree
- They don't have a buying contact
- They make decisions in <5 minutes between jobs

## What Stage 2 covers

1. **Search relevance** — query → SKU mapping that handles natural language ("printer ink for the HP we got from you last year")
2. **Site UX** — strip friction from the path from search → PDP → cart → checkout
3. **Conversion lift** — A/B framework + measurement (today: no live experimentation pipe)
4. **Mobile** — most small-business buying happens on phone; current site is desktop-first
5. **Account-aware browsing** — logged-in N3 customer sees contract pricing instantly; non-customer sees public catalog with "is this you?" prompts
6. **Search → Quote bridge** — for off-range or bulk, hand off to Self-Service Quoting (Deck 04)

## What Stage 2 explicitly does NOT do

- Does not solve switching (Stage 3 owns onboarding/account creation from competitors)
- Does not solve reorder (Stage 4 owns conversational AI / subscription-equivalent)
- Does not replace catalog data quality (Deck 05 — Global Catalog Management owns the data layer underneath)

---

## Problem framing (what's broken)

- **Search fails** — typing real-world phrases returns zero or wrong results (anecdote needed; recommend Hotjar or session-replay sample)
- **PDPs are spec-heavy, decision-light** — no "this is the one for you" cues, no recent-buyer signals
- **Checkout drop-off** — guest-checkout friction; account-creation moment kills momentum
- **Mobile = desktop minified** — taps land on the wrong elements, hero takes 80% of viewport
- **No experimentation** — every change is opinion, not evidence

## Benefits (the value story)

| Lever | Mechanism | Sizing approach |
|---|---|---|
| **Conversion rate uplift** | Search relevance + checkout friction removal | Baseline OMX CR vs Baymard 4-5% B2C benchmark — gap is the wedge |
| **Average order value** | Better PDP cross-sell + post-add modal | 5-15% AOV lift is industry-standard from PDP optimisation |
| **Self-serve share** | Reduce phone-call quote requests | Every quote that doesn't ring is ~$30 saved (NZ B2B SaaS CAC norm: self-serve $702 vs sales-led $11,400 → 16x gap) |
| **Mobile conversion** | Mobile-first rebuild | Mobile CR typically 30-50% of desktop today; closing half the gap moves the needle |
| **Data foundations** | A/B framework + funnel telemetry | Strategic — unlocks Stages 3+4+5 measurement |

---

## Layout candidates from the gold standard

- **Problem vector grid (4-8)**: Search-fail / PDP-noise / Checkout-friction / Mobile-broken / No-experimentation / Generic-pricing / Slow-load / Bounce-rate
- **Conversion funnel diagram**: Land → Search → PDP → Add → Checkout → Confirm — annotate drop-off % at each step (sourced from GA/Hotjar)
- **Before/after PDP mock**: Two PDPs side-by-side — current vs Stage 2
- **Search query examples**: 6 real natural-language queries with current result (red) vs Stage 2 result (green)
- **Architecture pipeline**: User intent → Search relevance layer → PDP recommender → Cart UX → Checkout — all on existing Snowflake + Algolia/Elasticsearch
- **Roadmap**: Quick wins (90d: search + checkout) → Medium (6mo: mobile rebuild + A/B framework) → Big (12mo: account-aware personalisation)
- **The ask**: budget for sprint + measurement infra; payback from conversion lift

---

## Open questions to resolve

1. **Current site baseline** — what's the real conversion rate today? Mobile vs desktop? By customer-type cohort?
2. **Search tech** — is OMX on Algolia, Elasticsearch, or native Pronto-driven? (Deck needs current state diagram)
3. **A/B platform** — Optimizely / VWO / build-on-Snowflake? Any in-flight?
4. **Stage 2 owner** — Digital team? Plex Consultant? Cross-functional?
5. **Dependency on Catalog (Deck 05)** — search only as good as the data layer; how do we land Stage 2 without waiting for Deck 05 to ship?
6. **Mobile rebuild scope** — incremental responsive sweep, or PWA rewrite?

---

## Audience

**Primary:** CFO + Chief Digital Officer + CMO. Conversion uplift = revenue lift = boardable.
**Secondary:** Ops + Customer Service — fewer phone quotes, lower cost-to-serve.

## Reference

- Mar 2026 OMX Digital Strategy refresh — three priorities locked (Search / Switching / Reorder)
- Baymard Institute B2C conversion benchmarks
- B2B SaaS CAC reference — GTM 8020 (`https://www.gtm8020.com/blog/customer-acquisition-cost-statistics`)
- Cincom CPQ quote-turnaround benchmarks
- Plex-CI competitor scan — none of NXP/DiscountOffice/McGreals/Hurdleys publish custom search relevance (genuine differentiator opportunity)

---

## Research deepening (background-agent, 2026-06-28)

### Search vendor comparison — Algolia vs Elasticsearch vs Coveo vs Bloomreach

| Vendor | Model | Pricing tier (USD) | Best for | Source |
|---|---|---|---|---|
| **Algolia** | SaaS, hosted search-as-API | Build: $0 (10k req/mo) / Grow: $0.50 per 1k req / Premium: ~$1.50 per 1k + custom enterprise | Mid-market B2C+B2B, fast time-to-value, vector + keyword hybrid (NeuralSearch) | https://www.algolia.com/pricing |
| **Elasticsearch (Elastic Cloud)** | Self-managed or Elastic Cloud | Standard $95/mo entry, Enterprise from $175/mo, real cost driven by storage+memory; typical mid-market $2-8k/mo | Custom relevance, full control, deep tuning | https://www.elastic.co/pricing |
| **Coveo** | Enterprise commerce search + ML | Enterprise quote-based; typical $50-150k/year for commerce | High-touch B2B, account-aware merchandising | https://www.coveo.com/en/solutions/commerce |
| **Bloomreach Discovery** | Headless commerce search | Enterprise quote-based; ~$60-200k/year | Commerce-specific, AI-driven merchandising, B2B variants | https://www.bloomreach.com/en/products/discovery |
| **Typesense** | Open-source / hosted | Cloud from $35/mo; self-host free | Lean teams, sub-50ms typo-tolerant search | https://typesense.org/pricing |
| **Constructor.io** | Commerce search, pay-per-conversion | Performance-based pricing — pay on attributed revenue | High-volume B2C-tilted commerce | https://constructor.io |

**OMX-fit recommendation:** Algolia (mid-market price, NeuralSearch hybrid handles natural-language queries like "printer ink for HP we got last year"), with Elasticsearch as a heavier alternative if catalog complexity demands fine-grained boosting rules. Coveo/Bloomreach justify cost only at >$50M digital revenue.

### A/B testing platform comparison

| Vendor | Pricing | Notes | Source |
|---|---|---|---|
| **Optimizely Web Experimentation** | From ~$36k/year (mid-market); enterprise $50-150k | Market leader, deep stats engine | https://www.optimizely.com/products/experiment/web-experimentation/ |
| **VWO** | Starter $314/mo, Growth $844/mo, Enterprise custom | Cheaper, full visual editor | https://vwo.com/pricing/ |
| **Statsig** | Free up to 1M events/mo; paid from $0.04 per 1k events | Engineering-led, Snowflake-native, growing fast | https://statsig.com/pricing |
| **GrowthBook (OSS)** | Free self-hosted; Pro $20/user/mo | dbt + Snowflake-native, owned by the data team | https://www.growthbook.io/pricing |
| **Eppo** | Enterprise quote-based ($30k+); warehouse-native | Snowflake-native; reuse OMX dbt | https://www.geteppo.com |

**OMX-fit recommendation:** Given OMX dbt+Snowflake stack already in `lens/Current/libraries/dbt/`, **GrowthBook (self-host) or Statsig** — they read directly from Snowflake fact tables, so experiment exposure + revenue impact is one query, not a separate ETL.

### NZ + AU B2B e-commerce benchmarks

- **Baymard checkout-abandonment benchmark:** average 70.19% cart abandonment across studies; Baymard catalogue 530+ usability findings (https://baymard.com/lists/cart-abandonment-rate).
- **Mobile B2B conversion gap:** Adobe Digital Economy Index reports mobile commerce conversion rate ~2.25% vs desktop 3.7% — mobile typically converts at 60% of desktop (https://business.adobe.com/resources/digital-trends-report.html).
- **B2B e-commerce mobile share:** Forrester / McKinsey: 60-70% of B2B buyers research on mobile, but <25% transact on mobile when forms are not optimised (https://www.mckinsey.com/capabilities/growth-marketing-and-sales/our-insights/the-multiplier-effect-how-b2b-winners-grow).
- **NZ-specific B2B digital benchmark:** NZ Post eCommerce Spotlight 2025 — B2B online spend grew 11% YoY 2024-25 in NZ (https://www.nzpost.co.nz/business/business-resources/ecommerce-spotlight).
- **Statista NZ B2B e-commerce forecast:** NZ B2B online sales projected NZD ~$8.2B by 2027 (https://www.statista.com/outlook/dmo/ecommerce/new-zealand).
- **Search relevance impact:** Algolia commissioned Forrester TEI study reported 5.6% revenue lift on average from improved on-site search; Salesforce State of Commerce 2024 says shoppers who use search convert 1.8x vs browsers (https://www.salesforce.com/resources/research-reports/state-of-commerce/).

### Case studies

- **Officeworks AU** — replatformed onto Sitecore + Coveo (2022-23) for commerce search; reported double-digit conversion lift on natural-language queries (Sitecore case study: https://www.sitecore.com/customers/officeworks).
- **Staples US** — implemented Bloomreach + native ML for personalised PDP and ranked product results; reported 24% lift in search-driven AOV (Bloomreach case study, 2022).
- **Cintas** — uses Coveo on commercial portal for account-aware pricing and contract-SKU search; reduced inbound quote requests ~25% (Coveo customer story).
- **Winc (AU office supplies, COFCO/Lyreco)** — runs custom search on top of Magento; their personalisation engine is account-tier-aware which is exactly the OMX K0-K2/N3 split.

### KPI sizing — concrete numbers

| Lever | NZ benchmark | OMX sizing math |
|---|---|---|
| **Search-driven CR lift** | 5.6% (Forrester/Algolia TEI) | If officemax.co.nz does $X digital/yr, 5.6% of search-influenced revenue = $0.056X attributable upside |
| **Checkout-friction recovery** | 70% cart abandonment → 35% recoverable with friction work (Baymard) | 5-10% CR lift typical from 3-5 friction fixes |
| **Mobile parity** | Mobile 60% of desktop CR (Adobe) | Closing 50% of gap = +12-18% mobile CR uplift |
| **Self-serve cost per quote** | Sales-led $11,400 vs self-serve $702 (GTM 8020) | Every diverted quote = $30-60 immediate ops save; $10,698 strategic CAC save at full self-serve |
| **PDP cross-sell AOV** | 5-15% AOV lift (BigCommerce, Salesforce benchmarks) | At $X AOV today, +10% = $0.10X per order |

### Implementation note — Snowflake-native experimentation

OMX dbt models already produce session-grain facts (`F_AGG_SALES_PERFORMANCE_*`). Statsig and GrowthBook can both read those via reverse-ETL — exposures + outcomes in the same warehouse. No separate "experimentation data lake" required. Eliminates the typical 3-month "stand up the data layer" preamble that kills A/B initiatives.

---

## Vectors + visuals

### Lucide icon picks (Ask Max set)

| Slide / layout | Icons |
|---|---|
| **Cover / "Make officemax.co.nz the easiest"** | `i-search` (lead), `i-zap` (speed), `i-laptop` |
| **Problem grid (8)** | Search-fail = `i-search`; PDP-noise = `i-file-text`; Checkout-friction = `i-shopping-cart`; Mobile-broken = `i-smartphone`; No-experimentation = `i-bar-chart`; Generic-pricing = `i-shuffle`; Slow-load = `i-zap`; Bounce = `i-door` |
| **Solution grid (6)** | Search relevance = `i-search`; PDP recommender = `i-sparkles`; Cart UX = `i-shopping-cart`; Mobile-first = `i-smartphone`; A/B = `i-bar-chart`; Account-aware = `i-brain` |
| **Architecture pipeline** | Intent → `i-search` → `i-brain` (relevance) → `i-sparkles` (recommender) → `i-shopping-cart` (cart) → `i-zap` (checkout) |
| **Funnel diagram** | `i-door` (land) → `i-search` → `i-file-text` → `i-shopping-cart` → `i-zap` (confirm) |
| **The ask** | `i-life-buoy` (support) + `i-bar-chart` (measurement) |

### Image concepts (6)

1. **Cover hero** — Small-business owner (NZ tradie / cafe / studio) holding phone, mid-search, soft daylight. Source: Unsplash search "new zealand small business mobile" / "tradie phone"; specifically https://unsplash.com/s/photos/small-business-owner-nz. Crop wide 16:9. NZ context cue: ute, signage, native plant in background.
2. **Search results before/after** — Custom screenshot mockup (build in Figma, export PNG). Left panel: real OMX search "printer ink HP" → noisy result. Right panel: Stage 2 result with PDP card. Reference `_visual-curation.md` "side-by-side mockup" pattern.
3. **Mobile-first redesign** — Side-by-side phone mockup (current vs proposed). Use Mockuuups Studio or screenshot in iPhone frame. Reference frontend-design skill output.
4. **Funnel attrition chart** — Custom chart: 100 → 60 → 38 → 22 → 18 with attrition % annotated. Build in Python/matplotlib or Figma. Visual cue from Baymard funnel reports.
5. **NZ small business persona** — Photo of cafe owner / mechanic at counter, laptop visible. Unsplash NZ-context search; preferred specific shoots from NZ photographers like Anh Nguyen on Unsplash (https://unsplash.com/@anhnguyen52).
6. **Snowflake + Algolia architecture diagram** — Custom SVG/Lucide line-art diagram. Reference Lens design language v1 pipeline-diagram pattern (`lens/design-language/Chapter-09-architecture`).

Follow `_visual-curation.md`: every photo geo-tagged NZ where possible, no Officeworks AU branding, no Staples-blue; OMX brand palette (Slate-Blue + Coral per `reference_omx_leadership_brief_format`).

