Blog · Board and management reporting · Distribution
Compare business buyers across online and sales-assisted orders using account pricing and supplied costs. Calculate repeat purchasing and contribution with formulas that reconcile to the order export.
B2B ecommerce analytics compares business accounts, repeat orders and contribution across online and sales-assisted purchases. Start with the account rather than the website user, apply the approved pricing terms, and reconcile the orders before ranking customers.
The Census Bureau's ecommerce overview describes sales over open networks and proprietary networks. For a distributor, the practical reporting issue is preserving how an order arrived while still seeing the complete commercial account.
Take a closed period's order lines, the account master, effective contract prices and supplied product and service costs. Retain order ID, account ID, order date, route, quantity, net sales and cost references. Map multiple purchasing logins to their business account before counting repeat buyers.
Summarize lines to one row per order for the reorder calculation. Otherwise, an order containing several items looks like repeat purchasing. Keep the detailed lines available for price checks and product analysis.
Use net sales after discounts and returns, excluding sales tax. The IRS business income guidance explains that sales returns and allowances reduce gross sales. If an export already contains net sales, do not subtract those reductions again.
This method examines account purchasing and contribution. B2B marketing analytics owns campaign and lead analysis; ecommerce analytics platforms covers the broader reporting approach.
An illustrative US industrial supplies distributor reviews a closed month. All orders below contain the same stocked item and are sorted by order date, earliest first. The approved account prices are supplied inputs: Atlas and Beacon pay $10 per unit; Cedar pays $8 under its agreement. The example has no returns.
Service cost is a supplied allocation for account assistance, and fulfillment includes the outbound costs chosen for this report. Contribution excludes fixed corporate overhead and financing costs.
| A: Order | B: Account | C: Route | D: Units | E: Contract price (USD) | F: Net sales (USD) | G: Goods (USD) | H: Fulfillment (USD) | I: Service (USD) | J: Contribution (USD) |
|---|---|---|---|---|---|---|---|---|---|
| A1 | Atlas | Online | 100 | 10 | 1,000 | 650 | 40 | 20 | 290 |
| B1 | Beacon | Assisted | 200 | 10 | 2,000 | 1,300 | 100 | 60 | 540 |
| A2 | Atlas | Online | 150 | 10 | 1,500 | 975 | 50 | 30 | 445 |
| B2 | Beacon | Online | 100 | 10 | 1,000 | 650 | 50 | 30 | 270 |
| C1 | Cedar | Online | 100 | 8 | 800 | 520 | 80 | 24 | 176 |
| Total | 650 | 6,300 | 4,095 | 320 | 164 | 1,721 |
Calculate contribution in J2 and fill down:
=F2-G2-H2-I2
For this single-item example, check the contract price with:
=IF(F2=D2*E2,"Match","Check")
Every row matches. Cedar's lower price is approved, so it is not a pricing error. For a mixed-item order, perform this test on each line using its effective contract and unit of measure before rolling up the order.
Define a repeat account here as an account with multiple orders inside the review period, regardless of route. This is a period measure, not a lifetime customer retention rate. The limited file cannot show whether Cedar purchased before the month began.
In K2, flag the first appearance of each account. In L2, flag that first appearance only when the account has another order in the period. In M2, identify online orders following an earlier order from the same account:
K2 = --(COUNTIF($B$2:B2,B2)=1)
L2 = --AND(K2=1,COUNTIF($B$2:$B$6,B2)>1)
M2 = --AND(C2="Online",COUNTIF($B$2:B2,B2)>1)
Fill through row 6. Atlas and Beacon are repeat accounts; Cedar is not. The repeat-account rate is 2 / 3 = 66.7%. Orders A2 and B2 are online reorders, including Beacon's move from an assisted order to an online purchase. There are 4 online orders, so the online-reorder share is 2 / 4 = 50.0%.
=SUM(L2:L6)/SUM(K2:K6)
=SUM(M2:M6)/COUNTIF(C2:C6,"Online")
Round percentages to one decimal place after calculation. Keep the observation window fixed when comparing periods. For a cohort measure, supply earlier order history and define the follow-up period separately.
Use SUMIFS to total each account's sales and costs. With the account name in O2:
P2 = SUMIFS($F$2:$F$6,$B$2:$B$6,O2)
Q2 = SUMIFS($J$2:$J$6,$B$2:$B$6,O2)
R2 = IF(P2=0,"",Q2/P2)
| Account | Net sales (USD) | Goods (USD) | Fulfillment (USD) | Service (USD) | Contribution (USD) | Margin |
|---|---|---|---|---|---|---|
| Atlas | 2,500 | 1,625 | 90 | 50 | 735 | 29.4% |
| Beacon | 3,000 | 1,950 | 150 | 90 | 810 | 27.0% |
| Cedar | 800 | 520 | 80 | 24 | 176 | 22.0% |
| Total | 6,300 | 4,095 | 320 | 164 | 1,721 | 27.3% |
The proof is $6,300 − $4,095 − $320 − $164 = $1,721, matching the sum of order contributions. Total margin is $1,721 / $6,300 = 27.3%. Tie net sales to the order control report and each cost column to its supplied summary.
Sales owns contract exceptions and account discussions. Operations owns fulfillment cost accuracy. Finance owns cost definitions and the separate assessment of credit and payment terms. Use margin by account for the deeper profitability method and B2B analytics for other account questions.
Bring a sample of your own order exports, approved account prices and supplied costs to Covirage. Covirage maps the columns, and its tools compute and check reorder and account contribution comparisons; the external AI model explains the results with every figure traced to its rows. Create a free Covirage account, which takes about a minute, then set up your business and bring your files.
See Covirage for distributors for the supporting business use case.
The business account matters more than an individual login. Several buyers may order under one contract, with negotiated pricing and sales assistance. Combine those purchases under the correct account while retaining order routes, buying locations and approved terms for analysis.
Define the observation window and customer identifier first. One useful period measure divides accounts placing multiple orders by all accounts ordering in that period. A different measure counts online orders following an earlier account order. Label them separately because their denominators differ.
Include them when assessing the whole account, and preserve their route so the online channel can still be reviewed separately. Add supplied service costs consistently. Excluding assisted purchases can make a business account appear new or less valuable than its complete record shows.
Compare actual selling prices with the approved account contract, not only with list price. An authorized discount is part of the commercial agreement. Investigate exceptions separately, and assess whether the resulting contribution supports the service and payment terms provided.