Skip to content

Margins report

The Margins report is the most data-heavy view in P2Lab Stats because it operates on three time series at once: revenue, purchase price and selling price. It lives under P2Lab Stats → Sales → Margins and relies on the daily product snapshot table for cost and price history.

Like every other report it uses the common chrome — chart, sortable table, filter sidebar, profile sidebar, date range with previous-period comparison — plus a table-type switch in the URL for the three sub-views.

Two prerequisites for meaningful results:

  • Purchase prices on products — without purchasePrices, margin = revenue and the report degrades to a sales view. Fill purchase prices in the product detail page or via import.
  • Daily snapshots enabled — without snapshots, you only see the current purchase price applied to historical orders, so margin trends from cost changes are invisible. Enable under Settings → Plugins → P2Lab Stats → Tasks → Snapshots.

The report has three table types, switchable in the header:

Products whose margin % in the current range is below the configured low-margin threshold. Each row shows revenue, average margin %, COGS and current vs previous-period delta.

Use cases:

  • Spot products where the gap between purchase price and selling price is too narrow to be profitable after discounts.
  • Build a “needs price review” list.

Products where the margin % has dropped between the previous and current period — typically because purchase price went up faster than the selling price, or because the selling price was discounted without a matching cost cut.

Each row shows margin % then vs now, delta, the cost change and the price change.

Use cases:

  • Detect cost-pressure on key products before it eats the year-end result.
  • Negotiate with suppliers when their cost increases start showing.

A focused view of products whose purchase price went up within the range, regardless of whether margin % has moved yet. Useful for early-warning when costs are rising but you haven’t passed them through to the customer yet.

Each row shows purchase price at start vs end of range, % cost change and the current margin %.

Use cases:

  • Plan a price-list update before margin erodes.
  • Justify pricing changes to stakeholders with data.

In addition to the common filter sidebar, the margins report adds:

  • Margin threshold (%) — products with margin % below this value are highlighted and counted in the low-margin KPI.
  • Include products without purchase price — off by default; turn on if you want to see products with missing cost data flagged.
  • Group by category / manufacturer / sales channel — roll-up modes.

The KPI cards above the table show:

  • Total margin (currency) — revenue minus COGS in the range
  • Average margin % — weighted by revenue
  • Low-margin products — count below threshold
  • Deteriorating products — count with Δ% < 0 vs previous period

All four show their Δ % against the previous period.