Search graduate:

Karl Aleksander Kivimägi

  • Faculty of Design
  • Industrial and Digital Product Design
  • BA
  • Finding clothes that match user's style in online shops.
  • Tutor: Gunnar Valge


Every person has their own specific style which they take into account when buying new clothing, but currently it is not possible to search for products that match the user’s style.

I sent out a questionnaire to over 200 people who buy clothes online and asked them:

How important is it that the clothes you want to buy match your style?

Turns out almost 70% of shoppers (who participated in my study) find style either “Important” or “Very important”, and only 8.6% found it “Not important”.

That means the user experience of online shopping greatly suffers because a lot of the shoppers don’t have the necessary tools to find products that suit their needs. Today popular stores like,, etc. feature 1000s to 100 000s products in a single category and because of the high volume of products and lack of tools people spend a lot more time searching for something they like than they should.

How much time does it take to find a product you like?

Turns out only 10 people out of 243 people I asked find products faster than they expected, for most it takes more time.

In my thesis I wanted to find out if there was a way to find products that match the user’s style faster and make the shopping experience more personalised and convenient for the user.


The solution I came up with works using images of user’s already bought clothes. He/she takes a picture, uploads it to the website and the website returns items that are similar in style. To test it out I created a machine learning model on website using their deep learning tools to predict style. Training data was gathered from where I downloaded over 1000 product pictures.

I found different styles when I analysed what kind of physical features a piece of clothing has. I found the features through different types of questions:

What’s the cut of the garment like?


What’s the colour of the garment?

Red, Blue, White, Orange, Black, Colorful

What’s the fabric of the garment like?

What’s on/in the garment?

Picture, Duck, Text

Features: Ordinary, Red, Blue, White, Orange, Black, Colorful, Picture, Duck, Text

Using these questions I found features of 90 different pieces of clothing. Then I grouped clothes with similar features and the group became a style.

I gathered 6 different styles:

  • Minimalism
  • Patterns
  • Cut (Wide cut, intricate cut,…)
  • Symbolism (Logos and text)
  • Pictures (Drawings, graphic design, pictures etc.)
  • Details (Pockets, strings, belts, textures)

User Research

After training the model I began researching its impact.

I carried out 6 tests with women aged 20-29. For each test, each user sent me around 20 pictures of her clothes which I then used to find similar products from the downloaded Matchesfashion products. I wanted to test out women’s clothing version first because for them style and clothing is a bit more relevant.

During the test I showed one user 50 random and 50 model predicted products. In total 100 products, the user didn’t know which were random or not. The user’s job was to tell me which products she likes.

In the below table are the results of user research. In the column “Random”, there is the amount of products the user liked out of the 50 random products she was shown. In the column “Model” there is the amount of products the user liked from the products the model predicted similar to user’s style.

Turns out the model worked! On average users found around 50-60% more products they liked. It worked especially good in 1st and 3rd test. On 4th and 5th one though, there wasn’t much of a difference. Overall the results were good and it shows that something like this could be very beneficial to the user.

Since I also measured time I found out that it takes around 2 seconds to know if you like a product or not (expect user 3 who took twice as long). I calculated that using this model, it would save you over 5 hours of time if you bought 20 pieces of clothing online and had to look through 1500 products to find the one you bought because with the model you would have to look through 10 000 less products in total.