LMNT — Omni pilot: wholesale reporting dashboard specification

Status: Draft for stakeholder review
Prepared for: LMNT (Wholesale: Laura Putnam, Madison; Partnerships: Blake; Leadership: Shivani Amar; Finance alignment: Bess Ross, Jacob Rogers as needed)
Prepared by: Brainforge
Last updated: 2026-04-06

Related artifacts

ArtifactLink / path
Data Platform Documentation (Core Metrics)Google Sheet
Pilot / program tracker (confirm wholesale tabs)Google Sheet
Locked metric definitions (repo mirror)METRIC_DEFINITIONS_LOCKED.md
Establishing Omni (Accelerator) — wholesale questionslmnt-omni-accelerator-ramp-up-memo.md (Appendix §1 Wholesale, §3 Revenue / reconciliation)
POS pilot spec (format reference)Google Doc
Existing wholesale reporting (inventory)Google Drive folder
Brainforge Deck GuidelinesNotion

1. Context

1.1 Pilot intent

LMNT is standing up Omni on Snowflake so wholesale stakeholders can answer recurring questions from governed marts without exporting CSVs or reconciling ad hoc spreadsheets. This document specifies what dashboards to build for the wholesale slice of the pilot, which metrics and cuts each tile uses, and how definitions align with Finance vs Operations.

1.2 Stakeholders and primary questions

StakeholderRole in pilot
Shivani AmarLeadership view: top partners, time-windowed revenue, confidence in numbers
Laura Putnam / MadisonDay-to-day wholesale: partner list in mart, reorder and activity patterns
BlakePartnerships context where relevant
Bess Ross / Jacob Rogers (Finance)Alignment on wholesale revenue definition vs GL; optional review of dual-labeled measures

Questions the pilot must answer (from Establishing Omni / Accelerator appendix):

  1. Who are the top wholesale partners by revenue, and for which time window?
  2. What does wholesale revenue look like by week or by month (operations view from Shopify / marts)?
  3. How does operations wholesale revenue compare to finance—same Topic with two labeled views, or one reconciled number once definition is locked?
  4. Which partners are in the mart, and what is their reorder / activity pattern (using fields available on wholesale_dm_customer)?

1.3 Data scope

ObjectUse in pilot
wholesale_martTime-series and aggregated wholesale KPIs at agreed grain (confirm week vs day in Topic)
wholesale_dm_customerPartner-level attributes, lifetime and recency metrics, CRM + Shopify combined grain (one row per partner / customer as modeled)

Sources (summary): Shopify wholesale-tagged orders; wholesale CRM (Google Sheets) merged in wholesale_dm_customer. Manual / QuickBooks-only wholesale activity may not appear in Shopify-sourced revenue until ingestion and definitions are extended—call out in Topic description and in finance comparison dashboard.

1.4 Definition authority

If this document disagrees with the Brainforge x LMNT Data Platform Documentation spreadsheet, the spreadsheet wins. Update this spec and METRIC_DEFINITIONS_LOCKED.md after spreadsheet changes.

1.5 CPG wholesale reporting lens (achievable scope)

Use common CPG / brand wholesale norms as a design lens, not a requirement to replicate distributor-EDI depth. LMNT’s stack is Shopify wholesale + CRM (Sheets) + marts, not a full broker deduction workflow.

CPG normHow the pilot addresses it
Concentration (top accounts, % of revenue)Dashboard A — top partners, optional top-N share KPI
Trended revenue by period (sell-in / ops view)Dashboard A — week and month series
Net / finance-aligned revenueDashboard B — Ops vs Finance labels and variance
Customer health (recency, frequency)Dashboard C — days since last order, order counts, segment cuts
Category / mixTile A6 when wholesale_revenue_by_product_category is in the Topic
Deductions, chargebacks, trade terms at scaleOut of pilot unless modeled in warehouse; document in Topic if partial

1.6 Existing reporting inventory vs Omni pilot dashboards

Sources reviewed for this table: LMNT knowledge base (wholesale customer report specs, CRM workflow transcripts), wholesale reporting Drive folder (canonical location for live files). Action: LMNT or Brainforge to open the Drive folder and add missing rows (file names, owners) directly in the copy of this spec used for client review.

Existing artifact (as documented in vault)Primary metrics / purposeRefresh / grain (if known)Omni pilot dashboard that supersedes or parallels it
Wholesale CRM Google Sheet — tabs such as All partners, Wholesale application data (Jan 2026 wholesale reporting call)Partner master, application pipeline, taggingManual / daily team processC (mart-backed roster); funnel Topic remains separate if needed
Report — All Wholesale Customers (wholesale_customers_report_specification.md)Company, segment, status, total orders, total revenue, AOV, first/last order, days since last orderLinked to RAW application exportC
Wholesale Customers Data — Daily Updates RAW / Formatted (wholesale_customers_formatting_guide.md)Same column set as formatted customer reportDaily pipelineC
Finance OKR / GL-aligned wholesale totals (e.g. Shopify “Sales by Product” + manual adjustments per Feb 2026 alignment)Monthly wholesale revenue vs GLMonthly closeB
Legacy BI / Source Medium exports (phase-out per accelerator memo)Ad hoc cutsVariesA–C replace with governed Topics once live
(Add rows)

Gaps Omni is meant to close: single definition for Ops revenue in-tool, self-serve time windows and partner drilldown, documented Ops vs Finance bridge, less CSV stitching between CRM and Shopify.

1.7 Pilot program tracker alignment (1-WFK spreadsheet)

When the pilot tracker includes wholesale or Omni milestones, map each row to a dashboard or acceptance criterion below so Instagantt and build tickets stay aligned.

Tracker row / milestone (paste from sheet)OwnerTarget dateMaps to
(fill)§3 Dashboard A / B / C, or §6 acceptance #n

2. Principles (all wholesale dashboards)

2.1 Date and grain

  • Default behavior: Document in the Topic which date drives “wholesale revenue” for ops (e.g. order date at midnight vs ship date). Match the signed Omnichannel / Definitions Council choice when available.
  • Spec default for pilot: Prefer order placed date for ops trending unless Finance requires an alternate field for reconciliation views—confirm before build.
  • Period controls: Expose calendar week and calendar month (and optional rolling 4-week window for pacing) on trend tiles. State the default range in the spec (e.g. last 13 weeks + MTD).

2.2 Operations vs Finance revenue

Until a single reconciled definition is signed:

  • Surface two clearly labeled measures (or two saved workbook views from the same Topic), e.g. Wholesale revenue (Ops — Shopify / mart) and Wholesale revenue (Finance — methodology TBD).
  • If Finance view is not yet queryable in Omni, ship Ops view only plus a static or linked reconciliation note (owner, refresh cadence, known gaps such as QuickBooks-only orders).

Reference: Feb 2026 alignment on Shopify vs GL splits, refunds, and manual orders (wholesale revenue definition alignment transcript).

