Welcome to a new episode of 'This Is My Architecture'.
With us today is Elie from Ounass.
-Welcome. -Thank you for the invitation.
Thanks.
Ellie, can you tell us who are Ounass?
and what is the nature of the work at Ounass?
Yes. Ounass is a luxury e-commerce company, part of the Al-Tayer Group.
We focus on providing good service to users
for all high quality products.
Lovely.
I think there is great architecture here.
Can you explain to us
what is the problem that you are trying to solve
using this architecture?
Yes. What we are doing is that we want to provide high personalization for our users
while they are browsing the products that we have.
So we built a recommendation system that uses users' browsing data.
Great. I think that there is more than one service here
regarding machine learning
and I can see state machines.
What are you using state machines for?
Yes.
The state machine you can see here.
We use it to make it easier for us to extract data.
Training, and finally deployment.
At the same time, this state machine can be used periodically,
We then trigger all the workflow through an event bridge rule.
Okay.
And each of the stages that you mentioned
matches the machine learning stages,
or the stages of machine learning.
Can you tell us in detail about the first stage?
Yes.
The first stage in which we make an invocation of the Lambda function
Which is using Athena to query the data lake?
for the users' browsing data.
We do data processing through this stage.
And finally, the data that we will use for training
will go to a specific S3 bucket.
Great.
So, in the first stage you prepare the data
to be used later on for machine learning training.
Can you tell us what's happening at the machine learning training here?
Yes.
When the data extraction phase ends
we move to the algorithm training phase.
Here we use SageMaker training
in order to read the data we got from the previous step.
And then we train an algorithm named Word2vec
through the BlazingText container of SageMaker.
Lovely.
Why SageMaker and BlazingText algorithm in particular?
Yes.
SageMaker is a service
that not only makes it easy for us to train
but also the deployment of the algorithm.
And it also makes monitoring easier for us.
A complete integrated service that makes it easy for us
to run the entire work flow.
We used the BlazingText Container
because we can use Word2vec algorithm through it.
Which is very fast in implementation with SageMaker.
And through it, we can identify word vectors
for the products that our users browse for.
And we do that by exploring their data.
Okay.
So, you are using Word2vec to convert the data into a digital form.
And at the same time maintain the relationship
between items and products which are similar to each other.
Yes.
For example, if you have a vector of a red Gucci dress
it would be closer to a red Dolce & Gabbana dress
than to, let's say, Balenciaga shoe.
OK. Lovely.
After you finish training, you put the model here in the S3 bucket.
What happens in this stage or the third stage?
Yes.
After the training phase, we go to the deployment phase.
At this stage the SageMaker prepares the endpoint
by sitting its configurations.
And deploys the endpoint
which users can use to receive recommendations.
Lovely.
And the user here when they enter your website
what is happening in order for them
to talk to this model?
What happens in between?
When users browse the platform of Ounass
what happens is that when they go to a certain product's page
We trigger a request
through which we send the product's ID.
Then it goes to an API Gateway
which route it to the Lambda function
to subject it to invocation.
And the Lambda function will pass it to the endpoint
and give the product ID.
And through this endpoint, we return the recommended items
and those will return to the front end
And users can see the products that we are recommending.
As a user, if I entered the website
and tried to browse for a particular product
I will get other products similar to the one I am trying to browse for.
Yes. Which is, again, based on vectors
that we got from the ClickStream
or users' browsing data from earlier.
Excellent.
Sometimes when you want to build recommendation engines,
It's hard for you to...
The testing phase of the recommendation engine is not easy.
How did you test the recommendation engine to see if it's effective or not?
Yes.
We collaborated with the CRM team to carry on a test,
with this test we made AP test.
We had a control group who included users
whom we gave recommendations based on
the most popular products or the bestseller.
And we had a task group through which we sent communications to users
and inside it there were recommendations based on this algorithm that we built.
So, this test was about two weeks long.
After two weeks,
we noticed that there's an uplift or a rise
in the conversion rate for the task group
0.6% when we compare it to the control group.
Lovely.
So, since you were able to set up this recommendation engine.
Once you got it set
you increased sales by 0.6%.
-Yes. -Very nice.
What is the next stage?
What else are you planning to do in the architecture?
Yes.
This algorithm suffers from...
Sometimes, for example, there are new products' data that it receives
it won't be able to make an accurate vector presentation.
What we are going to do to bypass this stage
is that we will increase the visual data and the product's details
Then we will integrate it into this workflow.
And we can use it later
to offer a more accurate recommendations for our users.
Lovely.
Thank you so much for joining us today.
and that you shared with us this architecture you designed.
-Thank you so much for inviting me. -You're welcome.
Thank you so much for joining us
on 'This Is My Architecture'.