Skip to main content

Profit Peak Metrics & Formulas

This article explains how ProfitPeak calculates its core sales, profit, and attribution metrics. It also covers why some numbers, especially refunds and returns, won't always match Shopify.

Why does it matter how metrics are calculated?

When two reports show different numbers, the first instinct is to assume one is wrong. Usually both are right and they're answering different questions. Knowing exactly how each ProfitPeak metric is built helps you pick the right number for the decision in front of you. It also lets you explain the difference confidently when someone on your team holds up a Shopify report next to a ProfitPeak one.

How are sales and gross profit calculated?

Metric

How it's calculated

Gross Sales

Product price × quantity, before discounts, shipping, taxes, and refunds

Net Sales (also called Total Revenue)

Gross Sales − discounts − refunds

Shipping Paid

Shipping charged to customers, minus shipping discounts and shipping refunds

Total Sales

Net Sales + Shipping Paid + taxes + duties

Gross Profit

Net Sales − product cost

Gross Margin

Gross Profit ÷ Net Sales × 100

Shipping and tax are kept separate from your product sales. Picture shipping as a separate envelope. It sits next to your product sales but never gets mixed in with them. It's reported on its own as Shipping Paid. That means Gross Sales, Net Sales, and every profit metric built on them reflect product revenue only. Shipping and tax show up in Total Sales, the figure that matches what customers actually paid at checkout.

What types of costs does ProfitPeak use?

Cost

What it means

Track Cost

Ad spend attributed to specific tracked orders

Blended Ad Spend

All the ad spend you actually incurred, added up across every platform

Variable Cost

Costs that grow with order volume, like shipping, packaging, and payment fees

Fixed Cost

Costs that stay the same regardless of sales, like rent, salaries, and software

For how to set these up, see Understanding Costs in ProfitPeak 2.0.

What's the difference between Allocated and Accrual profit?

ProfitPeak calculates contribution profit (profit after variable costs and ad spend) in two ways. The only difference is which ad spend gets subtracted.

Contribution Profit (Allocated)

Contribution Profit (Accrual)

Ad spend used

Only ad spend attributed to tracked orders (Track Cost)

All ad spend as it was incurred (Blended Ad Spend)

Formula

Gross Profit − Variable Cost − Track Cost

Gross Profit − Variable Cost − Blended Ad Spend

Best for

Judging campaign and channel performance

Financial reporting and Peak dashboards

Answers

"Which campaigns are profitable?"

"What did the business actually make?"

Net profit works the same way. Subtract fixed costs from whichever version of contribution profit you're using:

  • Net Profit (Allocated) = Contribution Profit (Allocated) − Fixed Cost

  • Net Profit (Accrual) = Contribution Profit (Accrual) − Fixed Cost

  • Net Margin = Net Profit ÷ Net Sales × 100

Before comparing two reports, check which version each one uses. Allocated and Accrual figures will almost never match each other, and mixing them up can make correct numbers look inconsistent.

How do the attribution models assign credit?

Attribution models decide which marketing touchpoints get credit for a sale. They apply to paid sources, including Google, Meta, TikTok, Pinterest, and Bing.

Model

How credit is shared

Example

Last Click

100% to the last touchpoint before purchase

Meta, then Google, then Direct: Direct gets 100%

First Click

100% to the first touchpoint

Meta, then Google, then Direct: Meta gets 100%

Linear (80/20)

80% shared equally across paid touchpoints, 20% shared equally across non-paid ones

Google, then Direct, then Organic, then Direct: Google gets 80%, each non-paid visit gets 6.67%

Linear Paid

Shared equally across paid touchpoints only. Non-paid visits get nothing.

Meta, then Google, then TikTok, then Direct: each paid platform gets 33.3%, Direct gets 0%

Last Paid Click (per platform)

Each platform's last paid click gets an equal share, within a 14-day click window. Klaviyo isn't included.

Two Meta ads, then two Google ads, then purchase: the last Meta click gets 50%, the last Google click gets 50%

For Linear Paid, if a journey has no paid touchpoints at all, no ad gets credit for that order.

The model you choose changes the story. Last Click and First Click can tell completely different stories about the same sales. Choose the model that fits the question you're asking, not the one that makes a channel look best. For more on how ProfitPeak's attribution works, see Attribution Vertex.

Why don't refund and return rates match Shopify?

This is the most common reason ProfitPeak and Shopify numbers differ.

ProfitPeak records a refund or return against the date of the original order. Shopify records it on the date the refund was processed. Both approaches are valid. They just answer different questions.

What's the difference between Refund % and Return %?

ProfitPeak tracks two separate metrics because refunds and returns don't always happen together.

  • Refund %: Of the money you made in this period, how much went back to customers?

  • Return %: Of the orders placed in this period, how many had an item sent back?

Scenario

Counts toward Refund %

Counts toward Return %

Full refund, item returned

Yes

Yes

Partial refund, item returned

Yes

Yes

No refund, item returned (a goodwill return)

No

Yes

Refund with no item returned (like a shipping refund)

Yes

No

How does order-date matching work in practice?

An order placed on April 15 is returned on May 3. ProfitPeak counts that return in April, because that's when the sale happened. An order and its return always land in the same month.

The trade-off is that past months aren't frozen. As late returns come in, last month's Return % can rise over time. That's what you get with a true picture of each month's sales. Shopify's view locks the number in on the day it's reported, which suits cash flow tracking.

Why does this matter for real decisions?

Say you launch a new dress on April 1 and spend $100K on ads that month. Shopify shows April as a record month, so you order $500K more stock and double your May ad budget. Then returns roll in between May 1 and 5, because the fit runs small.

In Shopify, those returns come out of May. April still looks like a win, and you keep spending on a product that isn't working.

In ProfitPeak, those returns are matched back to April. April's profit and return on ad spend drop right away, so you can pause the ads and cancel the stock order before the damage grows.

Put simply, Shopify explains why your bank balance changed. ProfitPeak shows whether your products, marketing, and ads are actually working.

What should you keep in mind?

A mismatch isn't necessarily an error. If refund or return numbers differ from Shopify for the same period, check the order-date difference above before contacting support.

Compare product sales to product sales. ProfitPeak's Net Sales doesn't include shipping or tax. If you're comparing it to a Shopify figure that does, use Total Sales instead.

Match the profit version before comparing. Make sure both reports use Allocated or both use Accrual.

Match the attribution model to the question. Last Click, First Click, and Linear will each tell you something different about the same data.

What should you ask Sherpa?

  • "Why doesn't my refund % match what I see in Shopify?"

  • "Show me Contribution Profit Accrual vs. Allocated for last month."

  • "Compare my channel performance under Last Click vs. Linear attribution."

  • "What's driving the difference between my Refund % and Return % this month?"


Short description: How ProfitPeak calculates profit, attribution, and returns, and why some numbers differ from Shopify.

Long description: A plain-language reference for ProfitPeak's core metrics: sales, shipping, gross profit, Allocated vs. Accrual contribution profit, net profit, and every attribution model. Includes a clear explanation of why refund and return rates won't match Shopify, and why that's useful.

Did this answer your question?