Personalized feed

Hi there! I’ve already asked about whether it’s possible to create personalized feed and the answer was yes, and there also was an explanation of it . (thanks @Nicolas) But I’m still confused with it, especially with the part where I need to do a ratio and sorting tasks. Maybe there are some videos on this topic?
Thanks in advance for your advices or recommendations!

Hello !
I just see it now but somes stars symbol disappear because of Markdown !
Corrected version :
Task 1 score = PO1 * O1 + PO2 * O2 + PO3 * O3 = 4 *2 + 6 * 12 + 8 * 8 = 144
Task 2 score = PO1 * O1 + PO2 * O2 + PO3 * O3 = 4 * 17 + 6 * 1 + 8 * 10 = 154
Task 3 score = PO1 * O1 + PO2 * O2 + PO3 * O3 = 4 * 10 + 6 * 9 + 8 * 15 = 214

Detailed explanation :

Why are you multiplying the user score and the task score?
I have to do this to create a custom field.
If you want to sort a task list with a value, you can assign a value for each task and sort them with that value.

But to customize it, you need to create an interaction between the value used to sort the tasks and the user.

For exemple, you will have 2 values on your task, reading and math.
You want to sort article with math and others textual content, some people like to read a lot of article about math, and others hate math and don’t want to see it.
You have a list of 5 article and each ones have a value about the quantity of math and text inside it.

Article 1 : Math = 10, Text = 100
Article 2 : Math = 50, Text = 60
Article 3 : Math = 20, Text = 80
Article 4 : Math = 100, Text = 90
Article 5 : Math = 2, Text = 72

Now you have 2 users. One love math and the other one hate math.
They will give a score as they want about there preference.
User 1 : Math = 5, Text = 3
User 2 : Math = 1, Text = 10

Now you want to sort articles for them, the easiest way to represente numericly they preference is to multiplie choosed variables by the user with article variable.
Sorting exemple with user 1 (math lover)
We will apply this formula : User1 Math value * article math value + User 1 Text value * article Text value

Article 1 : 5 * 10 + 3 * 100 = 350
Article 2 : 5 * 50 + 3 * 60 = 430
Article 3 : 5 * 20 + 3 * 80 = 340
Article 4 : 5 * 100 + 3 * 90= 770
Article 5 : 5 * 2 + 3 * 72 = 226

The order of preferded articles for user 1 is : Article 4, Article 2, article 1, Article 3, Article 5.
(Because of the numeric value : 770 > 430 > 350 > 340 > 226)

If we do the same for the user2, result will be very different :
Article 1 : 1 * 10 + 10 * 100 = 1010
Article 2 : 1 * 50 + 10 * 60 = 650
Article 3 : 1 * 20 + 10 * 80 = 820
Article 4 : 1 * 100 + 10 * 90= 1000
Article 5 : 1 * 2 + 10 * 72 = 74

The order of preferded articles for user 2 is : Article 1, Article 4, article 3, Article 2, Article 1
(Numeric value : 1010 > 1000 > 820 > 650 > 74)

As you can see we have some mistakes, like the article 4 proposed to the second user.
This kind of error appear because i do not restraint the user’s numeric value about his preferences and I do not restraint the numeric values of article.
If you want to be more accurate, you can give only 10 Points to the user and ask him to put them on diverse filters (Math & Text in this exemple)
And you can try to put the same total amount of point for each article.

(you should do this :
article 1 : Math = 90, Text = 10
article 2 : Math = 20, Text = 80
And you shoudn’t do that :
article 1 : Math = 90, Text = 10
article 2 : Math = 90, Text = 360

Article 2 as the same % of math in each case, but the second case explode my sorting formula ^^)

If you have others questions, I will try to answers them.

If you fully understand the explanation before this, you can optimize the formula to only multiply the user’s value with equilibrated ratio of each different values.
Like : User 1 Math value * (Article Math value / Total Task’s point)

And in this case you don’t have to equilibrate tasks between each others. This is very useful if you have a lot of different values to sort your articles list.

2 Likes

This topic was automatically closed 10 days after the last reply. New replies are no longer allowed.