Well folks, we’re at it again. The month by month the journey continued Monday into Tuesday night to semantify the hallowed templates of bestbuy.com. One of April’s goals: to enhance machine understanding of Best Buy’s considerable product offerings while retaining human searchability and readability. After long wait, we have deployed code to the search templates to establish a human-readable and machine-parseable front-end API.
Many moons ago (even before all this RDFa goodness), we established a URI scheme we call “shop URLs”. Basically it’s an easy way to pass a search term in a URI and get a visual list of up 50 products our search appliance considers relevant. However, when you have a catalog of 400K+ products, simple visual results may not be the best or most efficient way to sort through the cruft and get at what you’re looking for. Enter stage left our friendly machine helpers: Search Engines, Parsers and Aggregators — this deployment activity is focused on feeding you! We’ve deployed step one of enabling a solution to product visibility and discovery issue by unleashing the result data in RDFa (with GoodRelations, Dublin Core, FOAF, Google Ratings vocabs) for maximum machine parseability.
After all this grandeur and hype, I’m hoping you’re still interested in how it works. You may point your eyes and parsers here:
http://www.bestbuy.com/shop/search+term*
* Please note, due to marketing and business considerations, some of the more popular terms may redirect you to a dataless “category page”. To get a RDFa-enabled result, simply append a * to your search term, e.g., http://www.bestbuy.com/shop/ipods* (how dare those marketing people stand in the way of good data!)
Let’s dive deeper with a quick example. So I’m a bit eclectic and looking for a thermometer online. I would like to see results of the “thermometers” from bestbuy.com, plus pass the data to my machine friend, an application I am building to help me make the right product choice.
First I type access my human-friendly representation using a “shop URL” directly in the browser:
http://www.bestbuy.com/shop/thermometers
Which results in a human-readable web page:

human-readable shop url
Looks like I have 15 product offers that match and are available via bestbuy.com or in store. Excellent.
I’m going to take that same URI and pass it on to my machine helper who just wants the data, no fluff. Let’s say we’re working with RDF/XML…on the surface, the 15 product offers may appear like this:

rdf extract from shop url
Expanding an individual offer yields the following data-rich result:

expanded data extract of shop url
So endeth the second phase of sematification. Make sure and leave your API keys at home, this search data is all open! Tune in for more later this week, I will be discussing another one of April’s goals, expanding RDFa markup to Best Buy’s product detail pages.
Let’s face the facts, it’s a tough job to be a retailer these days. Competition is fierce, customers are demanding, and product margins are razor thin. Just when retailers finally get that product into a customers hand and out the door, it can come marching right back into the store as a return. In fact, studies estimate there are tens of billions of dollars worth of product returned back to retailers, and very small percentage of those are actually defective. This means that brick and mortar retailers have plenty of fully functional open box products gathering dust on shelves and are missing an opportunity to get these units back into the hands of customers.
All of our local Best Buy stores are challenged with returned products. Our physical stores can be silos of beneficial product data, especially when it comes to the availability and reduced price scenarios presented by open box products. Up to this point, our open box items have not been openly displayed on the web — we tend to focus on new, unopened products, leaving an huge unmet opportunity at the store level to increase web visibility to returned products.
While this seems like a large problem to tackle, we have found a forward-thinking way to increase the visibility of open box items at our local stores using the power of open source software and open front-end semantic data standards without employing traditional marketing tactics to push individuals toward these products. Earlier this month, we began rolling out the capability for store associates to contribute to the web of data while increasing visibility to their local open box products through a simple WordPress plugin and RDFa templating mechanism. Each Best Buy store is empowered via their local store WordPress blog (background here) to enter the SKUs of the open box products they have in their inventory. The plugin fetches the relevant product data using Best Buy’s Remix API and the user is prompted to enter the open box price and a reason the product was returned. With one last click, the user saves the data and the product is published to the store site, is made available to the semantic web through front-end RDFa templates and auto-generated XML sitemaps.
There are some interesting features, techniques and potential outcomes of this work that are worth discussing:
More
There is a good amount of chatter about the semantic web out there, but not a ton of concrete, working examples. I decided to put our Best Buy data to work and publish BBY SKUs in RDFa, using the GoodRelations e-commerce ontology. As I see it, simply publishing the RDFa is not an issue — the challenge is to apply real-world style and structure to the code to make it both machine and human readable. I’m trying to answer the question: is the RDFa model flexible enough to allow Joe Web Developer to successfully publish valid structured data while satisfying the desires of his design, business, and marketing counterparts?
I’m pleased with the first round of results, ~460K worth of “next-gen” product detail pages. Take a look at some choice example SKUs from the Best Buy product catalog:
Interested parties can get a full URL list here (txt, gz), or split up into list 1, list 2, and list 3 (txt).
Thanks to: Martin Hepp, Andreas Radinger, Alex Stolz, Yahoo! Searchmonkey, Jason Galep (design guidance), and Best Buy Remix.