> For the complete documentation index, see [llms.txt](https://docs.bloomanalytics.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.bloomanalytics.io/profit/profit-table.md).

# Profit Table

The Bloom Profit Table breaks down your Shopify store's revenue, costs, marketing spend, contribution margins, and net profit for any date range.

### What is a Profit Table?

The Profit Table in Bloom Analytics provides a complete breakdown of profitability, from Gross Merchandise Value (GMV) to Net Profit, for any selected period. It is built for ecommerce merchants who need to see exactly where money is made or lost, with each major revenue and cost component laid out in a clear, structured format. You can filter results by date range and group them by day, week, or month, so it supports both high-level trend analysis and granular performance review.

### How it Works

**Reading the Table**

Each column represents a time period based on the selected grouping, ending with a Total column that sums the entire date range. Each row represents a key metric, and some rows are expandable to reveal relevant sub-metrics. Negative values (such as markdowns, refunds, and discounts) appear with a minus sign, and all values display in the currency of your Bloom account.

**Metric Tiers (The Profit Waterfall)**

The Profit Table is organized as a top-to-bottom profit waterfall. It starts from top-line revenue and subtracts one layer of cost at each tier until it reaches Net Profit:

1\. Revenue metrics

2\. Cost metrics

3\. Contribution margins (CM1, CM2, CM3)

4\. Marketing performance metrics

5\. Operating expenses and Net Profit

**How Refunds are Reported**

Bloom follows Shopify's refund logic and offers two reporting modes:

1. Shopify-style refund reporting (default): refunds are shown based on the date the refund was issued, matching Shopify Analytics and Shopify Finance Reports.
2. Original Order Date refund mode (optional, recommended): refunds are attributed to the month the original order was placed rather than the refund date.

<figure><img src="https://749049708-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F9Cj862knfGNqzzPFauD6%2Fuploads%2FmkdqWJCT6HP3mOh2i13X%2Fimage.png?alt=media&amp;token=1d65b884-edb2-4450-9b19-e1451293e646" alt="Original Order Date refund mode "><figcaption></figcaption></figure>

To switch modes, see How to use it.

### Data Available

**Revenue Metrics**

<table data-header-hidden data-search="false"><thead><tr><th></th><th></th></tr></thead><tbody><tr><td>Metric</td><td>Definition</td></tr><tr><td>GMV (Gross Merchandise Value)</td><td>Total value of products based on the compare-at price (original price), usually higher than the sale price. Formula: GMV = Σ (Compare-at Price × Quantity Ordered).</td></tr><tr><td>Price Cut (Markdown)</td><td>The difference between the compare-at price and the actual sale price, the total price cut applied versus original prices. Shown as a negative value. Formula: Markdown = Σ ((Compare-at Price - Variant Price) × Quantity Ordered).</td></tr><tr><td>Price Cut %</td><td>Markdown as a percentage of GMV. Formula: Price Cut % = (Price Cut ÷ GMV) × 100.</td></tr><tr><td>Gross Revenue</td><td>Total value of product sales after markdowns but before discounts and refunds. Formula: Gross Revenue = GMV + Price Cut (Markdown), where markdowns are negative.</td></tr><tr><td>Gross Orders</td><td>Total number of orders placed within the selected date range.</td></tr><tr><td>Gross AOV</td><td>Average spend per order. Formula: Gross AOV = Gross Revenue ÷ Gross Orders.</td></tr><tr><td>Net Orders</td><td>True order volume after removing fully refunded orders. Formula: Net Orders = Gross Orders - Refunded Orders.</td></tr><tr><td>Net AOV</td><td>Average amount earned per successful order after refunds and discounts. Formula: Net AOV = Net Revenue ÷ Net Orders.</td></tr><tr><td>% of New Customer Orders</td><td>Share of orders from first-time customers. Formula: % New Customer Orders = (New Customer Orders ÷ Gross Orders) × 100.</td></tr><tr><td>Discounts</td><td>Total value of all reductions applied at checkout, including line-item and order-level discounts. Reduces Gross Revenue to Net Revenue. Shown as a negative value.</td></tr><tr><td>Discounted Orders %</td><td>Share of orders with at least one discount applied. Formula: Discounted Orders % = (Number of Orders with Discounts ÷ Gross Orders) × 100.</td></tr><tr><td>Discount Value %</td><td>Share of potential revenue lost to discounts. Formula: Discount Value % = (Discounts ÷ Gross Revenue) × 100.</td></tr><tr><td>Returns and Refunds</td><td>Total value of refunded and returned items in the period. Bloom follows Shopify refund logic and offers two reporting modes (see How refunds are reported).</td></tr><tr><td>Return Value %</td><td>Share of Gross Revenue returned or refunded. Formula: Return Value % = (Refund Value ÷ Gross Revenue) × 100.</td></tr><tr><td>% of Orders Returned</td><td>Share of orders that resulted in a return or refund. Formula: % of Orders Returned = (Number of Returned Orders ÷ Gross Orders) × 100.</td></tr><tr><td>Shipping Revenue</td><td>Total shipping or delivery charges collected from customers at checkout.</td></tr><tr><td>% of Gross Revenue from Shipping</td><td>Share of Gross Revenue from shipping charges. Formula: % of Gross Revenue from Shipping = (Shipping Revenue ÷ Gross Revenue) × 100.</td></tr><tr><td>Net Revenue</td><td>Actual earnings after discounts and refunds, plus shipping revenue. Unlike Shopify Net Sales, Bloom includes shipping revenue and excludes taxes. Formula: Net Revenue = Gross Revenue - Discounts - Refunds + Shipping Revenue.</td></tr><tr><td>Taxes</td><td>Total tax collected on orders (Sales Tax, GST, VAT, Municipal or County Tax). Not merchant revenue; remitted to the government.</td></tr><tr><td>Duties and Tips</td><td>Total import duties, customs fees, or tips collected. Not product revenue; collected on the merchant's behalf or for staff.</td></tr><tr><td>Total Revenue</td><td>Complete amount collected from customers: Net Revenue plus taxes, duties, and tips. Matches Shopify's Total Sales. Formula: Total Revenue = Net Revenue + Taxes + Duties &#x26; Tips.</td></tr></tbody></table>

<figure><img src="https://749049708-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F9Cj862knfGNqzzPFauD6%2Fuploads%2FM8USogZSDb8pc62AjAlB%2Fimage.png?alt=media&amp;token=ac2bbda9-eaf5-41ec-ac1e-1bbb2ab8ab17" alt="Bloom&#x27;s Revenue Metrics"><figcaption></figcaption></figure>

<figure><img src="https://749049708-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F9Cj862knfGNqzzPFauD6%2Fuploads%2FA3pKP4u3tNlAyAwhHtkF%2Fimage.png?alt=media&amp;token=c14b0616-08e5-4479-b499-1656d54d4666" alt="Bloom&#x27;s Revenue Metrics"><figcaption></figcaption></figure>

**Cost Metrics**

<table data-header-hidden data-search="false"><thead><tr><th></th><th></th></tr></thead><tbody><tr><td>Metric</td><td>Definition</td></tr><tr><td>COGS (Cost of Goods Sold)</td><td>Total direct cost of producing the products sold in the period. Includes only costs directly tied to making or acquiring products; excludes indirect costs like marketing or salaries.</td></tr><tr><td>Product Cost</td><td>Pulled automatically from Shopify if entered in product settings, or uploaded in bulk in Cost Settings. Directly affects margin and profitability metrics.</td></tr><tr><td>Other COGS</td><td>Additional direct costs of selling products not included in the product cost itself. Uploaded in Cost Settings.</td></tr><tr><td>Order Fulfillment Costs</td><td>Total cost to process, package, ship, and deliver orders, covering every step from preparing the product to handling returns and processing payments.</td></tr><tr><td>Shipping Cost</td><td>Actual shipping cost retrieved automatically from Shopify Shipping or external shipping partners. </td></tr><tr><td>Handling Cost</td><td>Cost of preparing items for shipment (picking, packing, packaging materials, general handling). Estimated per product or order type in Cost Settings.</td></tr><tr><td>Return Handling Cost</td><td>Cost of processing returns (receiving, inspecting, repackaging, restocking, or disposal). Estimated in Cost Settings.</td></tr><tr><td>Tariff Cost</td><td>Import or export duties on cross-border goods, varying by country and product classification. Estimated rates set in Cost Settings.</td></tr><tr><td>Payment Processing Fees (Gateway Cost)</td><td>Transaction fees retrieved automatically for Shopify Payments. Other gateways (PayPal, Stripe, regional processors) and their estimated fees can be added manually.</td></tr></tbody></table>

<figure><img src="https://749049708-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F9Cj862knfGNqzzPFauD6%2Fuploads%2FGlE7JSd6sDcDoNI2FQ9v%2Fimage.png?alt=media&amp;token=6c26f82f-fca8-45e7-aef2-21f5a79623fc" alt="Bloom&#x27;s Cost Metrics"><figcaption></figcaption></figure>

<figure><img src="https://749049708-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F9Cj862knfGNqzzPFauD6%2Fuploads%2FIHMZLGKCOPxkAXF9P3G3%2Fimage.png?alt=media&amp;token=332384ae-1ff5-4bba-8485-35dca64acfcc" alt="Bloom&#x27;s Cost Metrics"><figcaption></figcaption></figure>

**Marketing Spend**

<table data-header-hidden data-search="false"><thead><tr><th></th><th></th></tr></thead><tbody><tr><td>Metric</td><td>Definition</td></tr><tr><td>Marketing Spend</td><td>Total spend across all paid channels to attract visitors, drive conversions, and grow revenue. A foundational input for CAC, MPR, and aMPR. Includes Meta Ads, Google Ads, Snapchat Ads, TikTok Ads, Pinterest Ads, Amazon Ads, and Non-Ad Marketing Costs.</td></tr><tr><td>Meta Ads</td><td>Ad spend attributed to Meta.</td></tr><tr><td>Google Ads</td><td>Ad spend attributed to Google.</td></tr><tr><td>TikTok Ads</td><td>Ad spend attributed to TikTok.</td></tr><tr><td>Snapchat Ads</td><td>Ad spend attributed to Snapchat.</td></tr><tr><td>Pinterest Ads</td><td>Ad spend attributed to Pinterest.</td></tr><tr><td>Reddit Ads</td><td>Ad spend attributed to Reddit</td></tr><tr><td>Partners Ads</td><td>The amount spent on affiliate advertising through Partner-ads (commission plus network fee).</td></tr><tr><td>Non-Ad Marketing Cost</td><td>Custom non-ad marketing costs added under Operating Expenses (such as influencer partnerships, promotional materials, sponsorships, and affiliate payouts).</td></tr></tbody></table>

<figure><img src="https://749049708-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F9Cj862knfGNqzzPFauD6%2Fuploads%2FE4jA1HX453rTNQVqMmum%2Fimage.png?alt=media&amp;token=d592fc50-9de5-4e77-8214-f911c805b660" alt="Profit Table Bloom"><figcaption></figcaption></figure>

**Contribution Margin Metrics**

<table data-header-hidden data-search="false"><thead><tr><th></th><th></th></tr></thead><tbody><tr><td>Metric</td><td>Definition</td></tr><tr><td>CM1 (Gross Profit)</td><td>Amount earned after covering the direct cost of products sold. A higher CM1 indicates stronger product-level profitability. Formula: Gross Profit (CM1) = Total Revenue - Product Cost.</td></tr><tr><td>Gross Margin (CM1) %</td><td>Percentage of each revenue dollar retained after product cost. Around 75% or higher is generally strong. Formula: Gross Margin (CM1%) = Gross Profit ÷ Total Revenue.</td></tr><tr><td>CM2</td><td>Profit after product cost and all order fulfillment costs (shipping, handling, tariffs, returns processing, Amazon fees, payment processing fees). Formula: CM2 = Total Revenue - Product Cost - Order Fulfillment Costs.</td></tr><tr><td>CM2 %</td><td>Share of Net Revenue remaining after product and fulfillment costs. 60% or more is typically healthy. Formula: CM2% = CM2 ÷ Total Revenue.</td></tr><tr><td>CM3</td><td>Profit after product cost, fulfillment, and marketing spend. A clear indicator of operational profitability before fixed overheads. Formula: CM3 = Total Revenue - Product Cost - Order Fulfillment Costs - Marketing Spend.</td></tr><tr><td>CM3 %</td><td>CM3 as a share of Net Revenue. A healthy range is generally 30% to 45%. Formula: CM3% = CM3 ÷ Total Revenue.</td></tr></tbody></table>

<figure><img src="https://749049708-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F9Cj862knfGNqzzPFauD6%2Fuploads%2F12kLojTIj0h4M8yWQcR5%2Fimage.png?alt=media&amp;token=d2c51799-297f-4595-a7dc-eae59c96da66" alt="Contribution Margin 1"><figcaption></figcaption></figure>

<figure><img src="https://749049708-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F9Cj862knfGNqzzPFauD6%2Fuploads%2FBuU3Ec2EIbIhDVqv0EJ1%2Fimage.png?alt=media&amp;token=f30e172f-ce4a-4d4f-a466-0a7275a5fac6" alt="Contribution Margin 2"><figcaption></figcaption></figure>

<figure><img src="https://749049708-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F9Cj862knfGNqzzPFauD6%2Fuploads%2FwTyysOLbmpKpuYIOUt50%2Fimage.png?alt=media&amp;token=af2e0435-19fb-4b93-b8c5-9d23a8b1ce27" alt="Contribution Margin 3"><figcaption></figcaption></figure>

**Marketing Performance Metrics**

<table data-header-hidden data-search="false"><thead><tr><th></th><th></th></tr></thead><tbody><tr><td>Metric</td><td>Definition</td></tr><tr><td>MER (Marketing Efficiency Ratio)</td><td>How efficiently marketing spend turns into revenue. Higher is better. Formula: MER = Net Revenue ÷ Total Marketing Spend.</td></tr><tr><td>aMER (Acquisition MER)</td><td>How efficiently marketing spend brings in new-customer revenue. Formula: aMER = Net Revenue from New Customers ÷ Total Marketing Spend.</td></tr><tr><td>New Customers</td><td>Total customers who made their first purchase during the period.</td></tr><tr><td>Gross profit BEROAS </td><td>Minimum return the store needs on ad spending to cover product costs and avoid a loss. A BEROAS of 1 signifies that ad expenditure precisely covers product costs. Any BEROAS value greater than 1 indicates profitability.<br>Formula: BEROAS = Total Revenue ÷ profit after fulfillment</td></tr><tr><td>Contribution Margin BEROAS </td><td>Minimum ROAS needed to cover variable costs, including product costs, fulfillment, and marketing spend. It helps measure profitability before fixed operating expenses</td></tr><tr><td>Net profit BEROAS </td><td>Minimum ROAS needed to cover all business costs and break even after accounting for product costs, fulfillment, payment fees, salaries, rent, and operating expenses.</td></tr><tr><td>15 % NP Target ROAS </td><td>ROAS required to achieve a 15% net profit margin. It represents the ad spend to revenue efficiency needed to cover all costs and retain 15% of revenue as profit.</td></tr><tr><td>CAC (Cost per New Customer)</td><td>Average cost to acquire a new customer. Lower is more cost-effective. Formula: CAC = Total Marketing Spend ÷ Number of New Customer Orders.</td></tr><tr><td>MPR (Marketing Profit Ratio)</td><td>Profit generated per dollar of marketing spend. Higher is stronger. Formula: MPR = CM2 ÷ Total Marketing Spend.</td></tr><tr><td>aMPR (Acquisition MPR)</td><td>CM2 from new-customer orders generated per dollar of marketing spend. Formula: aMPR = CM2 from New Customer Orders ÷ Total Marketing Spend.</td></tr><tr><td>First-Order Contribution Margin </td><td>Measures the profit generated from new customers. It shows whether revenue from new customers covers your advertising costs and indicates if acquiring new customers is profitable.<br>Formula: Net Revenue of New Customers - COGS + Total Ad Spend.</td></tr><tr><td>First-Order Contribution Margin per New Customer </td><td>Measures the average profit generated per new customer on their first order.This helps you understand how much profit each new customer contributes after accounting for product costs and ad spend, and evaluate the efficiency of your customer acquisition efforts.<br>Formula: First-order Contribution ÷ Number of New Customers.</td></tr><tr><td>% of Sales on Marketing</td><td>Share of Net Revenue reinvested into marketing. Formula: % of Sales on Marketing = Total Marketing Spend ÷ Net Revenue.</td></tr></tbody></table>

<figure><img src="https://749049708-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F9Cj862knfGNqzzPFauD6%2Fuploads%2FA7lQiP8kKjyRD0AomTsc%2Fimage.png?alt=media&amp;token=3e7931eb-e7fb-4878-a759-d6f03235b7ac" alt="Bloom&#x27;s Marketing Performance Metrics"><figcaption></figcaption></figure>

<figure><img src="https://749049708-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F9Cj862knfGNqzzPFauD6%2Fuploads%2FtxdqRAkzmuD59vxzsoOW%2Fimage.png?alt=media&amp;token=e08af8eb-386a-4566-b412-6a72cdd261ed" alt="Bloom&#x27;s Marketing Performance Metrics"><figcaption></figcaption></figure>

**Operating Expenses**

| Metric                           | Definition                                                                                                                                                                                                                                                                                                   |
| -------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| Operating Expenses               | Total cost to run the business day to day, both fixed and variable. Components: Salaries, Rent, Maintenance, Amazon Charges, Professional Fees, Interest Payments, Custom Taxes, Other Expenses, Channel Fee. All except Amazon Charges (which sync automatically) can be added or updated in Cost Settings. |
| % of Sales on Operating Expenses | Share of Net Revenue used to cover operating expenses. A lower percentage indicates stronger operational efficiency. Formula: % of Sales on Operating Expenses = Total Operating Expenses ÷ Net Revenue.                                                                                                     |

<figure><img src="https://749049708-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F9Cj862knfGNqzzPFauD6%2Fuploads%2FreXymhRlp6kt4DOkE8zH%2Fimage.png?alt=media&amp;token=bfd01adf-1bb5-4cc8-83c4-8e659eee44c4" alt="Operating Expenses"><figcaption></figcaption></figure>

**Net Profit Metrics**

<table data-header-hidden data-search="false"><thead><tr><th></th><th></th></tr></thead><tbody><tr><td>Metric</td><td>Definition</td></tr><tr><td>Net Profit</td><td>Final profit after subtracting Operating Expenses from CM3. The clearest indicator of true profitability. Formula: Net Profit = CM3 - Operating Expenses.</td></tr><tr><td>Net Profit Margin (%)</td><td>Share of Net Revenue remaining as profit after all costs. Most ecommerce brands aim for 10% to 20%. Formula: Net Profit Margin (%) = Net Profit ÷ Total Revenue.</td></tr><tr><td>Cost of Goods Sold % </td><td>For e-commerce brands, the ideal range for the cost of goods sold (COGS) as a percentage of Net Revenue is typically between 25% and 35%. This suggests the selling price is three to four times the product's cost.</td></tr><tr><td>Cost to Serve Orders %</td><td>Cost to fulfill orders typically accounts for an average of 10% of Net Revenue for most brands. These fulfillment expenses comprise the combined costs of handling, gateway fees, and shipping..</td></tr><tr><td>Cost to Acquire Customers %</td><td>Share of Total Revenue spent on marketing to acquire customers. Growth brands often near 25%, mature brands under 20%. Formula: Cost to Acquire Customers % = Marketing Spend ÷ Net Revenue.</td></tr><tr><td>Cost to Operate Business %</td><td>Share of Total Revenue spent on overheads (salaries, rent, professional fees, maintenance, platform fees, other). Typically around 15%. Formula: Cost to Operate Business % = Operating Expenses ÷ Net Revenue.</td></tr></tbody></table>

<figure><img src="https://749049708-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F9Cj862knfGNqzzPFauD6%2Fuploads%2FFCig9RLJBreq922rdwMV%2Fimage.png?alt=media&amp;token=2da66fd4-b010-4888-8cf5-f263cf96d5d0" alt="Net Profit Metrics"><figcaption></figcaption></figure>

### How to Use it

1. Set the date range for the period you want to analyze.
2. Choose the grouping: day, week, or month.
3. Expand any row that has sub-metrics to see its breakdown.
4. Add or upload your cost inputs in Cost Settings so calculations are accurate: product cost, other COGS, handling, return handling, tariffs, payment gateway fees, and operating expenses. Set custom shipping rules in Shipping Settings.
5. Choose your refund reporting mode: keep the default Shopify-style reporting, or switch to the optional Original Order Date mode.
6. Read the Total column for the full-period summary across all metrics.
