CATEGORY RESEARCH & PRODUCT OPPORTUNITY ANALYST

Please login or register as jobseeker to apply for this job.

TYPE OF WORK

Part Time

SALARY

10 usd / hour

HOURS PER WEEK

16

DATE UPDATED

Aug 13, 2026

JOB OVERVIEW

WDM Brands B.V. | Remote | 2 days per week (16 hours) | Freelance | USD $6-10/hr

THIS IS NOT FOR YOU IF:

You want to churn out long lists of keywords. This is deep work on one market at a time, not volume.
You struggle to say no. Half this job is telling us which opportunities to walk away from.
You have never sold or researched physical products online.
You cannot work with some overlap in European business hours.

If none of those apply, keep reading.

WHO WE ARE

WDM Brands is a Dutch e-commerce business selling around 500 products on ---------- , the largest marketplace in the Netherlands and Belgium. We are moving toward fewer, better products in bigger categories. To do that well, we need someone who can look at a whole market, tell us where the real opportunities are, and just as importantly, tell us where the traps are.

WHAT YOU WOULD ACTUALLY DO

Each month you take one category and go deep. Not a list of keywords. A full read of the market. You come back with a clear presentation that answers three things:

Where are the real opportunities in this category, and why.
What should we avoid, and why. Too competitive, margins too thin, quality problems, whatever it is.
If you were us, what product line would you launch here, and what does the business case look like.

A concrete example. Say we give you fitness. A weak researcher comes back with "resistance bands have high demand." A strong one comes back with: skip resistance bands, the market is saturated and margins are gone, but adjustable dumbbells are a real opportunity, here are the three competitors worth studying, here is the price gap, here is the product line I would build and why. That second answer is the job.

WHAT GOOD LOOKS LIKE

You see a category as a set of segments, not a pile of products. You know which segments to go deep on and which to drop fast.
You are honest about what the data does and does not show. If demand looks strong but the proof is thin, you say so.
You think about margin, competition, and quality together, not just search volume.
You can turn a full category read into a clear, decision-ready presentation, not a raw spreadsheet.
You have the judgement to recommend a product line and stand behind it.

WHAT YOU MUST HAVE

Real experience researching or selling physical products online. Amazon, Bol, Shopify, or similar.
Strong analytical skills. You are comfortable with competitor analysis, pricing, and margin thinking.
The ability to build a clear presentation that leads to a decision.
Fluent English, written and spoken.
Available 2 days per week (16 hours) with some overlap with European hours.

NICE TO HAVE

Experience with category management or private label product development.
Familiarity with tools like Helium 10, Keepa, or MarktMentor (we can provide access).
Experience presenting recommendations directly to a founder or decision-maker.

WHAT YOU GET OUT OF IT

Real ownership. Your research directly d ---------- what we launch. You see your calls play out in the business.
A direct line to the founder. No layers, no politics.
Room to grow. Starts at one category a month. If it works, it grows into more categories and more responsibility.
Performance bonus and a monthly health bonus you can put toward whatever keeps you well.
A flexible, remote team from all over the world.

HOW TO APPLY

No long CV. Answer these three questions in your own words. Keep it sharp.

Pick any product category you know well. Tell us one segment inside it you would avoid and one you would go after, and explain why for each. We care more about your reasoning than the specific products.
When you recommend launching a product, what do you need to see in the data before you are confident enough to put your name on it?
What is your experience with physical products online, and how many hours per week are you available?

One last thing. We get a lot of applications and most people do not read the full post. To show us you have, start your application with the word CATEGORY in capitals at the top. Applications without it will not be reviewed.

We look forward to hearing from someone who enjoys going deep.

VIEW OTHER JOB POSTS FROM:
SHARE THIS POST
facebook linkedin
  BENCHMARKS  
Loading Time: Base Classes  0.0011
Controller Execution Time ( Jobseekers / Job )  0.0219
Total Execution Time  0.0237
  GET DATA  
No GET data exists
  MEMORY USAGE  
1,525,576 bytes
  POST DATA  
No POST data exists
  URI STRING  
jobseekers/job/CATEGORY-RESEARCH-PRODUCT-OPPORTUNITY-ANALYST-1708482
  CLASS/METHOD  
jobseekers/job
  DATABASE:  onlinejobs (Jobseekers:$db)   QUERIES: 13 (0.0145 seconds)  (Hide)
0.0005   SELECT *
                                
FROM exrates
                                WHERE rate_name 
'USD-PHP' 
0.0004   SELECT *
FROM `employer_jobs`
WHERE `job_id` = 1708482
 LIMIT 1 
0.0034   SELECT *
FROM `employers`
WHERE `employer_id` = 673112
 LIMIT 1 
0.0010   SELECT COUNT(*) AS `numrows`
FROM `t_thread` `t`
LEFT JOIN `t_thread_misc` `miscON `t`.`id` = `misc`.`thread_id`
WHERE `t`.`job_id` = 1708482
AND `misc`.`idIS NULL 
0.0006   SELECT e.business_namee.logoe.websitee.rebill_datee.date_added member_datehitsDATEDIFF('2026-09-09',ej.date_added) duration_daysDATEDIFF('2026-09-09',e.rebill_date) duration_rebillej.*, e.deactivate FROM employers eemployer_jobs ej WHERE e.employer_id ej.employer_id AND
                                   ((
e.user_level >= '500' AND ej.date_added <= e.rebill_date)
                                   OR 
e.employer_id '' OR (ej.date_approved <> '2000-01-01' and DATEDIFF('2026-09-09',ej.date_added) <= 14 ))
                                   AND 
e.deactivate != AND ej.deleted AND job_id '1708482' 
0.0006   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `scON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1708482 
0.0014   UPDATE employer_jobs SET hit_counts '***Aug-13-2026=511***Aug-14-2026=85***Aug-15-2026=62***Aug-16-2026=49***Aug-17-2026=69***Aug-18-2026=57***Aug-19-2026=19***Aug-20-2026=32***Aug-21-2026=8***Aug-22-2026=5***Aug-23-2026=11***Aug-24-2026=6***Aug-25-2026=10***Aug-26-2026=8***Aug-27-2026=3***Aug-28-2026=7***Aug-29-2026=5***Aug-30-2026=1***Aug-31-2026=5***Sep-01-2026=1***Sep-02-2026=6***Sep-03-2026=1***Sep-04-2026=3***Sep-05-2026=2***Sep-09-2026=1' WHERE job_id'1708482'  
0.0010   UPDATE employer_jobs SET monthly_hits '***Aug-2026=953***Sep-2026=14' WHERE job_id'1708482'  
0.0010   SELECT date_sent FROM jobseeker_sent_emails WHERE jobseeker_id '' AND job_id '1708482' AND status LIKE 'sent%' ORDER BY id DESC  
0.0004   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `scON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1708482 
0.0030   SELECT COUNT(*) AS `numrows`
FROM `employer_jobs`
WHERE `employer_id` = '673112'
AND `date_added` >= '2022-06-08' 
0.0008   select from teasers 
0.0003   SELECT FROM skill_categories WHERE skill_cat_id='' 
  HTTP HEADERS  (Show)
  SESSION DATA  (Show)
  CONFIG VARIABLES  (Show)