2.3 Formatting and readability (Deck Guidelines A)

  • Currency: $ in column / measure titles; LMNT customer-facing preference where applicable: whole dollars ($#,##0) unless Finance requires cents.
  • Counts: Integer formatting; label as (count) or (partners) where ambiguity exists.
  • Percent: % in titles; state whether ratio is of revenue, of partners, or of orders.

2.4 Storytelling defaults (Deck Guidelines B)

  • 3–4 core metrics per dashboard, each with explicit definition; subgroup cuts (partner, segment, state) must roll up to those cores where possible.
  • Directionality: Document whether “up” is good or bad per metric (e.g. revenue ↑ good; refund dollars ↑ bad).

3. Dashboard specifications


Dashboard A — Wholesale executive pulse

Why this dashboard exists

Leadership and Shivani need a single place to see whether wholesale revenue is on track and which partners concentrate risk and opportunity, using the same definitions as the rest of the pilot. Without it, answers depend on one-off exports and inconsistent time windows. This dashboard supports weekly operating reviews and board-ready consistency once numbers are trusted.

Primary audience

  • Shivani Amar
  • Extended leadership as viewers

Questions answered

  • Top wholesale partners by revenue for a user-selected window (and a sensible default).
  • Wholesale revenue trend by week and by month.
  • High-level segment or channel cut if present in the Topic (e.g. product category from locked metrics).

Core metrics (3–4) — numerator / denominator

Core metricBusiness definitionFormula / logicLocked ref (if any)
Wholesale revenue (Ops)Total revenue from wholesale channel for the selected periodSUM(revenue) at agreed date grainwholesale_total_revenueMETRIC_DEFINITIONS_LOCKED § Wholesale
Wholesale orders (Ops)Order count from wholesale channelCOUNT(orders)wholesale_total_orders
Active wholesale partners (pilot definition)Count of partners with ≥1 qualifying order in period or status = active — pick one and document in TopicCOUNT(DISTINCT partner_id) per documented ruleAlign toward wholesale_active_partner_count; formal definition may still be in flight
Top-N partner share of revenue (optional KPI tile)Sum of revenue for top N partners ÷ total revenue for periodSUM(revenue WHERE partner IN top_N) / SUM(revenue)Derivative; label Top N share of wholesale revenue (%)

Filters and defaults

  • Time: Date range parameter; default last 13 completed calendar weeks plus MTD (or client-preferred retail-style week if wholesale adopts Walmart calendar—only if aligned).
  • Partner / segment: Optional multi-select.
  • Retailer / region: If available on mart.

Tiles (build list)

#Tile typeContentSort / notes
A1KPIWholesale revenue (Ops), selected periodCompare to prior period (WoW or MoM) once comparison fields exist
A2KPIWholesale orders (Ops), same periodSame
A3Line chartWholesale revenue (Ops) by weekX = week start/end label; show last 26 weeks default in explorer
A4Line or barWholesale revenue (Ops) by monthLast 12–18 months
A5Table or horizontal barTop 20 partners by revenue (Ops), selected periodColumns: Partner name, Revenue ($), Orders (count), % of period revenue
A6Table (optional)wholesale_revenue_by_product_category if in modelMETRIC_DEFINITIONS_LOCKED

Known gaps / caveats

  • Shopify-only paths may undercount vs Finance until QuickBooks / manual orders are in warehouse.
  • “Active partner” may differ from CRM PARTNER_STATUS; document which source wins.

Pilot out of scope (do not require for sign-off)

  • Formal at-risk or churn flags (definitions not standardized per accelerator memo).
  • Wholesale LTV and full RFM.

Dashboard B — Operations vs finance wholesale revenue

Why this dashboard exists

Finance and Operations have historically disagreed on wholesale totals when windows, refunds, and off-Shopify orders differ. This dashboard prevents metric drift in meetings by showing side-by-side or clearly labeled series and short methodology notes so stakeholders know which number answers which question. It directly supports Definitions Council alignment and reduces Slack back-and-forth.

Primary audience

  • Shivani, Laura, Finance (Bess, Jacob)
  • Brainforge / LMNT analytics (builders)

Questions answered

  • What is wholesale revenue in the mart (Ops) for a period?
  • What is wholesale revenue under Finance methodology when available—or where to find it until it lives in Snowflake?
  • What adjustments explain the gap (refunds, manual orders, classification)?

Core metrics

MeasureLabel in UINotes
Ops wholesale revenueWholesale revenue (Ops — Shopify / mart)From wholesale_mart / orders Topic per locked definition
Finance wholesale revenueWholesale revenue (Finance — GL-aligned)Populate when Finance source is queryable; else placeholder tile with owner + link to reconciliation workbook
GapVariance (Ops − Finance) or % varianceOnly when both exist; footnote timezone and refund treatment

Filters and defaults

  • Month and quarter presets for Finance alignment; custom range for deep dives.
  • Optional: product split (Drink Mix / Sparkling / reseller classes) per Feb 2026 alignment transcript.

Tiles

#Tile typeContent
B1KPI rowOps revenue, Finance revenue (or TBD), variance
B2TableMonth-by-month (or week) Ops revenue vs Finance columns
B3Text / calloutMethodology (5–8 bullets): date field, refund handling, exclusions, manual orders
B4Link tile (if supported) or appendix in docLink to reconciliation artifact (sheet or NetSuite export)

Known gaps

  • Full NetSuite / QuickBooks parity in Omni may be post-pilot per accelerator §3 Revenue / reconciliation. Pilot success = clear labeling + documented gap, not necessarily automated Finance pull.

Dashboard C — Partner coverage and reorder behavior

Why this dashboard exists

The wholesale team needs to know which accounts are represented in the mart and how they behave over time (orders, revenue, recency) to prioritize outreach and fix CRM vs Shopify mismatches. wholesale_dm_customer already combines CRM and Shopify; this dashboard makes that inspectable in Omni without re-deriving spreadsheets.

Primary audience

  • Laura Putnam, Madison
  • Blake (partnerships) as viewer

Questions answered

  • Which partners are in wholesale_dm_customer?
  • What are total orders, total revenue, first / last order dates, days since last order?
  • How do partners group by segment, business type, status?

Field mapping (Omni labels)

Align display names to wholesale customers report spec where useful:

ThemeExample source fields / concepts
IdentityCompany name, contact, customer ID
ClassificationSegment, application business type, partner status
Order / revenueTotal orders, total revenue, average order value
ActivityFirst order date, last order date, first wholesale order date, days since last order
LifecycleCustomer created, onboarded date (for funnel context later)

Core metrics (partner grain)

Core metricDefinition
Partners in martRow count or COUNT(DISTINCT customer_id) with documented filter (e.g. exclude test accounts)
Total revenue (lifetime or window)SUM of partner-level revenue field — confirm whether tile is lifetime vs filterable period
Total ordersSum or count per partner
Days since last orderAs modeled; flag stale CRM

Filters and defaults

  • Default sort: revenue descending or days since last order descending (team choice).
  • Filters: Segment, state, partner status, minimum revenue threshold.

Tiles

#Tile typeContent
C1KPICount of partners in mart (with filter note)
C2KPIMedian or average days since last order (define population)
C3Detail tablePartner roster: name, segment, status, total revenue, total orders, first/last order, days since last order
C4Bar or treemapRevenue by segment or business type
C5Histogram (optional)Distribution of days since last order (buckets: 0–30, 31–60, 61–90, 90+)

Known gaps

  • Formal “at risk” scoring deferred (accelerator memo). Buckets above are descriptive, not signed operational triggers unless LMNT approves.
  • CRM + Shopify tag hygiene may skew segment splits (LMNT Analysis Roadmap).

4. Phase 2 (not pilot acceptance)

Document in Omni README or folder description; do not block pilot sign-off.

  • Locked active / churned / at-risk definitions and calculated flags.
  • Wholesale LTV, RFM, geographic concentration dashboards.
  • Root-cause drill templates (Deck Guidelines C) when revenue moves materially week over week.
  • Doomsday triggers with named owners (Deck Guidelines D) once thresholds are agreed.

5. Topic, workbook, and Blobby notes

  • Topic naming: Keep focused Topics (e.g. wholesale customer grain vs order grain) per Omni best practices; join in model rather than overloading one Topic if grain conflicts.
  • Parameters: default_filters for date range; document in Topic YAML / UI description.
  • Sample queries (for Blobby): e.g. “Top 10 wholesale partners by revenue last 8 weeks”; “Wholesale revenue by month this year”; “Partners with no order in 90 days” (if filter supported).
  • Permissions: Viewer vs Creator per LMNT RBAC; Finance folder may restrict sensitive reconciliation workbooks.

6. Pilot acceptance criteria

Pilot wholesale reporting is accepted when:

  1. Stakeholders can answer all four accelerator wholesale questions using published dashboards (or published workbooks + documented Finance bridge).
  2. Ops revenue tiles reference locked or spreadsheet-approved definitions.
  3. Finance comparison is either live with two labels or explicitly documented as TBD with owner and artifact link.
  4. Partner roster dashboard reflects wholesale_dm_customer with core fields listed in §3C.
  5. Deck Guidelines compliance appendix (§7) is filled for dashboards A–C.

7. Appendix — Brainforge Deck Guidelines compliance

Reference: Brainforge Deck Guidelines (Notion).

Dashboard A — Wholesale executive pulse

GuidelineHow this dashboard satisfies it
A — ReadabilityTakeaway-style title; $ / % / counts in measure names; assumptions in §2 and Topic description
B — StorytellingDefault periods; 3–4 core metrics with formulas in §3A; top-20 rolls up to total revenue; WoW/MoM callouts when data supports
C — RCA (V2)Optional later: drill from total revenue → partner → segment; not required for pilot
D — Decision-orientedCandidate triggers (LMNT to assign owners): e.g. week-over-week revenue down > X% vs trailing 4w; top-5 partner revenue down > Y%. Final thresholds out of pilot scope unless provided
E — Reality checkOps vs Finance caveat in §2.2; no external benchmark claims without source

Dashboard B — Ops vs finance wholesale revenue

GuidelineHow this dashboard satisfies it
ATwo unambiguous measure names; methodology callout tile
BMonth/quarter aligned to Finance rhythm; variance formula explicit
CV2: breakdown of variance by adjustment class when data exists
DTrigger: unexplained variance > threshold → Finance + Ops huddle (threshold TBD)
EReconciles operational view with Finance / GL narrative; flags unverified claims

Dashboard C — Partner coverage and reorder behavior

GuidelineHow this dashboard satisfies it
ARoster columns match agreed labels; dates formatted consistently
BSegment cuts sum to filtered total; recency buckets explained
CV2: click partner → order history Topic if joined
DCandidate tiering: partners with revenue > $Z and days since order > 60 → account owner (thresholds TBD)
ECRM vs Shopify limitations stated in §3C

8. Stakeholder review and sign-off

Use this section during pilot spec review (per plan: Shivani, Laura, Finance as needed). Record decisions so build does not churn on ambiguous defaults.

8.1 Review checklist

TopicQuestion for LMNTDecision / notes
Date fieldWhich field defines Ops wholesale revenue in Omni (order date vs ship vs other)?
Active partnerDefinition for pilot: orders-in-period, CRM status, or both?
Default windowsConfirm default trend window (e.g. last 13 weeks + MTD)
Finance viewIs Finance wholesale revenue available in Snowflake for pilot, or link-only for B?
Top-NDefault N for top-partner table (e.g. 20)
Sign-offPilot acceptance §6 satisfied for wholesale slice?Yes / No — date:

8.2 Sign-off

RoleNameDateSignature / “Approved in Slack/email” ref
Wholesale leadership / opsShivani Amar
Wholesale teamLaura Putnam or delegate
Finance (if dual revenue view)Bess Ross / Jacob Rogers
Analytics build owner

9. Changelog

DateAuthorChange
2026-04-06BrainforgeInitial pilot spec from accelerator appendix, locked metrics, deck guidelines, and wholesale customer field map
2026-04-06BrainforgeAdded §1.5 CPG lens, §1.6–1.7 inventory and tracker mapping (plan gather-external), §8 stakeholder review/sign-off