Sliders are renormalized to sum to 100% ā only relative weights matter.
Methodology & data notes
Each need is scored 0ā100 from four sub-scores. Each sub-score is the percentile rank of an underlying signal within the full source dataset (ties get the average rank).
Clicks = pct(total clicks past 360d) ā proven traffic.
Units Sold = pct(units sold midpoint) ā proven money on the table.
Avg Units Sold = pct(avg units per top product) ā high means each top product sells well, suggesting room for new entrants.
Top Products = pct(# top-clicked products) ā more top products is treated as positive: a well-developed niche with multiple winning entrants.
Final = w_cĀ·Clicks + w_uĀ·Units + w_aĀ·AvgUnits + w_tĀ·TopProducts with weights renormalized to sum to 1.0. The deployed page bakes in the top 20,000 needs by an unweighted baseline (sum of all four sub-scores). POD/apparel categories are toggleable but excluded by default. Range strings like 250,000 ā 300,000 are parsed to midpoints.
Opportunity score distribution (current weights)
Highlighted bars are above the cutoff threshold.
Top categories in selected set
Top 15 categories by # needs in the current top set. Click a bar to filter the table.
#
Score
Clicks
Units
Avg Units
Top Prod
Customer Need
Category
L1
Clicks 360d
Units Sold
Avg / Top
# Top Prod
Top Search Terms
Replace dataset
Upload a fresh Amazon Opportunity Explorer Needs CSV. The app parses it in your browser, computes scoring signals, and stores the new dataset locally (this browser only). Use the Python rebuild script if you want to bake new data into the deployed site for everyone.