Which product–region combination contributes most?
The varied synthetic sample covers August through October with both products in both regions, different cost rates and two loss-making lines. Each row is a sales line; without an ID, identical records may be separate legitimate sales. All rows are summed without deduplication.
Predict before filtering
- Which group has the highest revenue? Is that also the largest contribution after product cost?
- Compare the two Pen groups by total contribution and by contribution per unit. What changes after adjusting for volume?
- Inspect October's North Notebook and South Notebook rows. Explain why a transaction can lose money despite positive sales.
Reveal the worked answer
All 12 rows total $2,950 revenue, $2,350 product cost, $600 contribution and 220 units. The weighted contribution rate is $600/$2,950 = 20.34%; do not average row percentages.
| Group | Units | Revenue | Cost | Contribution | Per unit |
|---|---|---|---|---|---|
| North Notebook | 60 | $1,200 | $1,060 | $140 | $2.33 |
| North Pen | 45 | $450 | $270 | $180 | $4 |
| South Pen | 90 | $900 | $720 | $180 | $2 |
| South Notebook | 25 | $400 | $300 | $100 | $4 |
North Notebook leads revenue but trails both Pen groups' $180 contribution. North Pen achieves the same contribution as South Pen with half the volume; its weighted rate is 40% versus 20%. These synthetic cost/price/volume differences do not establish a causal regional effect. October North Notebook loses $60 (30 × [$20−$22]); South Notebook loses $20 (10 × [$10−$12]). Overhead, taxes, shipping and returns are absent, so this is not net business profit.
Hand-check and recover
Load the three-row hand check to reconstruct $390 revenue, $234 product cost and $156 contribution. North gives $240/$144/$96. North + Pen gives a valid empty result in this tiny dataset. Clear filters to recover. Enter From October 3 and Through October 1: this is an invalid interval, not zero sales, and results must be unavailable until corrected.
Import correction task
Download the synthetic template, inspect its six headers, add one valid row and import it. Record the filename and row count. Introduce an unclosed quote or impossible date, import again, and confirm that the previous dataset identity remains. Correct the file and reimport; reset the sample and check that filters and errors clear. This is a task for an uncoached novice; agent tests are separate evidence.
Keep context
Through date is inclusive. Clear filters restores the full date coverage shown above the filter form. Tables show 50 rows per page; matching-row CSV export includes all matches, up to the accepted 10,000. Save the analytical view JSON beside the CSV for source identity, provenance limits, filters, units, grouped totals, limitations and every matching row. Bundled samples are synthetic; filenames identify uploaded files without verifying their provenance. Nothing persists automatically.
Next assignment: sales and returns
In Common Goods, one sale can have multiple returns. Add stable sale identifiers and separate sales-line and return-event tables. Aggregate returns to sale ID before joining so original sales are not multiplied. Distinguish original-sale cohorts from refund-month cash timing, and account for different observation time. Verify a one-sale/two-return hand example before using larger data.