Marktplaats will not tell you how many people get scammed on a daily basis, but we can make an estimate. By creating a program that monitors listings, we can track which accounts get banned.
The Python script marktwatch does the following:
- Visit the nvidia
960/970/980/1060/1070/1080graphics card listings 3 times a day
- Store the listings (
price/description/seller/location/date) in a database
- Visit previously saved user profiles periodically - see if they got banned
- If they got banned, check what listings they had
If we let this program run for, say, a month, we can analyse the database and conclude:
- The ratio of sellers to scammers
- The ratio legit listings to scams
- Make an educated guess as to how many people got scammed and how much the scammers make
I was able to collect data from and around the month of August 2017.
SELECT COUNT(*) FROM listing; SELECT COUNT(DISTINCT seller) FROM listing; SELECT COUNT(DISTINCT seller) FROM listing WHERE removed; SELECT COUNT(*) FROM listing WHERE removed;
- 978 listings in total
- 582 unique accounts
- 114 removed accounts (19%!)
- 143 removed listings (14%!)
19% of all user accounts that I came across in a months time were deleted after a short time.
SELECT AVG(price) from listing where removed;
Listings from removed accounts had an average of 330€.
Tin-foil hat time
Let’s try to find out how much money the bad guys make.
- Marktplaats starts terminating user accounts after multiple reports, e.g., 3 reports.
- Within this timeframe, at least 2-3 people can get scammed but could be a lot more - lets just go with 2 to be on the safe side.
Our ‘equation’ *kugh* becomes:
(avg(scam price) * scammers) * 2
SELECT (SELECT AVG(price) FROM listing WHERE removed) * (SELECT Count(*) FROM listing WHERE removed) * 2;
Which brings us to 94.478€.
As previously mentioned; this is a raw but educated guess.
Most popular models for scams
SELECT COUNT(id), make FROM listing WHERE removed GROUP BY make ORDER BY COUNT(id) DESC;
The illegitimate listings targeted the more expensive cards the most:
Avarage account age for scams
SELECT seller, active_since_days from listing WHERE removed GROUP BY seller ORDER BY active_since_days;
SQL Output: link
- 50% of the accounts are less than a year old
- 37% of the accounts are less than a week old
There are still some old accounts to be spotted within this list. Older accounts seem more legit and as such you would pay more to obtain one. I suspect hacked accounts can be bought at some shady darkweb forum.
SELECT count(*), location FROM listing WHERE removed GROUP BY seller ORDER BY count(id) DESC;
SQL Output: link
Looking at this output, we can see most of these graphics cards are generally located in the less populated areas of The Netherlands. Buyers are reluctant to travel far to pick up a card so they pay via bank transfer.
Sorted per province:
SELECT *, COUNT(1) FROM (SELECT SUBSTR(location, INSTR(location, ',') + 2, 5) FROM listing WHERE removed GROUP BY seller) GROUP BY 1 ORDER BY 2 DESC;
10-15% of the video card listings are scams.