Home Depot Finds DIY Success with Vector Search
datanami.com
datanami.com
This usually gets me the item or a similar item. If the item is similar and not what they want, I have a tree categorization and I can usually go up a level. The interesting problem w the Home Depot I think is figuring out how to categorize and when to make a category. For example “screws” is an obvious category in which there will be sub-categories and parameters on which to filter like “length” or “color” (I use this a lot). What filter parameters to have is also interesting as is how to display the results. Most items are returned in a list form but, annoyingly, some types of items have their own splash page that is kind of unique to that item.
If the item is weird, it might be really hard to categorize, usually these go into _____ accessories. Overall I think Home Depot does a good job w the search except the UI is laggy as someone mentioned and as they also mentioned the location setting is ALWAYS WRONG. FIX THIS NOW! Every. Single. Time I have to check if an item is in stock at my store, it puts me in the wrong store and I have to manually change it myself. Am I just a moron or is there really no way to set it and forget it?
Doesn't help cell service of course, and cellular data clients are REALLY tricky to geolocate properly. Cell towers are often trunked a considerable distance (apparently?) so your IP can indicate you're quite far from your physical location.
Pages really rely on the browser to cue location in that scenario, but of course many of us turn it off, and at that point you get what you get.
They do the categorization thing really well, there's "catalog pages" that reference item categories, and item categories can be attached to multiple different catalog pages, and items are categorized by tons of different metrics (length, diameter, thread pitch, head shape, material, color...).
And while that's a pretty generic statement - there's lots of stores that let you filter by material or color, after all - it's all executed SUPER well. I often use it just to get a broad idea of what hardware actually exists/what the terminology I need to search for elsewhere.
I knew someone who worked on their system and apparently it's all COBOL on the backend too lol. I'm sure there's some modern tech on the frontend but I bet all the inventory stuff/etc and the warehouse terminals are running on COBOL.
That's some good UX right there.
(of course not every shopping cart converts to an order, and people still order things you don't have elsewhere, etc. But getting people on the site and engaged is half the battle, assuming you don't give them a reason to shop elsewhere.)
I mean, I can drill down to exactly what I need easily.
It looks old and outdated but it's so easy to use
If you know exactly what you need, then yes. But if you’re messing around on home depot needing like a 3 7/8 “ish” screw but-maybe-a-4-will-do the McMaster system would stink.
Obviously in some cases it can be replaced by a range slider, but there's also cases where it really can't. In some cases it's the part itself that has the range - like let's say a pump is designed to produce a flow rate of 0.5-5 gal/min, you can't express that with the usual range slider.
I guess what you really need is an "inverse range slider" where instead of saying "I want a connector that carries at least 5 amps but not more than 15" you say "my project needs a flow rate of 2.5 gpm, what parts have that value within their range".
But I mean... compare the McMaster-Carr site to Home Depot, or Target, or whatever, and it's just a breath of fresh air. Like, if inverse-ranges are the biggest thing you can complain about, mission accomplished ;)
But trying to find a screw on Home Depot or Fastenal .. ugh
I now see separate selectors for maximum flow, minimum flow, and graduations here: https://www.mcmaster.com/flowmeters/
https://www.quora.com/Who-designed-UI-UX-and-developed-the-w...
It was heavily influenced by Tufte!
Interestingly, I recently did what I thought was a basic search for a 2'x4' piece of birch plywood and the results were pretty wonky. I ended up drilling down through menus instead.
If you contrast this with McMaster Carr's website, you'll wonder what went wrong at HD. I've been ordering online from McMaster for probably close to two decades, and it's better in every way from speed to interface to product specs.
What are you expecting to see? I worked on this search engine so interested to get feedback, good or bad (bad is actually more useful!).
edit: for comparison, have a look at B&H's search where you can get so specific that it only shows one result
https://www.bhphotovideo.com/c/products/laptops/ci/18818/N/4...
Which sucks.
HD search has been basically useless to me in the past for this exact reason. If I’m searching for a 3/8 lag bolt, returning results for 1/4 and 1/2 lag bolts mixed in with random 3/8 lag bolts are literally worse than just showing me 1 lag bolt result.
I am not sure how well this holds up when searching a product catalog. I would believe it for a general purpose search engine, but for a product catalog, I am searching for a very specific thing.
Qualifying keywords on a product catalog are likely more common. Compare the searches for "'2' x '4' birch plywood" vs "birch plywood" and you can see why exact matching can be prefered, as it's very easy for the user to generalize their search.
What you can do is to show the best matches on top, and add other results, which are not an exact match, but visually separate them ("You might also like these..").
That is how we usually do it. You can use this approach also when recommending visually similar products to the one you searched for.
Matching the semantics of "it's wood and it's for building and it has a 2 in it" isn't very useful when you have something that's absolutely not semantic, like a specific size definition that's an industry standard, and not really interchangeable.
It's like searching for a 3/4" socket and getting a list of 1/4", because there's a four in each. It's not helpful. It's completely useless and makes the search results look incompetent. Put those in "related searches", with a divider or different background color, or something to separate the "right" from "obviously wrong".
The search experience for wood and sockets should be driven by usefulness, not broad SEO advertising rules of thumb where things are fuzzy.
Immediately a lot less frustrating and confusing.
"People often assume the search is bad if they see a lot of broader matches". Yes, because it usually is. Non-matching results should always be indicated separately and secondarily from perfect matches.
"...without realizing that there might not be many perfect matches...". Um, I can decide if zero or more perfect matches are good enough for me. If I am looking for a specific item, related results are almost never wanted and are a waste of time. On the other hand, if I don't have something exact in mind, then browsing is OK (since I'm choosing to go broad -> narrow).
If you are old enough, remember searching for a particular word in a printed dictionary? If I didn't find the word I wanted (ie an exact search), then I knew that my spelling (ie my exact search term) was wrong. At that point I could be be finished or I could choose to do more searching. With a printed dictionary I could laboriously expand the search using alternate spellings or synonyms (ie a fuzzy search). The exact match is required for crossword puzzles. The fuzzy search is good when writing poetry and articles.
A while ago I was researching and pricing generators. I had a set of specific parameters in mind and my friend's generator that I was using at the time to compare against. Home Depot's website was partially helpful. It gave me a good overview of what Home Depot has to offer. But, there were far too many extra results and I couldn't tell if my specific item would be included without wasting a lot of time scrolling around. After a little bit of scrolling I moved on to other sites. I didn't buy a generator from Home Depot. During my searches at other sites I stopped as soon as I got an exact match.
In my generator search, the broad results were OK to get a general idea of generator price ranges for the type I wanted. It was too time consuming when I had an exact generator I wanted to compare against and couldn't limit the search. Now that I am writing this, I can honestly say I have never used Home Depot's website again.
I read the article. If I could specify some kind of specificity or weighting to control the amount of vectorization (is that the right way to say this?), I'd think this was good news. This article just confirmed I won't bother to try. Reading the article just makes the Home Depot's website sound like another Amazon search site.
4'x8' sheets are fine, but later in the results.
2"x4" lumber should not appear and is like showing me a toilet when I want a sink. Also see my reply below.
FWIW McMaster and Digikey are themselves the exceptions. I've never seen a good parametric search engine anywhere else - they all compensate by leaning on product popularity (read: profitability), and you can never be sure it's actually surfaced all of the relevant results. I usually end up searching by one or two basic keywords, then linearly iterating through a few pages of results.
I'm remodeling a house and I end up having to go to one of three HD stores that are each about five miles from the house. Each is in a slightly different area demographically and thus has a different selection of stuff, and each has a very different layout.
Their listing of stock and aisle/bin makes it easy to find what I need, but the site is so awful on mobile that I'll often look things up at home on a full PC, write down locations, then go.
On mobile I've seen the layout shift all over, the search break if I touch something or scroll after I submit a query, checking the "in stock items" box sometimes breaks my session. It's awful.
(I tend to eschew apps however much I can. But maybe I should just suck it up until this project is done.)
Full disclosure: I work in THD Online Search.
"2x4 birch plywood" returns the correct results in the first two slots - 2'x4' birch plywood in 1/2" and 3/4".
"2'x4' birch plywood" returns those two correct results above in the 3rd/4th positions as you noted. As a customer, this is a signal that I need to be real good at searching on HD's website and start thinking up clever permutations for my searches.
Also, IIRC, at the time it also returned 2"x4" lumber either at or near the top of the results. Well, if I put "plywood" in the search string, I expect plywood, not results for every length of 2"x4" lumber that HD carries. I was pretty irritated at the time and I'm actually surprised that "2x4 birch plywood" even appears in the top row of the results.
There's no way to know if something actually exists in the store, before driving there. If you call, they look at the app and say yes. If you ask for help finding where the pile of "40 in store, aisle 12, bay 15" is, they look at the app and say it's out of stock, where you can sometimes then go find it a few aisles away, but almost always not. I've wasted so many hours, with so much frustration walking around those damn aisles.
Never use the Home Depot site to buy anything.
And at my local stores the available quantity shown on the website is rarely accurate. Fairly frustrating experience to show up when the app lists “20 in stock” and there isn’t anything there.
Seen the same and now I draw an arbitrary line - if they have less than 10, you're taking a chance - don't bet your project on it. If they have less than 5, you can almost guarantee they don't actually have it. If they have 10+, you can often find them, but they've not been unpacked or stocked on shelves yet. Usually an associate can locate them up high on the shelves and if you really need it and ask nice, they'll often get it down for you if they aren't otherwise busy*
*I wouldn't expect this to work on a Saturday at 11AM, though.
Home Depot seemed to have a tradition of good, practical engineering when I was there. Emphasis on solving the problem incrementally and reliably, rather than trying to boil the ocean.
(Disclaimer: Former employee)
This is in stark contrast with Lowe's where I would describe the difference as being akin to searching via Google (Home Depot) or by Cuil (Lowe's).
For those unfamiliar with Cuil:
https://knowyourmeme.com/memes/sites/cuil-theory
If you know her please send some high praise from me. I am one of the people who has long experience with making things and knows several ways to describe common tools, materials, parts, etc but who hates to have to cycle through each of them hoping that the inventory management engine recognizes the product and lists it near the top when it delivers search results.
As a customer, I could tell that results from Home Depot searches delivered quality results by a simple search for a 2x4 of a specific length.
Excellent work!
Lowe's, on the other hand blows HD away with speed. HD could also work on their funky layout issues. On an up to date mobile chrome, sometimes it decides that I'm really on a desktop (no, I didn't hit desktop mode) and it renders what is nearly useless on a small screen.
Thanks for reminding me of this. I'm still using a Windows phone. It will be obsoleted soon though, and I had blamed most of the poor rendering of HD site on a phone on the phone itself since I commonly get the "unsupported browser - please upgrade" messages from lots of sites.
Like Best Buy, their mobile version is not good and borders on unusable. I had always blamed that on my own decision to use an obsolete phone as long as possible instead of on poor mobile website performance. I tend to locate the part that I need on my desktop, send a link or screenshot to my phone. That way I know which aisle/bin to find it once I make it to the store and don't have to waste time exploring all the things that I want but don't need.
Lowe's does throw up search results a bit faster but to me, the time wasted trying to find the right combination of terms to use in searching is not worth the small price difference between the two stores. I buy from Lowe's when I am looking for a specific brand that is not carried at Home Depot.
We recently had problems buying a couple of appliances from Lowe's due to discrepancies in their online versus actual inventory. If Home Depot had carried a similar model we would've gladly bought there but their inventory was slim.
Once we arrived back home, we tried to buy online again and it failed so we called the customer service desk to relate the tale about trying to buy one online, trying to buy one in the store, etc and the person checked inventory for us. She discovered that they had 6 of the model in stock and we could definitely buy one and have it delivered the next day. We completed the purchase over the phone and scheduled delivery for the next day.
That part went off without a hitch since I just had the delivery people roll it into the kitchen and I set it all up and swapped everything over.
Aggravating.
The website said "over 500", the store had zero. This is the equivalent of thinking you're a millionaire but finding out you can't even purchase a McDonald's dollar menu item.
* counted cumulative gain - a measure of ranking quality * query reformulations - a measure of search friction * complaints about search relevance * engagement with top search results
It's great to be able to define concrete KPIs that have an objective impact on user experience.
I normally search for T&G Plywood and I get what I expect.
Right now that search is broken at the & and it thinks my entire search string is just "T". Instead I have to enter "T&G Plywood" into the search - literally adding the html entity and that actually works correctly for the search.
I'm outside of Canada. Trying to go to homedepot.ca just gives me an 'Access Denied". I legitimately want to purchase things to send to people back home and cannot. There's not even some sort of graceful fallback. I don't understand the logic and wonder if it's just an honest IT routing mistake.
So yeah, it's kinda absurd to deny access.
Not really sure how to fix the various errors I've encountered
I wanted to see if HD had a outdoor jbox extension ring in stock before I drove down there, so what did I search for? Well "outdoor jbox extension ring" of course. What did I get results for? A sprinkler spike, various types of romex, a Wyze flood light, and extension cord protectors.
I guess at least now I know why their search is useless.
* What would be helpful is knowing which terms, if any, didn't get hits. Maybe it was jbox and I need to type "junction box", idk. But providing me garbage results is just infuriating.
Here's one I ran into just yesterday. I wanted to know the ballpark cost of a belt-driven garage door opener. So I google "home depot belt drive garage door opener". Landed on this page: https://www.homedepot.com/b/Doors-Windows-Garage-Door-Opener...
So... where's the garage door openers? I know you carry them. No amount of modification of the search options surfaces any belt-driven garage door openers. Thinking I was crazy, I went up a category to "Garage Door Openers" and clicked the "Belt Drive" category at the top. Same result.
WTH?
I will say that the accurate listing of item location in the store has saved me hours and hours of wandering and even if I can't find the specific item I'm looking for (see above) I can look up generic garage door openers and find what aisle it's likely to be in.
Click on "Belt Drive" among the Opener Types. Same result. Not terribly related to the topic at hand, but its definitely a gripe I have the the HD website sometimes works great and sometimes is terribly unhelpful.
Works: https://www.homedepot.com/b/Doors-Windows-Garage-Door-Opener...
Also Works: https://www.homedepot.com/b/Does-Not-Matter/Does-Not-Matter/...
The "seo" part of the url doesn't actually matter. Where they went wrong is not redirecting a page that has no results to a one that does when SEO text matches.
Home Depot products are specific in odd ways. E.g. an 8' PVC pipe can be shortened on-site, a 3' downrod for a ceiling fan might not be able to. So substitutability is hard.
If you search for "pipe A500", the search engine would deconstruct that. It would see pipes have steel, and a coating for steel, and a grade of steel. It would see A500 is a grade of steel. Pipes don't have a grade A500, but tubes do, and tubes have the other classifications that pipes do. It may then conclude that while 'A500' and 'pipe' are not linked directly, a different term may be very similar and a more direct match ('tube'), and thus return 'A500 tube' results.
It seemed like the machine learning model was building relations between these different concepts and using them to improve the search, but without the intentional taxonomic mapping that semantic web uses. Semantic web is essentially more of a curated database of relationships, whereas the machine learning appears to be using another method to establish the relationships. I wonder if they're not doing basically the same thing.
From what I remember, the Semantic Web was intended to be a big library science type of project, where people described things for computers, so that people could find them. This seems more like computers describing things so that people can find them, and then updating based on how people react.
> Qu’s vector search engine is able to discover hidden connections among products, such as sloped ceilings, ceiling fans, and downrods...
And
> Perhaps Home Depot knows that a particular customer is in the middle of a patio renovation, which instantly narrows the search down to outdoor ceiling fans.
It's not clear to me why that part couldn't be done with conventional searches, but maybe it's something this technological makes it simpler to use. /shrug