Tuesday, July 8, 2008

Numbers... Sneaky bastards, they are

Everything in WoW, at some point or another, boils down to numbers. Well, OK, except RP, but that's not really playing WoW*. And usually they don't lie. As complicated as some of the formulas in WoW are (What's the difference between Defense and Defense Rating, again?), they're usually "right".

And then you get to the Auction House. Whether you're going in there to get better gear, get trade skill items, selling off whatever you come across, or just playing the buy-low-sell-high game, it's all about numbers - namely, income and expenses. But, much like economics in the virtual world we pretend to play while we're sitting down for a beer at the inn in Camp Taurajo, if you go into it with your eyes closed you'll end up broke. So what do you do? Simple, get Auctioneer. But now what?

Well, first, you now have another chore in the game - scanning the AH. Auctioneer is a great tool, but without sufficient data it's worthless. Its guess is no better than yours. Unfortunately, until Blizzard decide to give us web access to the Auction House (yeah, like that'll happen) or Auctioneer goes in a completely different direction from what it is right now.

More importantly, you now have a lot more numbers to deal with. Averages, means, standard deviations... Feels like I have to retake my undergraduate probability class. But even after I managed to dig up all these long repressed memories, it's still far from being simple because the number (the same ones your math professor told you are the essence of truth) are lying straight to your face. It's not their fault - they're doing the best they can with what precious little information they have and sometimes people even deceive them on purpose, but you're still the one stuck paying the bill.

What Auctioneer does (or rather tries to do) is find the market value for commodities. As almost everyone knows, market value is determined by supply and demand, so Auctioneer has to estimate those first. Unfortunately, it doesn't have a crystal ball, so it has to go by the information it has readily available at the AH. So let's do that ourselves... Start by looking for Wool Cloth - OK, we have 20 auctions, with varying bid/buy-out prices. Is it really any help? Well, it might help estimate supply (even that isn't accurate, since you can't see the auctions that were bought-out), but demand? Who knows? Without knowing how much wool cloth is actually sold every day, you just can't tell. So already, Auctioneer is basing it's estimate on half of the information it actually needs, but wait, it gets worse...

Once you think about it, the data Auctioneer gets from the AH is skewed. Let's say I have 2 Assassin's Blades, I put one of them up with a 10g buy-out and one with a 500g buy-out. And let's assume, for a moment that I'm the only one dumb enough to waste so much time grinding SFK for it so no one else is selling them. What do you think Auctioneer will see as the average price for most people? 255g? Nope. In fact, it'll show that average to exactly one person. As soon as he sees that (rather, as soon as his BottomScanner see it), he'll press the buyout button. Everyone else looking for it in the next 48 hours? 500g average buyout price - Kinda steep even for a twink item, don't you think?**

Is there any solution to this? Well, these come to mind:
  1. Eliminate buy-outs. Not gonna happen. Neither is keeping the auction visible in the AH after it's been bought-out.
  2. Use WoWecon instead. It has its problems, though. First, in order to actually sync with the server, it requires an external updater, which could theoretically hide a keylogger***. Second, it doesn't give as much information as Auctioneer (it could have more information in the "premium" version, I don't know). Third, and the biggest problem IMO, is that it just doesn't have enough data, at least for the servers I play on.
  3. Make Auctioneer upload the BeanCounter data to some centralized server, and sync with it. Could happen, but I'm not too optimistic about it. Even if it does, there're no guarantees it wouldn't have the same problems as WoWecon does (although Auctioneer already has a fairly large user base, so it might be easier).
None of those are very practical, definitely not in the short-term, though. For now, what works best for me is using both Auctioneer and WoWecon, and excercising common sense. *sigh* Sort of defeats the purpose, doesn't it? Ahh, well...


* I love RP, in and out of WoW, and my most memorable and enjoyable WoW memories involve RPing. But I don't consider it actually playing the game. It's doing something else, using WoW as the medium. Hmm.. There's an idea for a post.

** According to WoWhead, at the time of writing the average buyout price for an Assassin's Blade is 250g, so that's what I based this example on. On your server 500g might be a reasonable price, I don't know. Also, this is obviously a very contrived example - it's intended to make a point. That point is true whatever you look at, since auctions that are not bought out are on the market longer, and are therefor more likely to be "up" when you decide to scan the AH.

*** Granted, it's not very likely, but you never know. I went over the code once to see if it was OK, and even built it myself to make sure it actually runs that code, and not something else. But it updates itself automatically... There's no practical way of checking that.

2 comments:

Cryptography said...

Auctioneer's job gets even worse over time. There are supply and demand cycles over a week, or even at peak/non-peak hours of the day.

Daily scans of auctioneer over a week or two gives you enough data to at least establish baseline prices for things and not get ripped off too much.


Scanning any more than about 4 servers/factions fills its database. Just do partial scans on any less visited servers.

Tal said...

Well, it's not perfect, but it's better than nothing. :)

Scanning different factions/servers doesn't help fill the database - there's a separate database for every "auction house". The reason I scan all of them is that I play on all of them, and want the data for them all.