Hacker News new | past | comments | ask | show | jobs | submit login
Implementing the auto-buying bot from xkcd #576 (bieh.net)
333 points by bensummers on Nov 8, 2010 | hide | past | favorite | 82 comments

I am tempted to write a bot to submit $1 items that his bot is likely to buy.

How about a $1 bill priced at $2 w/free shipping? From every angle, it would be an interesting experiment. From the consumer's standpoint, it challenges the notion of free shipping. From a seller's standpoint, it challenges the notion of easy money (would you really want to stuff a thousand envelopes if the item sold well?). From the middleman's standpoint, it might help to identify bots (or possibly even money laundering).

You just gave me an idea, but I don't have time to implement it so I'll give it away. Maybe if someone makes money with it, they could sell me my bill.

$1 bills priced at $2 w/free shipping.. the hook, the bills are listed by birthdates contained in the serial number. heh

Go with $2 bills at $3 w/ free shipping. Some people would order it just to have $2 bill.

You can probably just ask for $2 bills at a bank. Last I checked, they still mint brand new ones to replace damaged ones removed from circulation.

A bunch of engineers at idealab did this back during the bubble. The idea was the saturate Pasadena, CA with $2 bills, particularly as retailers, lacking anywhere to put $2 bills in registers, tended to quickly re-release them.

We tried buying them a thousand at a time from banks. One time a manager came out to talk to us about it and asked what we wanted them for. We explained and his response was, "So we're going to get them all back."

Many people might buy them just to get airmiles (remember the hack about buying coins from airmile-generating credit cards some time ago?):


Link to buying dollar coins with free shipping to generate airmiles/cashback: http://www.usmint.gov/mint_programs/$1coin/?action=directShi...

They do try to discourage the airmiles-purchasing behaviour:

"The immediate bank deposit of $1 coins ordered through this Program does not result in their introduction into circulation and, therefore, does not comply with the intended purpose of the program."


"There is a 4-box $1 coin limit for every 10-day period on any and all $1 coin orders. Beyond that your credit card will not be authorized. If you need quantities greater than this, please send an e-mail before placing your order to directship@usmint.treas.gov explaining why your order should be exempted from the limit."

To do this right, you have to be able to change the terms of the auction. Allow bidding for the $1 to start at a penny so it seems like a good deal. Then allow that the highest bidder gets the dollar, but doesn't have to pay... and the second-highest bidder must pay his bid amount, but receives nothing.

You should see dollar bills purchased for hundreds of dollars at least.

"The only way to win is not to play the game." </wargames>

There's a very strange Brazilian auction site called "Pior Lance" ("worst bid", found at http://www.piorlance.com.br/ ).

The name is misleading, it actually works this way:

1) You buy "bids", the right to do a single bid 2) Every auction has a timer that ends the auction when reaches zero 3) Every bid placed on an item increases it's price by 1 cent and resets the timer

Products get auctioned for values below 20 bucks, which may seem like a great deal, but every cent costed one buck from the bidder.

Pure genius.

There are a ton of these. Here is one of several times HN has talked about them: http://news.ycombinator.com/item?id=700143

Actually, "site:news.ycombinator.com swoopo" goes on for a while on Google, and that's just one such site...

Edit: Ah, and from http://news.ycombinator.com/item?id=978097 we get http://www.pennyauctiontraffic.com/ . Yow.

Ah the dollar action. The evil part of me wants to launch an online auktion house that runs all its actions that way.

The lazy part of me figure it is too much work.

Yeah, the busy part of me has too many other things to do as well, but if you need someone to feed you dozens of other ways to use game theory to abuse people, it'd be worth it just for all the headdesk in seeing them implemented.

selling $1 bills would likely be difficult using the bot in the article because the site (trademe.co.nz) is only in New Zealand where the smallest bill is the $5 one. Although there are probably other equally effective sales you could run using $1 and $2 coins.

Unfortunately you are not supposed to send money via the USPS.

You could send a check instead, payable to CASH. Although, your bank might get suspicious if hundreds of people start cashing small checks against your account.

That would be a pretty bad idea since checks include all the information someone needs to make hard to reverse withdrawals from your account. Knuth used to send checks but no longer does. See http://sunburn.stanford.edu/~knuth/news08.html.

FWIW, it sounds like the OP is in New Zealand.

Yes - It's for Trade Me, which is the dominant auction site in NZ - and has better trading stats per person than pretty much any national eBay site.

Let's start a new monetarist paradigm: low frequency trading.

Mr Buffett may have prior art on that.

This will be tricky. Soon people will copy your bot. Then neither of you will make sales because he searches for rare items.

Maybe then you start putting bizarre titles and explain what you're selling in a field his bot doesn't worry about.

And don't forget you can calculate how much money the bot has available from its Twitter feed, so you can price accordingly!

Good luck for that. Time for battle of the bots ...

A neat bot would be one which automatically buys and then resells things with a markup. It would figure out the usual price an item goes for on a website like Ebay, and purchase it if the price is set far enough below.

