How It Works

iGPC is uses one main source for pricing - eBay.co.uk - and is currently only updated whenever I hit the "Update" button for a game. Give it a while, I'll create the same button for a whole console's catalogue. Then for everything. Then automate it to run weekly. But for now, it's as random as the games I buy. .

The other source you may or may not see is the cash buy-in price for Computer eXchange, a UK tech and media retail store. Their prices are usually a little less than eBay, but if there's one in your town then it's a much quicker and reliable way to get rid of stuff..

Anyway, the technical bits. Here's what I collect for each and every item, and how it's calculated:.

1. Name. Duh. I try and get these as close as possible to whatever's on the spine of a game sleeve, or whatever the correct media title is..

2. SKU. This is usually the EAN barcode number for an item, but not always, as it's primary use is for checking against CeX prices..

3. Catalogue number. When they have them, they're included. For Sony it's stuff like SCES-50981, Nintendo use GBA-AKRP-EUR, Microsoft no longer use them for games but usually Manufacturers have their own systems..

4. Boxed or not? Mainly so I can add multiple listings for games - one boxed, one not. It doesn't always work like that though, sometimes games are worth the same price either way and I only stick in a single listing. Best off ignoring this one unless it's part of a game's title eh?.

5. Price data. This is the long one....

During an update of the eBay price for a game, the latest 50 completed listings over the past 15 days on eBay.co.uk are looked at. If there were more than 50, they're not included. If there were less, they all are. Out of these up to 50 listings:.

Only Auction based sales are checked for pricing, unless...
If there were no auction sales, we check Best Offer sales.
If there's no BOs, we check Buy It Now sales.
If there's no Buy It Now sales, but still unsold listings, we set all prices to 0.00.
If there's no unsold listings either (ie. no listings at all for an item), then no new pricing entry is made..

A count of the number of sold items (either Auctions, BOs or BINS) is checked against the amount of unsold items. If the number of unsold listings vastly outnumbers that of sold, this is treated the same as no sales and 0 is entered for all prices, other than that of the Max Price which is set at the maximum price observed..

Sold items have both their bid and postage price added to create a total sale price. These total prices are sorted in order. And now a short aside....

As eBay UK does not use UPC codes like eBay US, all itemss are searched for by name. Much care is put in to creating a search string that excludes all but the exact item needed, though it's not always perfect and some bundles, damaged items, wrongly titled items or other nonsense may turn up during each search. Therefore further methods are taken to exclude erronous minimum and maximum prices:.

A search resulting in less than 5 sales is not altered..
5 or more results and the minimum sale price is removed.
7 or more sales and the maximum sale price is remove.
26 or more sales and the then-maximum sale price is also removed..

After this, the total number of sales is recorded and put in the "Sales" field, as with the post-alteration minimum and maximum prices. The average and median price are also calculated from these, and recorded too. As is the date of the update..

And that's that. It took a good few months to code it, and lots of help from the internet's open source wonders, but the result is frankly something that beats my University disertation hands down. If only I'd been doing this 4 years ago...