This was my weekend project. I made it after being frustrated at not knowing what a fair price for an iphone 5 would be on eBay. I posted this a month ago but wasn't ready for HN traffic. Learnt about load testing the hard way and have optimized it since. So, here it is again.
Neat site, thanks for sharing. Here's some constructive feedback for you.
* Filter results by eBay category.
* Outlier elimination such as excluding "broken" items (e.g. listings containing commonly used words such as "spares or repair", "cracked screen", "damaged").
* Country specific currency (e.g. for UK searches show the results in GBP, £).
* Predict a fair market value for a given search. Useful when trying to sell items second hand as an "arm's-length transaction".
Good list. I would also suggested eliminating outlying items based on prices. It seems like when there are dozens of items named XXX, there will be several with "hard drive for XXX" or something.
I must believe there's any easy way to eliminate some "outliers" using mathematics, but I can't recall the function(s) to do so.
At the moment I'm filtering out items 2 standard deviations out of the median. It catches the ridiculous cases, i.e. when some fool tries to get away with selling an iphone for $6000 (yes I've seen this before).
Perhaps I need to filter it within 1 or 1.5 stdevs. Will experiment with this.
However, sometimes you can easily see there are two clusters of results. Not sure how to mathematically determine this. Any ideas?
Are you familiar with TerraPeak? It is a company that provides access to all completed ebay sales. It is a SaaS product and sells for like $20-$50/month. I gather their annual revenues are around $15M/year.
Just pointing out that there is a decent sized market for this type of data.
Wow, had no idea they could be making so much. I've come across their "Research API" before but didn't think too much about it. Will have a look into it now. Thanks man
They are using different sources. This site is using eBay information. Priceonomics is using classified ads, I guess mostly from Craigslist. Actually, the user can benefit from both by comparing the results on two different market-places.
Locksley, keep up the good work. You need to clean up the results. Removing the unrelated items is desirable. This has a good monetizing potential.
Yeah, I've come across Pricenomics but found their data inconsistent and the sample size too small with ebay results. They're doing good work nonetheless and their front end rapes mine haha. I ain't much of a designer.
The most useful tip I could give you (if you're building on rails and deploying to heroku) is to use a Unicorn Webserver. It allows your to handle far more concurrent requests.
Comments
This was my weekend project. I made it after being frustrated at not knowing what a fair price for an iphone 5 would be on eBay. I posted this a month ago but wasn't ready for HN traffic. Learnt about load testing the hard way and have optimized it since. So, here it is again.
Feel free delve into any questions.
Neat site, thanks for sharing. Here's some constructive feedback for you.
* Filter results by eBay category.
* Outlier elimination such as excluding "broken" items (e.g. listings containing commonly used words such as "spares or repair", "cracked screen", "damaged").
* Country specific currency (e.g. for UK searches show the results in GBP, £).
* Predict a fair market value for a given search. Useful when trying to sell items second hand as an "arm's-length transaction".
Good list. I would also suggested eliminating outlying items based on prices. It seems like when there are dozens of items named XXX, there will be several with "hard drive for XXX" or something.
I must believe there's any easy way to eliminate some "outliers" using mathematics, but I can't recall the function(s) to do so.
> I must believe there's any easy way to eliminate some "outliers" using mathematics, but I can't recall the function(s) to do so.
The median is one good way, as you already have. You can also use the interquartile mean: http://en.wikipedia.org/wiki/Interquartile_mean
At the moment I'm filtering out items 2 standard deviations out of the median. It catches the ridiculous cases, i.e. when some fool tries to get away with selling an iphone for $6000 (yes I've seen this before).
Perhaps I need to filter it within 1 or 1.5 stdevs. Will experiment with this.
However, sometimes you can easily see there are two clusters of results. Not sure how to mathematically determine this. Any ideas?
Thanks for the feedback! Really appreciate it
Are you familiar with TerraPeak? It is a company that provides access to all completed ebay sales. It is a SaaS product and sells for like $20-$50/month. I gather their annual revenues are around $15M/year.
Just pointing out that there is a decent sized market for this type of data.
Wow, had no idea they could be making so much. I've come across their "Research API" before but didn't think too much about it. Will have a look into it now. Thanks man
Why not try priceonomics they're pretty good for that. With that said nice app!
They are using different sources. This site is using eBay information. Priceonomics is using classified ads, I guess mostly from Craigslist. Actually, the user can benefit from both by comparing the results on two different market-places.
Locksley, keep up the good work. You need to clean up the results. Removing the unrelated items is desirable. This has a good monetizing potential.
Thanks!
Yeah, I've come across Pricenomics but found their data inconsistent and the sample size too small with ebay results. They're doing good work nonetheless and their front end rapes mine haha. I ain't much of a designer.
What did you learn about load testing and optimisation? Any tips, cribnotes?
The most useful tip I could give you (if you're building on rails and deploying to heroku) is to use a Unicorn Webserver. It allows your to handle far more concurrent requests.
This article explains it better than I ever will.
http://blog.codeship.io/2012/05/06/Unicorn-on-Heroku.html
I'm running 8 unicorn workers per dyno at the moment and that's still within the 512mb memory limit because I'm not using ActiveRecord.