Many people do this in the World of Warcraft auction house using a tool called Auctioneer. Was one of my favorite parts of the game back when I played.

It's a little remarkable that a virtually-real auction house (WoW AH) has better auxiliary tools than a real(ish) auction house (eBay).

If only I could hover my mouse over items around my house to discover what they are worth on eBay!

The items are worth whatever people are willing to purchase them for in WoW and IRL. All you have to do is keep track of how various items are selling. You could implement a browser plugin to capture your hover and give you a floating window with stats from your database. About the point where I had this realization, I stopped caring about WoW auctioning and decided I would rather spend that time making real money.

They aren't the same kind of thing. On eBay, every item is separately auctioned, whereas items on the AH are fungible. The stock markets do have similar tools.

Doesn't surprise me that much. Yes the possible gains from the WoW auctionhouse are much lower than from eBay. But:

1. The WoW auctionhouse has a finite set of goods that can be sold and the titles and identification of the goods are unambiguous.

2. The cost of failure is much much lower if something goes wrong with the tool.

The fundamental difference is eBay has non-trivial auction costs, and you have to think about shipping.

A classic case of arbitrage. But it seems to me that it would be quite hard to achieve on ebay. You need to have very little overhead, mailing stuff isn't usually that cheap. Drop shipping --send things directly from seller to buyer-- is allowed on ebay but has many restrictions.

It would be very interesting to see if you could get some heuristics that choose products that are at least moderately useful instead of screen protectors and (exploding) batteries for various mobile phones.

The mailing/shipping could be handled by Amazon: http://www.amazon.com/gp/seller/fba/fulfillment-by-amazon.ht...

Why bother. Just front-run Amazon with your own affiliate code. Then you could collect the spiff on everything that goes thru your portal.

and, oh BTW, people are already doing this ;_;

I have always wanted to try something like this with stocks or commodities. Make a bot watch the market, and buy and sell. I even got far enough to imagine some sort of genetic filtering, aka give the master bot 10k, then it distributes it to 10 bots, all which are slightly different, they spend it, the master takes any profit above 1k and invests it in another bot that is a combination of the best 2. Etc. That way your max loss would be 10k, and you might make some money.

Yeah, this is interesting, but there are some annoying realities:

1) If you make something like 3 intra-day trades (buy and sell on the same day) in some defined period (a week?) the SEC will classify you as a "pattern day trader". To be allowed to do that, you need an account with something like $25k USD min.

2) There are a few items that people often forget in simplified models that will completely eat any theoretical profits: brokerage fees, taxes, and currency-exchange effects (e.g. if you're a Canadian trading US stocks).

3) After all that, you're competing with the big guys who have a deep knowledge of how trading works, and fast access to more information than you do. It's an insider's game.

I should add that (market-price) trades aren't completed in an all-or-nothing fashion, unless you specify this (which brings another set of costs and risks). E.g. if you want to buy 1000 shares, it might happen in several chunks (say 200, 200, 600), with the price going up each time.

So, the process of buying or selling moves the price, which is another reason why trading with real money against competitors is different from training against historical data.

(1) doesn't apply to futures or forex.

I have no experience, and little intrest in stock trading. I was however interested in the AI and automation aspects of this challenge, with the stock market being a good source of data with a definite but "unknown" solution. However due to the obstructions you brought to my attention, it seems although the stock market would not be an ideal application for this.

Now I feel like a jerk for discouraging you. Motivation is fragile. :\

I'm sure all the fancy wall street trading companies have or are doing exactly that

And all the not-so-fancy ones. When books on automated trading appear in the "Personal Investment" section at Borders, which they do now, you know the prime time of the idea is probably in the past.

Especially if you delay sending the seller a postal address long enough to find a buyer.

That is a neat trick but highly unlikely. http://news.bbc.co.uk/2/hi/4918184.stm is impossible.

Heh, cool - I was going to submit this myself after it bought a few more items, but I guess I was beaten to it.

Any questions, or suggestions for smarter ways to select items to buy, feel free :)

Of course the server would choose to die /right now/. I've fixed it, the link should work again now :)

Instead of running it once per day, you could run it hourly. Rank the items with the same algorithm, but take into account time left on the auction. An item expiring soon that scores really high could be purchased early so it doesn't get away. Items expiring later could be watched and dumped if the price goes too high, or determined to be worth the extra expense, if the amount is available in savings, so the more expensive good items don't get away either.

Should it go down again - there's a mirror at http://bieh.net.nyud.net/2010/11/08/xkcd-576/

Scan the item description field and buy items with lots of long words!

How do you make sure you order tangible items? Lots of intangible items sell on eBay, like ebooks and other digital goods. Wouldn't this undermine the goal of receiving packages?

XKCD has likely inspired more code than any other comic strip.

This reminds me of the artwork by Caleb Larsen, A Tool to Deceive and Slaughter. It's a box that sells itself on eBay for a higher price. As a condition of buying it, you accept it can sell itself again, and so on.

