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:
Utilizing GoodRelations product vocabulary with RDFa. If you are currently looking for a semantic way to expose your products, store locations, store hours, etc., GoodRelations is fast becoming the ontology of choice. Combining this with RDFa markup (or microdata?) creates rich data and visual experiences over the web, enabling webmasters to contribute to the web of data via their rich HTML, and parsers/ machines to glean data directly from a customer facing web site. Could RDFa or microdata become an authoritative source for visual consumption by humans AND data consumption by machines for things like consumer goods and services?
Cool/ clean permanent URIs. It’s a fairly common SEO practice to create descriptive URIs with things like object names, categories, or special character escaped product titles in them. We have mimicked this practice in our URIs, recognizing that this entity is a product, its condition is “open box”, and highlighting the product title:
Our technique for open box products also takes it a bit further, as these products are unique to a single Best Buy store and have a specific open box price that may differ from other units with the same SKU or UPC. One desire of this project was narrowing the scope of these unique items to the local level, as they are only available for purchase in store. One way we have attempted to solve for this is putting the store number, plain text location, and a unique product identifier in the URI:
Lastly, we’ve decided to break away from proprietary Best Buy catalog conventions and highlight the thirteen digit product EAN (UPC with an additional 0 prepended). Many retailers including Best Buy utilize proprietary catalog or product ids for their commerce platforms, which forces search engines, product comparison engines, and the like to build separate functionality to match the specific retailer’s products, or do additional digging to complete product matching and return relevant results. It would seem the sensible thing to do for retailers (and manufacturers too!) to utilize and expose the UPC/ EAN spec as a sort of “primary key” for products across the web. I’m attempting to lay the groundwork starting with exposure in the URI:
Creating relationships between the product and where it “lives”. Using the inherent features of linked data and semantic web, we are easily able to establish links between product and store. This is another technique utilized in this project to narrow focus down to a local level. Essentially we are using semantics to say, “I’m a specific product entity available at this permanent URI, where you can discover more about my n attributes. You can locate me at this specific store entity via its URI, where it exposes rich location and hours of operation data to make it easy for you to acquire me.”
Makes semantic web publishing accessible to everyday employees. I believe the semantic web movement still struggles with the chicken/ egg scenario — data publishers may not be creating semantic data because of a perceived lack of applications to parse their data, while application developers may not be actively creating new software to consume and use semantic data. With this simple toolset we have unleashed the power of our workforce to publish extensive local product data sets to the web using open standards, making them accessible to new applications for consumption and parsing.
Low cost of entry, low level of difficulty, potentially high return on investment. While larger enterprises may want to integrate semantics into their enterprise systems, there are ways to start contributing now to the web of data without having to adopt a specific technology platform by simply coding it into your templating engine. Kudos to Drupal, osCommerce Shop Software, Joomla/Virtuemart CMS/Shop combo, and others for including semantics natively or making them available via modules or plugins.
I invite you to see more, test, parse, and make comments or constructive criticism by visiting some of our more active stores. Follow these links to aggregate listing pages and click through to analyze individual product markup: