How to Use B2B vs B2C Analysis in Amazon: Step-by-Step Tutorial
By MCP Analytics Team | Published , updated
Understand how business buyers differ from individual consumers on Amazon
Introduction to B2B vs B2C Analysis
If you're selling on Amazon, understanding the difference between your business (B2B) and individual consumer (B2C) customers can inform your pricing, inventory and marketing choices. Business buyers may have different purchasing patterns, order volumes, and product preferences compared to individual consumers. This analysis can reveal opportunities to tailor your pricing, inventory, and marketing strategies for each segment.
By analyzing the behavioral differences between B2B and B2C customers, you can:
- Optimize pricing strategies for bulk purchases versus individual orders
- Adjust inventory levels based on which segment drives volume
- Tailor product offerings to meet the specific needs of each customer type
- Improve marketing campaigns by targeting the right message to the right audience
- Forecast demand more accurately by understanding purchase cycles
In this tutorial, you'll learn how to perform a B2B vs B2C analysis using your Amazon sales data. We'll cover three key questions: What percentage of your orders are B2B? Do business buyers spend more? And what products do businesses prefer? The tables in Steps 1 to 3 come from a small synthetic data set generated for this tutorial (4 made-up products, 900 orders), not a real store. That data set and its generator are not published, so treat those tables as illustrations of the format. The seeded example below is fully reproducible, and your numbers will differ.
Steps: 1 Share of orders that are B2B, 2 Do business buyers spend more, 3 Which products business buyers prefer. The script below is a small simulated run showing why every count in this tutorial is of distinct orders, not export rows.
A Small Simulated Example: Item Rows Are Not Orders
An Amazon export has one row per order item, and one order can have several rows, even for the same SKU. This example is simulated (numpy seed 3), not Amazon data: 400 orders with 1 to 3 items each, where B2B orders lean toward SUPPLY-200 and B2C orders toward MUG-100. It counts each SKU's B2B share twice, once from item rows and once from distinct orders.
import numpy as np
import pandas as pd
rng = np.random.default_rng(3) # seed stated: 3
skus = ["SUPPLY-200", "MUG-100"]
rows = []
for n in range(400):
biz = rng.random() < 0.25
for _ in range(rng.integers(1, 4)):
# B2B orders lean to SUPPLY-200; B2C orders to MUG-100
p = 0.8 if biz else 0.3
sku = skus[0] if rng.random() < p else skus[1]
# two item rows of the same SKU can sit in one order
rows.append((f"O{n:03d}", biz, sku))
if rng.random() < 0.25:
rows.append((f"O{n:03d}", biz, sku))
df = pd.DataFrame(rows, columns=["order_id", "biz", "sku"])
df["type"] = df["biz"].map({True: "B2B", False: "B2C"})
rows_ct = df.pivot_table(index="sku", columns="type",
values="order_id", aggfunc="count")
uniq = df.drop_duplicates(["order_id", "sku", "type"])
ord_ct = uniq.pivot_table(index="sku", columns="type",
values="order_id", aggfunc="count")
print("item rows:", len(df), "| distinct orders:",
df["order_id"].nunique())
for name, t in [("item rows", rows_ct), ("distinct orders", ord_ct)]:
share = (t["B2B"] / t.sum(axis=1) * 100).round(1)
print(f"\nCounted as {name}:")
print(t.join(share.rename("B2B %")).to_string())
item rows: 983 | distinct orders: 400
Counted as item rows:
B2B B2C B2B %
sku
MUG-100 50 490 9.3
SUPPLY-200 180 263 40.6
Counted as distinct orders:
B2B B2C B2B %
sku
MUG-100 33 253 11.5
SUPPLY-200 82 162 33.6
The 983 item rows come from 400 orders. Counting rows gives SUPPLY-200 a B2B share of 40.6%, while counting distinct orders gives 33.6%, because in this simulation B2B orders put more of their rows on SUPPLY-200 than B2C orders do. The SQL below counts DISTINCT order_id; in a spreadsheet, remove duplicate order, SKU and customer-type combinations before you count. This simulation cannot tell you how many rows per order your own export has.
Prerequisites and Data Requirements
What You'll Need
Before starting this tutorial, ensure you have the following:
- Amazon Seller Central Account with access to order reports
- Order data export covering at least 90 days (preferably 6-12 months for reliable trends)
- Business customer indicator in your data (some Amazon order exports include a column that flags business orders; the name and availability vary by report and marketplace, so check your own headers. This tutorial calls it
is-business-order) - Analytics tool such as SQL, Python, Excel, or Google Sheets
- Basic data analysis skills or familiarity with spreadsheet formulas
Understanding Your Data Fields
Column names vary by report. This tutorial assumes columns like these, one row per order item; rename them to match your file:
| Field Name | Description | Example Value |
|---|---|---|
| order-id | Unique identifier for each order | 112-3456789-0123456 |
| is-business-order | Boolean indicating if order is B2B | true / false |
| order-item-id | Unique identifier for each item in order | 34567890123456 |
| purchase-date | Date and time of purchase | 2024-01-15T14:23:45Z |
| item-price | Price of individual item | 29.99 |
| sku | Stock Keeping Unit (product identifier) | WIDGET-001-BLK |
| product-name | Product title (some order reports include it; if yours does not, drop product_name from the Step 3 SQL or join titles from your own listing report) | Premium Widget Black |
| quantity-purchased | Number of units ordered | 5 |
Exporting Your Data from Amazon
Export your orders from Seller Central as a CSV or tab-delimited file, covering the period you want to study. Which report holds a business-order flag, and what it is called, depends on the report type and marketplace; check the current Seller Central documentation for the report you choose, and confirm that the flag column exists in your own export before you start.
Loading the File for the SQL Queries
The SQL examples assume a table named amazon_orders with one row per order item. Import your export into a database (for example with your database's CSV import tool) and rename the headers from hyphens to underscores: order-id becomes order_id, order-item-id becomes order_item_id, purchase-date becomes purchase_date, item-price becomes item_price, quantity-purchased becomes quantity_purchased, is-business-order becomes is_business_order, and likewise sku and product_name. Load prices and quantities as numbers and the date as a date or timestamp. The queries compare is_business_order as it was imported, so check whether it holds true and false, or another value, in your file.
Step 1: What Percentage of Orders Are B2B?
The first step in your analysis is understanding the composition of your customer base. Calculating the percentage of B2B versus B2C orders gives you a baseline understanding of your business mix.
Why This Matters
Knowing your B2B percentage helps you:
- Assess whether you're effectively reaching business customers
- Compare the mix with your own earlier periods
- Determine if you should invest more in Amazon Business features
- Understand your vulnerability to changes in either market segment
Performing the Analysis
Using SQL
-- Calculate order counts by customer type
SELECT
is_business_order,
COUNT(DISTINCT order_id) as order_count,
ROUND(COUNT(DISTINCT order_id) * 100.0
/ SUM(COUNT(DISTINCT order_id)) OVER (), 2) as percentage
FROM amazon_orders
-- PostgreSQL syntax; adjust the date filter for your database
WHERE purchase_date >= CURRENT_DATE - INTERVAL '90 days'
GROUP BY is_business_order
ORDER BY is_business_order DESC;
Using Excel/Google Sheets
- Create a new column labeled "Customer Type"
- Use formula:
=IF(B2="true","B2B","B2C")(assuming is-business-order is in column B) - The export has one row per order item, so counting its rows counts items, not orders. Copy the order-id and Customer Type columns to a new sheet and remove duplicate order-ids to get one row per order
- On that sheet, create a pivot table with Customer Type in Rows and Count of order-id in Values
- For the percentage, either set the Values field to show as a percentage of the grand total (the "Show values as" option in the pivot table settings of Excel and Google Sheets), or type a formula next to the pivot: with counts in B2 and B3, use
=B2/SUM($B$2:$B$3)and format the cell as a percentage
Expected Output
On the synthetic data set described above, the order-count query prints:
Customer Type | Orders | Share
--------------+--------+--------
B2B | 243 | 27.00%
B2C | 657 | 73.00%
--------------+--------+--------
Total | 900 | 100.00%
Interpreting the Results
- The share describes your own mix; by itself it does not say whether the mix is good. Compare it with earlier periods and with the revenue share from Step 2.
- When the order share is much lower than the revenue share, as in the example, business orders are larger on average.
Step 2: Do Business Buyers Spend More?
Understanding the spending patterns between B2B and B2C customers shows how much revenue each segment brings in your data. Even when B2B is a smaller share of orders, it can contribute a larger share of revenue.
Key Metrics to Calculate
- Average Order Value (AOV): Total revenue divided by number of orders
- Average Units Per Order: How many items are purchased per transaction
- Total Revenue Contribution: What percentage of total revenue comes from each segment
Performing the Analysis
Using SQL
-- Compare spending metrics by customer type (order level first)
SELECT
is_business_order,
COUNT(*) AS order_count,
SUM(order_total) AS total_revenue,
ROUND(AVG(order_total), 2) AS avg_order_value,
ROUND(AVG(total_units), 1) AS avg_units_per_order,
ROUND(SUM(order_total) * 100.0 /
SUM(SUM(order_total)) OVER (), 2) AS revenue_percentage
FROM (
SELECT
order_id,
is_business_order,
SUM(item_price * quantity_purchased) AS order_total,
SUM(quantity_purchased) AS total_units
FROM amazon_orders
WHERE purchase_date >= CURRENT_DATE - INTERVAL '90 days'
GROUP BY order_id, is_business_order
) order_summary
GROUP BY is_business_order
ORDER BY is_business_order DESC;
Using Excel/Google Sheets
- On the item sheet, add a Line Revenue column (item-price times quantity-purchased)
- On the one-row-per-order sheet from Step 1, add Order Total:
=SUMIF(order_id_range, order_id, line_revenue_range), and Units the same way from quantity-purchased - Create a pivot table on the order sheet with Customer Type in Rows and, as Values, Count of Order-ID, Sum of Order Total, Average of Order Total and Average of Units
- Calculate revenue percentage for each segment
Expected Output
On the same synthetic data set, the spending query prints:
Type | Orders | Revenue | AOV | Units | Rev %
------+--------+------------+---------+-------+-------
B2B | 243 | $45,330.00 | $186.54 | 10.2 | 55.64%
B2C | 657 | $36,140.00 | $55.01 | 2.5 | 44.36%
------+--------+------------+---------+-------+-------
Total | 900 | $81,470.00 | $90.52 | 4.6 | 100.00%
Interpreting the Results
Average Order Value Analysis:
- Compare the two AOVs directly. In the example, B2B AOV is $186.54 and B2C AOV is $55.01, a ratio of about 3.4, largely because B2B orders hold more units (10.2 against 2.5 per order).
- A mean can be pulled up by a few very large orders; check the median order value of each segment before acting.
Revenue Contribution Analysis:
- In the example above, B2B represents 27.00% of orders but contributes 55.64% of revenue
- This shows B2B orders are larger on average; whether that segment is worth more investment depends on margin and cost to serve, which this data does not show
- Revenue % ÷ Order % = 55.64 ÷ 27.00 = 2.06. This equals B2B AOV divided by the AOV of all orders ($186.54 ÷ $90.52), so a B2B order is about 2.06 times the overall average order value. Against B2C alone the ratio is 3.4 ($186.54 ÷ $55.01).
Strategic Insights
If your analysis shows B2B customers have significantly higher AOV:
- Consider implementing quantity-based pricing tiers
- Invest in business customer acquisition through Amazon Business promotions
- Ensure adequate inventory for larger bulk orders
- Create product bundles or multi-packs appealing to business buyers
Step 3: What Products Do Businesses Prefer?
Different customer segments often prefer different products from your catalog. Knowing these preferences can help you plan inventory and promotions, and decide whether business-specific products are worth testing.
Why Product Preference Matters
- Inventory optimization: Stock more of products popular with your dominant segment
- Product development: Create variations (colors, sizes, packaging) that appeal to business buyers
- Marketing focus: Highlight business-friendly features in listings for B2B-preferred products
- Pricing strategy: Offer business pricing on products with high B2B demand
Performing the Analysis
Using SQL
-- Identify top products by customer type
WITH product_metrics AS (
SELECT
sku,
product_name,
is_business_order,
COUNT(DISTINCT order_id) as orders,
SUM(quantity_purchased) as units_sold,
SUM(item_price * quantity_purchased) as revenue
FROM amazon_orders
WHERE purchase_date >= CURRENT_DATE - INTERVAL '90 days'
GROUP BY sku, product_name, is_business_order
),
product_totals AS (
SELECT
sku,
SUM(orders) as total_orders,
SUM(units_sold) as total_units
FROM product_metrics
GROUP BY sku
)
SELECT
pm.sku,
pm.product_name,
pm.is_business_order,
pm.orders,
pm.units_sold,
pm.revenue,
ROUND(pm.orders * 100.0 / pt.total_orders, 2) as order_percentage,
ROUND(pm.units_sold * 100.0 / pt.total_units, 2) as unit_percentage
FROM product_metrics pm
JOIN product_totals pt ON pm.sku = pt.sku
WHERE pt.total_orders >= 20 -- Filter for products with significant volume
ORDER BY pm.revenue DESC
LIMIT 50;
Using Excel/Google Sheets
- Orders first: copy the order-id, sku and Customer Type columns to a new sheet and remove duplicate rows across all three columns, so each order counts once per SKU. Make a pivot table there with SKU in Rows, Customer Type in Columns and Count of order-id in Values
- Units and revenue: on the item sheet, make a second pivot with SKU in Rows, Customer Type in Columns, and Sum of quantity-purchased and Sum of Line Revenue in Values
- Calculate the percentage of each SKU's orders that are B2B from the first pivot (B2B count divided by the row total)
- Sort by total revenue to focus on top products
- Identify products with B2B percentage significantly different from your overall average
Expected Output
On the same synthetic data set, the product query (without its volume filter) gives these figures, shown here regrouped by SKU with a Type label, without the query's product_name and unit_percentage columns (the products are Premium Widget Black, Home Gadget Set, Office Supply Pack and Travel Mug, in the order listed). The last column is the row's own segment's share of that SKU's orders, so the two rows of a SKU add to 100%.
SKU | Type | Orders | Units | Revenue | SKU share
-----------+------+--------+-------+------------+----------
WIDGET-001 | B2B | 159 | 929 | $18,580.00 | 35.5%
WIDGET-001 | B2C | 289 | 446 | $8,920.00 | 64.5%
GADGET-055 | B2B | 32 | 181 | $5,430.00 | 7.7%
GADGET-055 | B2C | 385 | 575 | $17,250.00 | 92.3%
SUPPLY-200 | B2B | 157 | 965 | $15,440.00 | 55.3%
SUPPLY-200 | B2C | 127 | 190 | $3,040.00 | 44.7%
MUG-100 | B2B | 66 | 392 | $5,880.00 | 17.4%
MUG-100 | B2C | 313 | 462 | $6,930.00 | 82.6%
Interpreting the Results
Identifying Product Segments:
- Compare each product's B2B order share with the overall B2B order share of 27.0%. In the example, SUPPLY-200 (55.3%) is well above it and GADGET-055 (7.7%) is well below; WIDGET-001 (35.5%) and MUG-100 (17.4%) sit in between.
- Where you draw a line between B2B-leaning and B2C-leaning is your choice. With few orders per product the shares move a lot from one period to the next, so treat them as leads to check.
Strategic Actions Based on Product Preferences:
For B2B-Dominant Products:
- Consider quantity discounts for business buyers, where Amazon offers them for your account
- Highlight bulk packaging and business-friendly features in listings
- Ensure higher inventory levels to accommodate larger orders
- Consider creating business-specific variations (e.g., higher quantity packs)
- Add business pricing for orders of 10+ units
For B2C-Dominant Products:
- Focus on consumer-friendly features in product descriptions
- Invest in consumer marketing and promotions
- Optimize for individual purchase sizing and packaging
- If recurring consumer purchases look likely, check Amazon's current documentation on subscription options for your products
Cross-Selling Opportunities
Look for patterns in what products are purchased together by each segment. Business buyers might purchase your office supplies alongside your widgets, while consumers buy gadgets with accessories. Use your own order data to see which products appear together before you change listings.
Interpreting Your Results: Putting It All Together
Now that you've completed all three analysis steps, it's time to synthesize your findings into actionable insights. Let's look at a complete example scenario:
Sample Complete Analysis
Example summary (synthetic data)
- B2B Order Percentage: 27.00%
- B2B Revenue Contribution: 55.64%
- B2B Average Order Value: $186.54 (vs. B2C: $55.01)
- B2B order value against all orders: 2.06 times the overall average of $90.52
- Product Insights: 1 of the 4 example SKUs (SUPPLY-200) has a B2B order share above 50%
Strategic Recommendations Based on Results
Scenario 1: High B2B Revenue Contribution (30%+ of revenue)
The 30% cut-off here is an example, not a benchmark. If business customers contribute a large share of your revenue, they are a segment worth planning for:
- Check Amazon's current documentation on selling to business buyers and whether you are enrolled
- Implement business pricing for high-volume purchases
- Optimize B2B-popular products with bulk packaging and business-focused descriptions
- Increase inventory for the SKUs with the highest B2B order share, to handle larger orders
- Consider B2B-specific products or variations (e.g., 100-count packs vs. 10-count)
Scenario 2: Low B2B Percentage (Under 15%)
If business customers represent a small portion of your sales, you have growth opportunities:
- Analyze why: Are your products consumer-focused, or are you not reaching business buyers?
- Test business pricing on your top-selling products
- Add business-friendly features to product listings (bulk discounts, tax exemption compatibility)
- Create multi-packs or bundle offerings that appeal to businesses
- Monitor results over 90 days to see if B2B percentage increases
Scenario 3: High AOV Disparity (3x+ difference)
If B2B customers spend significantly more per order:
- Protect your B2B relationships with excellent customer service
- Create VIP programs or special offers for top business accounts
- Ensure stock availability to avoid disappointing high-value customers
- Consider account management for your largest business customers
Setting Up Ongoing Monitoring
B2B vs B2C analysis isn't a one-time exercise. Set up a quarterly review process:
- Month 1 of Quarter: Run the full analysis (Steps 1-3)
- Month 2 of Quarter: Implement changes based on insights
- Month 3 of Quarter: Measure impact of changes
- Track key metrics: B2B percentage, AOV ratio, top product shifts
Common Issues and Solutions
Issue 1: Missing is-business-order Field
Problem: Your order report doesn't include the is-business-order field.
Solution:
- Report types differ in which columns they include; request another order report type and compare the headers
- Check Amazon's help pages on whether the business-order flag is available for your account and marketplace
- Request a new report after changing the report type or date range
- If still missing, contact Amazon Seller Support to verify your Amazon Business enrollment
Issue 2: All Orders Showing as B2C
Problem: Every order has is-business-order = false.
Solution:
- This may be accurate if you haven't enrolled in Amazon Business
- Verify your Amazon Business enrollment status
- If you are not enrolled, check Amazon's help pages for how to enroll
- After enrolling, request a new export and check whether the flag now varies
- Some categories may have a very low business-order share
Issue 3: Inconsistent B2B Percentages Across Time Periods
Problem: B2B percentage varies wildly month-to-month (e.g., 10% one month, 40% the next).
Solution:
- Use longer time periods (90+ days) to smooth out volatility
- Check for seasonal patterns (businesses may buy more in Q4 or at fiscal year-end)
- Look for one-time large business orders that skew results
- Segment by product to see if specific SKUs drive the fluctuation
- Consider using rolling 90-day averages for more stable metrics
Issue 4: Unable to Calculate Average Order Value
Problem: Your data shows line items, not order-level totals.
Solution:
- Group by order-id first to create order-level summaries
- Use this Excel formula:
=SUMIF($A:$A, A2, $E:$E)where A is order-id and E is item-price × quantity - In SQL, use a subquery or CTE to aggregate to order level first (see Step 2 code example)
- Don't forget to multiply item-price by quantity-purchased before summing
Issue 5: Product Analysis Shows All Products Balanced
Problem: Every product shows approximately the same B2B percentage as your overall average.
Solution:
- You may have a very focused product line with universal appeal
- Try analyzing at a more granular level (color, size, pack-size variations)
- Look at purchase frequency rather than just order count
- Analyze order quantity per transaction (businesses may buy more units of the same products)
- Consider that your opportunity is to expand your product line to capture more B2B-specific demand
Issue 6: Data Export Size Limits
Problem: Your order volume is too large for Excel (over 1 million rows).
Solution:
- Use Google Sheets (it has its own cell limit; check Google's current limit)
- Split analysis into monthly chunks and aggregate results
- Use SQL database (import CSV into MySQL, PostgreSQL, or SQLite)
- Learn Python with pandas library for large dataset analysis
- Consider business intelligence tools like Tableau, Power BI, or Looker Studio
Next Steps with Amazon Business
After completing your B2B vs B2C analysis, you're equipped with actionable insights. Here's how to move forward:
Immediate Actions (This Week)
- Check Amazon's current documentation on selling to business buyers and whether you are enrolled
- Enable business pricing for the products with the highest B2B order share
- Update product listings for B2B-popular items to highlight bulk purchasing and business benefits
- Check inventory levels for B2B-preferred products to ensure you can fulfill larger orders
Short-Term Actions (This Month)
- Create quantity-based pricing tiers (e.g., 5% off orders of 10+, 10% off orders of 50+)
- Develop business-focused product variations (bulk packs, industrial packaging)
- Optimize your Amazon Business profile with business-specific imagery and descriptions
- Save your queries or spreadsheet so you can re-run them on each month's export
- Analyze your competition to see what business pricing they offer
Long-Term Actions (This Quarter)
- Develop a B2B growth strategy based on your analysis insights
- Consider B2B-specific product development if you've identified clear business needs
- Participate in Amazon Business promotions to attract new business customers
- Implement account management for your top business customers
- Review and optimize quarterly based on performance data
Advanced Analysis Techniques
Once you've mastered the basics, consider these advanced analyses:
- Customer lifetime value (CLV) comparison between B2B and B2C
- Repeat purchase rate analysis by customer segment
- Seasonal trend analysis for each segment
- Geographic distribution of B2B vs B2C customers
- Product category performance by business type
- Return rate comparison between segments
- Time-to-reorder analysis for identifying subscription opportunities
Resources for Further Learning
- Amazon Business Seller Resources: Amazon's help pages for Amazon Business sellers
- Business Pricing Guide: Learn how to set up tiered pricing structures
- Amazon Seller Forums: Connect with other sellers managing B2B sales
- Analytics Courses: Improve your data analysis skills with SQL or Excel training
Run It on Your Own Amazon Export
Export your orders from Amazon as a CSV and upload it at MCP Analytics, then ask the question in plain language; the report names the method. Nothing connects to your Amazon account.
Conclusion
Understanding the difference between your B2B and B2C customers can inform how you price, stock and list your products. By following this tutorial, you've learned how to:
- Calculate what percentage of your orders come from business customers
- Determine if business buyers spend more per order than individual consumers
- Identify which products are preferred by each customer segment
- Interpret your results to make strategic business decisions
- Troubleshoot common data and analysis challenges
Business customers can account for a larger share of revenue than of orders when their orders are bigger, as in the example; repeat purchases would need customer identifiers that an order export may not carry. By tailoring your Amazon strategy to serve both B2B and B2C customers effectively, you can test changes to inventory, pricing and product development against your own results.
Set up a regular cadence to review these metrics (quarterly is recommended) and adjust your strategy as your business evolves. The insights you gain from this analysis will help you make data-driven decisions that grow both segments of your Amazon business.
Ready to take action? Start with Step 1 today and discover what percentage of your Amazon orders are coming from business customers. The insights might surprise you!
Explore more: Amazon Seller Analytics: all tools, tutorials, and guides →
Not sure which plan? Compare plans →