Recursion, profit, AI - what's not to like? You can see its latest auction at http://atooltodeceiveandslaughter.com and more about the artwork at http://caleblarsen.com/projects/a-tool-to-deceive-and-slaugh...

There is clearly some confusion in this thread.

He didn't actually make the $1-buying ebay bot from xkcd.

He made a completely different buying bot for some new zealand auction site: trademe.

trademe is pretty much just the New Zealand version of ebay (albeit with a better reputation and more engaged community). They are also impressive because they cloned ebays business model early enough to prevent ebay from dominating the New Zealand online auction sector (as ebay did in Australia with ebay.com.au) and sold in 2006 for $700 million (NZD) ($550m in USD).

Just a small announce on HN, and the site is down.

Why does most blog software fail at simple tasks like delivering static content? Apart from comments and quick corrections, blog articles _are_ nothing more than static content. And I'd be happy to not see any comments due to high server load, as long as I can read the article.

Given the popularity of Wordpress on LAMP, it could be something like KeepAlive: http://www.kalzumeus.com/2010/06/19/running-apache-on-a-memo...

I tried this, the site seems much more responsive now. Thanks!

I did the same thing when searchforphp hit the front page. Before I disabled it the server died under the strain. Following it everything was smooth sailing again.

The Wordpress default install is horribly slow out of the box. The sad reality is that most blog software is not tuned to serve any reasonable number of pageviews by default.

It's one reason why letting someone manage all that for you makes sense. (Shameless plug) At Weebly we spent a lot of time making sure that our blogging engine is very optimized. We have free users -- they don't pay us any money, we don't place any ads on their site, and they even use their own domain -- hit the front page of Digg/Reddit/HN all the time, and we can easily handle it in stride.

It's working again now. Although I had to lower the number of maxworkers to get it stable, so it may be slow.

And yeah, I'll be investigating why it's so slow tomorrow after the heat dies down. I think this is the first time that wordpress instance has served more than a few hits per day, so I'm kinda not surprised it's gone horribly wrong.

Mirror at http://bieh.net.nyud.net/2010/11/08/xkcd-576/

Very similar to some of the automated logic I needed to create for price tracking & prediction for my new startup www.happybuy.com.

What I found was that the biggest savings list:


Needs to be quite intelligent to filter out a lot of product noise.

A lot of this is due to pricing manipulation whereby a price is low but the shipping is high. Also a lot of the products with the biggest savings aren't that useful :)

We've managed to improve the value of the list but are constantly tweaking it to get a good balance of savings and useful products listed.

Its especially important as we use a bot to auto-tweet the best saving of the day through twitter & facebook. Trying to get a bot to do this sometimes produces unintended (and often interesting) results.

Why just restrict the search to buy-now items? In my experience more of the esoteric stuff seems to go on straight auctions and buy-now is used mainly by commerical retailers.

Yes, I plan to support things other than buy-now. This was just the simplest way to get something running.

My plan is to have it wake up every hour, check if it's won something in the last 24h, and if not then do a search for items to bid on that are closing in the next hour.

In the book "Webbots, Spiders and Screen Scrapers" by Michael Schrenk, there's a topic that deals with automatic procurement and 'sniping' for those who are interested in reading further.

See #19 on the section list for a description:


(Not affiliated in any way.)

I would pay $20 to have this set up for two weeks for me. That would give you $6 you could keep for yourself. I'm sure I'm not the only one. Business here possibly?

The more people who sign up, the less interesting the results will be...

If the Apple App Store had an API, I would be tempted to write a bot to buy me a highly rated app every ~3 days.

Didn't try very hard, but I was unable to determine whether the Android Market has an API for purchasing paid apps. In that case, the Android phone could be the bot! "Bzzzzztt. I bought this app for you. Hope you like it."

Silent prayer for your soul, only $1, no shipping cost!

No, seriously, I like his crazy optimistic attitude. Probably get some fun stuff out of it. Non the less, there are really people selling this kind of enlightened service on eBay, not for $1 though.

Considering the environmental impact of door to door shipping and the low chance the items will get any significant use, it's almost like the program is optimized to promote global warming over any other goals.

Imports goods from China. Refurbish those goods and export them back to China.

The script has 341 followers on Twitter. I love technology :)

This would be much more interesting if he spent the money on auction items, instead of "Buy Now" stuff where the value is not much more than the price.

Amazed it took so long for someone to do this! Start a blog with a post for each item that it buys!

The bot has a Twitter account: http://twitter.com/trademe_xkcd576

Wow!! Live already. That didn't take very long ;)

Or just follow his twitter account ;)

blog > twitter

I'll do a weekly/fortnightly "look at this photo and details of all the random stuff I have" post, and do the day to day stuff automatically on twitter.

Should be the best of both worlds.

I'd be (much) more impressed if he implemented this one: http://xkcd.com/816/

At least http://xkcd.com/426/ has plenty of implementations, including http://cannonerd.wordpress.com/the-tablet-of-adventure/

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact