Research · 5 min read
Put Every Scoring Input on the Same Scale Before You Weight It

A weighted product formula can look precise while producing poor rankings. The usual cause is not the weights—it is the inputs.
Suppose margin is entered as dollars, shipping time as days, stock as units, and trend as percentage growth. A product with 800 units in stock can dominate a formula simply because 800 is numerically larger than a 45% margin or a seven-day shipping time. Adding weights does not fix that mismatch. It only scales mismatched numbers.
Before weighting anything, convert every input to a common 0–100 score. Then a weight of 40% for margin really means margin contributes 40% of the final score.
Choose what 0 and 100 mean
Normalization needs practical boundaries. For each input, define:
- 0: unacceptable or commercially unhelpful
- 100: excellent, but not necessarily the theoretical maximum
- Direction: whether a higher raw value is better or worse
- Clipping: what happens when a value falls outside the boundaries
Use boundaries based on your store’s economics and operating constraints, not the highest and lowest values in one search result.
For example:
| Input | Score of 0 | Score of 100 | Direction | |---|---:|---:|---| | Gross margin | 20% | 60% | Higher is better | | Shipping time | 15 days | 3 days | Lower is better | | 30-day trend growth | -20% | 80% | Higher is better | | Available stock | 0 units | 200 units | Higher is better, capped |
These are example boundaries, not universal recommendations. A store selling low-ticket accessories may need different margin limits from one selling heavier home products.
Fixed boundaries also make scores easier to compare over time. If you normalize against the current result set’s minimum and maximum, the same listing can receive a different score merely because other listings appeared or disappeared.
Normalize positive inputs
For inputs where higher is better, use a standard min-max conversion:
score = clamp((value - minimum) / (maximum - minimum) × 100, 0, 100)
The clamp instruction keeps the result between 0 and 100.
Using the margin boundaries above, a product with a 42% gross margin receives:
margin_score = (42 - 20) / (60 - 20) × 100 = 55
A product with a 70% margin would calculate above 100, but clipping limits its score to 100. That prevents an unusually high value from overwhelming the full formula.
The same method works for trend growth. If the acceptable trend range is -20% to 80%, a product growing by 36% receives:
trend_score = (36 - (-20)) / (80 - (-20)) × 100 = 56
Be consistent about the trend period. Do not compare seven-day growth for one listing with 30-day growth for another.
Reverse inputs where lower is better
Shipping time works in the opposite direction: fewer days should produce a higher score.
Use:
score = clamp((maximum - value) / (maximum - minimum) × 100, 0, 100)
With three days representing 100 and 15 days representing 0, a seven-day estimate receives:
shipping_score = (15 - 7) / (15 - 3) × 100 = 66.7
This reversal matters. Using the positive-input formula by mistake would reward slower shipping.
You may also need a hard exclusion. If 15-day shipping is operationally unacceptable regardless of margin, an if/then rule is clearer than a low score:
if shipping_days > 15, final_score = 0
Scoring expresses preference. Rules enforce constraints.
Treat stock as capacity, not an unlimited benefit
Stock is useful only up to a point. Going from 10 units to 100 units can materially change whether a product is worth testing. Going from 1,000 units to 1,100 units may not.
A simple capped stock formula is:
stock_score = min(stock_units / target_stock × 100, 100)
If the target is 200 units, 140 available units receive a score of 70. Anything at or above 200 receives 100.
This avoids giving excessive influence to suppliers that report very large inventory counts. It also lets you set the target around your expected sales volume and reorder risk.
Consider adding a minimum-stock rule as well. For example:
if stock_units < 25, final_score = 0
That separates “not enough inventory to test” from “adequate inventory, with more being somewhat better.”
Work through the full weighted score
Assume a listing has:
- 42% gross margin
- Seven-day shipping
- 36% 30-day trend growth
- 140 units in stock
Using the boundaries above, its normalized scores are:
| Input | Normalized score | Weight | Contribution | |---|---:|---:|---:| | Margin | 55.0 | 40% | 22.0 | | Shipping | 66.7 | 25% | 16.7 | | Trend | 56.0 | 20% | 11.2 | | Stock | 70.0 | 15% | 10.5 | | Total | | 100% | 60.4 |
The complete formula is final_score = margin_score × 0.40 + shipping_score × 0.25 + trend_score × 0.20 + stock_score × 0.15.
Now every contribution is interpretable. Margin can add at most 40 points, shipping at most 25, trend at most 20, and stock at most 15. No raw input can dominate merely because it uses larger units.
This is where configurable scoring becomes more useful than a basic filter. A filter can remove products below a margin threshold or above a shipping limit. A normalized formula can rank all remaining supplier listings according to the trade-offs you are actually willing to make.
Check whether the margin input is real
A ranking formula is only as good as its margin input. Gross margin can look attractive when it ignores supplier shipping charges, transaction costs, discounts, or other per-order expenses.
After identifying the leading products, check each one with the Drop-IQ profit calculator. Enter the proposed selling price, product cost, shipping cost, and the relevant fees available in the calculator. Keep any costs not represented there—such as expected returns, advertising, taxes, or app expenses—in a separate calculation.
Also test more than one selling price. A product that scores well at an optimistic price may become ordinary after a realistic discount or a modest increase in supplier cost.
Normalization does not verify profitability. It makes your ranking logic coherent; the calculator checks whether the underlying economics still hold.
Review the boundaries before changing weights
If rankings feel wrong, do not immediately adjust the weights. First inspect the normalized scores.
If nearly every product receives 100 for stock, the stock target is too low or the input is not useful. If almost every shipping score is below 20, your shipping boundaries may not match the supplier market you are searching. If small margin changes produce large ranking swings, the margin range may be too narrow.
Your next step is to take ten current candidate listings, normalize all four inputs with explicit boundaries, and manually verify the top three in the profit calculator before using the formula more broadly.
