DEV Community

John Pham
John Pham

Posted on Edited on AI-assisted

Before You Build a Shopee Dashboard: 5 Dataset Checks

A CSV can load without errors and still produce a misleading dashboard. Marketplace data needs a few checks before the first chart—especially when listings contain multiple variants or sales counters with unclear reporting periods.

Here is a review process you can use for a Shopee dataset or adapt to another marketplace.

Disclosure: I work with Easy Data. The linked sample is published by our team.

1. Write down what one row means

Start with a short data contract: marketplace, country, collection date, currency, row identity and coverage limits. Keep it beside your analysis.

For a concrete practice source, our free Shopee Thailand dataset includes a public worksheet and CSV download. The documented sample contains 540 diaper listings from 151 shops, recorded on January 31, 2025, with 23 fields and prices in THB. It is a historical snapshot.

That scope belongs in a chart subtitle. Otherwise, a reader may mistake a small dated sample for a current view of an entire marketplace.

2. Check identity before removing duplicates

Preserve identifiers as text. For this sample, use shopId and itemId together as the listing key.

Count missing keys first. Then inspect repeated pairs. Do not automatically keep the first record: a repeated key might represent a conflicting value, a later observation, or an export problem. Each requires a different decision.

Keep an audit log with the original row count, rows excluded, exclusion reasons and final row count. Your cleaning process should be explainable after the dashboard is finished.

3. Compare equivalent offers

A listing may combine different sizes and pack quantities. Check price_min and price_max before interpreting its displayed price.

Consider this hypothetical example, not a finding from the sample:

Offer Price Pack quantity Price per unit
A 100 20 5
B 180 60 3

Offer A has the lower pack price. Offer B has the lower unit price. Neither comparison is reliable if the pack quantity belongs to a different variant. Shipping and buyer-specific discounts can change the final comparison too.

4. Keep missing values visible

A blank brand is an unknown label, not proof that a product is unbranded. A zero reference price is not a valid denominator for a discount calculation.

For every field used in a chart, count blanks and invalid values. Put missing categories in a clearly named group rather than dropping them silently. State how many rows remain when you filter to valid prices.

5. Separate listing counters from transactions

A field named sold does not by itself establish a monthly sales measure. You need a documented reporting window and definition.

In this sample, the reporting windows for sold and historySold are not documented. Treat them as source counters. Multiplying a counter by the current listing price does not establish verified revenue.

A useful first deliverable

Before a sales dashboard, make a one-page quality report containing:

  • The sample scope and collection date.
  • Counts of rows, distinct listing keys and distinct shops.
  • Missing-value rates for the fields you plan to use.
  • Price and variant checks.
  • Every exclusion and its reason.

This article describes a workflow; it does not claim newly computed results. The linked sample documentation explains the source-specific checks and limitations.

What marketplace field has caused the most confusion in your own analysis?

Top comments (0)