Find Hot Technologies at the Buzz Game

The Buzz Game lets tech geeks speculate about where their industries are headed, and you can use their insider knowledge to spot tech trends.

If you follow technology trends like some people follow the stock market, you can put your knowledge to work by placing your bets on where technology is headed at the Yahoo! Buzz Game (http://buzz.research.yahoo.com). But even if you can’t tell an iPod from a Typepad, the Yahoo! Buzz Game can help you make sense of the technology landscape.

A joint venture between Yahoo! Research and O’Reilly Media, Inc., the Yahoo! Buzz Game is a fantasy stock market for technology terms. The market attempts to predict what’s going to be hot, by letting tech enthusiasts “buy” and “sell” technology terms. If the value of a particular tech term goes up, the score of players holding that term goes up. The players with the best scores can win prizes.

The Buzz Game is split into around 50 different markets, ranging from specific types of hardware and software, such as Portable Media Devices and Operating Systems, to less tangible ideas, such as Annoyances (which lets people bet on pop-up advertising or email spam).

Spotting Trends

Beyond letting you place bets and play the game, the Yahoo! Buzz Game site gives you a great snapshot of the current state of technology in a particular industry. For example, click Markets at the top of the home page and browse the categories for Portable Media Devices. At a glance, you can see the top contenders in the portable media gadget space. Figure 1-46 shows the relative market prices for various MP3 players in April 2005, with the iPod clearly ahead of the pack.

Clicking through each entry in a particular market, you can get a sense of how game players feel about each product’s chances for success. If you browse through the items listed under Rumor Mill, you’ll see products that don’t exist yet and what tech-heads are predicting about their chances at existence.

Each company or product has a detail page, similar to a stock-tracking page, with the current price, its history, and overall buzz score (see Figure 1-47).

The Portable Media Devices market at the Buzz Game

Figure 1-46. The Portable Media Devices market at the Buzz Game

The Flickr detail page at the Yahoo! Buzz Game

Figure 1-47. The Flickr detail page at the Yahoo! Buzz Game

The buzz score is derived via the same methodology used for the Yahoo! Buzz Index [Hack #14] scores, and it represents the number of searches for that particular term. The detail page includes related news about a particular technology, thanks to Yahoo! News, and, if you’re playing along, a form that lets you buy or sell shares.

Buzz Game API

If you’d like to do a bit of your own fantasy market analysis, Yahoo! offers all of the Buzz Game data as XML. There are several ways to access the data, including two files that offer most of the information in one place:

All Buzz Game data in one file

Available at http://buzz.research.yahoo.com/bk/rest/allinfo.xml, this file includes data for every market and stock. Each stock entry includes the stock’s internal ID, price, buzz score, and number of shares, and every market includes the market capitalization.

All stock prices in one file

This is a simplified version of the above file, and it includes prices of each stock organized by market. This file is at http://buzz.research.yahoo.com/bk/rest/prices.xml.

Another way to find data about individual stocks is to create request URLs that contain the stock symbol and the symbol for the market that stock belongs to. Here’s the URL format for looking up individual stocks:

	http://buzz.research.yahoo.com/bk/rest/info.xml?marketsymbol=insert market 
	symbol&stocksymbol=insert stock symbol

So if you’d like to find out what the iPod is trading at, you can visit the Portable Media Devices market detail page (http://buzz.research.yahoo.com/bk/market/market.html?_mid=6928) and find the symbol for that market (PORTMEDIA) at the top of the page. A bit further down the page, you’ll see that the symbol for the individual iPod stock is, appropriately, IPOD. Knowing these two symbols, you can get an XML representation of the price, buzz score, and number of shares available with the following URL:

	http://buzz.research.yahoo.com/bk/rest/info.xml?marketsymbol=PORTMEDIA& 
	stocksymbol=IPOD

Finally, you can also access individual stocks via their internal ID number with the following URL format:

	http://buzz.research.yahoo.com/bk/rest/info.xml?stockid=insert stock ID

To find a stock ID for any particular stock, you’ll first need to look up the ID via one of the XML files.

Graphing Markets

One potential use of the Buzz Game API is to create your own charts and graphs to spot trends in the fantasy market. Using a bit of Perl to move the Buzz Game data into Excel, you can don your green visor and start doing your own analysis about where to place your bets.

The code.

To use this code, you’ll need a copy of LWP::Simple, for fetching the Buzz Game page. This script accepts a market symbol, fetches the prices.xml file, and loops through the file looking for the specific market. Once the script finds the market, it prints the stock names and prints a comma-separated value list suitable for opening in Excel. To get started, save the following code to a file called buzz_excel.pl:

	#!/usr/bin/perl
	# buzz_excel.pl	
	# Accepts a Buzz Game Market Symbol and returns a CSV
	# list of stock prices you can open in Excel.
	# Usage: buzz_excel.pl <market symbol>
	#
	# You can find market IDs, and read more about the Buzz Game
	# at http://buzz.rsearch.yahoo.com/

	use strict;
	use LWP::Simple;
	use Data::Dumper;

	# Grab the incoming market ID 
	my $msym = join(' ', @ARGV) or die "Usage: buzz_excel.pl <market symbol>\n";

	# Set the request URL
	my $buzz_url = "http://buzz.research.yahoo.com/bk/rest/prices.xml";

	# Make the request
	my $prices = get($buzz_url);

	# Find the market
	while ($prices =~ m!<Market.*?symbol="$msym" name="(.*?)".*?>(.*?)
				</Market>!mgis) { 
		my $market_name = $1; 
		print "\"$market_name\"\n\n"; 
		my $stocks = $2; 
		while ($stocks =~ m!<Stock.*?symbol="(.*?)" name="(.*?)">\n<Price>(.
	*?)</Price>\n</Stock>!mgis) {
			my $stock_symbol = $1;
			my $stock_name = $2;
			my $stock_price = $3;
			print "\"$stock_name\",$stock_symbol,$stock_price\n";
		}
	}

Running the hack.

To run the code, simply call the script from the command line, adding your relevant market ID and choosing an output file:

	                 perl buzz_excel.pl RUMOR > rumors.csv

If you have a spreadsheet program, you should be able to double-click rumors.csv to take a look at the data. If you’d like to whip up a snazzy pie chart, highlight the block of data and start the chart wizard by selecting Insert Chart…, choosing the pie chart type, and following the rest of the wizard’s steps. You’ll end up with a quick visualization of the market, as shown in Figure 1-48.

Buzz Game Rumor Mill market pie chart in Microsoft Excel

Figure 1-48. Buzz Game Rumor Mill market pie chart in Microsoft Excel

At a glance, you can see that the Xbox 360 rumor has the biggest slice of the pie at the time of this writing (May 2005). This particular analysis won’t tell you where to place your bets in the game, but hopefully it shows how you can start to play with the data this fantasy market is generating.

The Yahoo! Buzz Game won’t replace traditional market research for spotting trends, but it’s a fun way take the pulse of tech geeks and see what they’re predicting.

Get Yahoo! Hacks now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.