Title: script for check requirements for next rank v2 Post by: giammangiato on June 05, 2019, 08:33:52 AM Hello, i bake a simple python script and i want to share with community.
This is the script on pastern -> https://pastebin.com/0tTCAYSA - v2 https://pastebin.com/gm4qxCtt - v1 This script check your current activities and merits and tell missing requirements. output example with my profile Code: UID 889300 Mean, i missing 88 merits. LICENCE It is released without a license, use it as you wish. Don't abuse. Title: Re: script for check requirements for next rank Post by: hd49728 on June 05, 2019, 08:55:08 AM I don't think it is needed, because people know exactly what they have. Especially with merit system, people don't immediately rank up when they hit activity requirements; and they can not easily get required number of merits to rank up. Moreover, it will save their time to read helpful things in the forum, for their own interests, or spend their time to make helpful posts, rather than spending too much time to run such script and pay too much attention on which requirements they have not met.
Title: Re: script for check requirements for next rank Post by: witcher_sense on June 05, 2019, 09:01:46 AM What about Legendary account requirements? Will your script work just as well, even if the activity requirements are not clear?
Title: Re: script for check requirements for next rank Post by: TryNinja on June 05, 2019, 10:20:26 AM What about Legendary account requirements? Will your script work just as well, even if the activity requirements are not clear? By checking the script, it looks like they use the minimum (775 activity) for Legendary account requirements. So, you will only see how much you need to get into the "luck" range (775 - 1030).Title: Re: script for check requirements for next rank Post by: hd49728 on June 05, 2019, 12:53:44 PM By checking the script, it looks like they use the minimum (775 activity) for Legendary account requirements. So, you will only see how much you need to get into the "luck" range (775 - 1030). There is bob123, whom has not hit lucky number, even activity hits 924 so far: https://bitcointalk.org/index.php?action=profile;u=579628Title: Re: script for check requirements for next rank Post by: giammangiato on June 06, 2019, 12:48:49 PM I don't think it is needed, because people know exactly what they have. Especially with merit system, people don't immediately rank up when they hit activity requirements; and they can not easily get required number of merits to rank up. Moreover, it will save their time to read helpful things in the forum, for their own interests, or spend their time to make helpful posts, rather than spending too much time to run such script and pay too much attention on which requirements they have not met. I do it for myself. If anyone will use it, better. ;) What about Legendary account requirements? Will your script work just as well, even if the activity requirements are not clear? For legendary rank, i only check the minimum - i can't predice the future. ;D Title: Re: script for check requirements for next rank Post by: giammangiato on June 25, 2019, 10:06:06 AM If anyone is interested I could also make a web version with django. In any case, thanks for the merits.
:D Title: Re: script for check requirements for next rank Post by: jademaxsuy on June 25, 2019, 03:37:14 PM If anyone is interested I could also make a web version with django. In any case, thanks for the merits. You deserve it OP, anyway is it your work doing the script? I can't tell if it is easy or not to make it because I am not an IT expert or a programmer. I just think that it is hard to do but since if it is your doings and expertise then maybe it is easier for you OP.:D Title: Re: script for check requirements for next rank Post by: Welsh on June 25, 2019, 04:02:11 PM I don't think it is needed, because people know exactly what they have. Especially with merit system, people don't immediately rank up when they hit activity requirements; and they can not easily get required number of merits to rank up. Moreover, it will save their time to read helpful things in the forum, for their own interests, or spend their time to make helpful posts, rather than spending too much time to run such script and pay too much attention on which requirements they have not met. I guess there's users who have fulfilled the merit requirements in order to rank up, but haven't hit the activity requirements. Although, the mass majority of users won't have a use for it I imagine there will be a few users who will appreciate it. I haven't checked the script myself, but good work nonetheless. Title: Re: script for check requirements for next rank Post by: fillippone on June 26, 2019, 06:23:12 AM I don't think it is needed, because people know exactly what they have. Especially with merit system, people don't immediately rank up when they hit activity requirements; and they can not easily get required number of merits to rank up. Moreover, it will save their time to read helpful things in the forum, for their own interests, or spend their time to make helpful posts, rather than spending too much time to run such script and pay too much attention on which requirements they have not met. I guess there's users who have fulfilled the merit requirements in order to rank up, but haven't hit the activity requirements. Although, the mass majority of users won't have a use for it I imagine there will be a few users who will appreciate it. I haven't checked the script myself, but good work nonetheless. I am one of that users! I am left with a some activity left to rank up. As the activity progressing is so complicated and unintelligible by the average user (😜), I am requesting the OP to improve his script giving the user an accurate prediction of the least time needed to get the needed activity, paying attention to the standard cut times for activity build-up adopted in the forum. If both merits and activity are missing to rank up then it would be nice to add the minimum merits per day to rank up by the minimum date. I will merit the op when he deliver this improvements! Title: Re: script for check requirements for next rank Post by: giammangiato on June 26, 2019, 08:18:39 AM Yeah Welsh, I am one of that users! I am left with a some activity left to rank up. As the activity progressing is so complicated and unintelligible by the average user (😜), I am requesting the OP to improve his script giving the user an accurate prediction of the least time needed to get the needed activity, paying attention to the standard cut times for activity build-up adopted in the forum. If both merits and activity are missing to rank up then it would be nice to add the minimum merits per day to rank up by the minimum date. I will merit the op when he deliver this improvements! https://i.ibb.co/SRHLgHm/challenge.png Yes, i can. I think is a nice improvement. Tomorrow i work on it. Title: Re: script for check requirements for next rank Post by: bob123 on June 26, 2019, 08:28:40 AM There is bob123, whom has not hit lucky number, even activity hits 924 so far: https://bitcointalk.org/index.php?action=profile;u=579628 :( Well.. i had a 50% chance to hit it <= 902 activity. Now, each 14 days it gets more and more probable for me to rank up.. i guess you just have to see the glass half full in this case :D For legendary rank, i only check the minimum - i can't predice the future. ;D Could you at least try, please? :) Title: Re: script for check requirements for next rank Post by: giammangiato on June 26, 2019, 08:32:47 AM Could you at least try, please? :) I can calculate % of luck with a range of activity. But i dont know the right formula. Title: Re: script for check requirements for next rank Post by: fillippone on June 26, 2019, 08:48:18 AM Could you at least try, please? :) I can calculate % of luck with a range of activity. But i dont know the right formula. I supposte something like this: if activity>775 then luck denominator= rounddown((1030-775)/14,0) luck numerator=rounddown((activity-775)/14,0)+1 luck= min(lucknumerator/luckdenominator,100%) This is something excel- like. Title: Re: script for check requirements for next rank Post by: giammangiato on June 26, 2019, 08:50:53 AM I supposte something like this: if activity>775 then luck denominator= rounddown((1030-775)/14,0 luck numerator=rounddown((activity-775)/14,0)+1 luck= min(lucknumerator/luckdenominator,100%) This is something excel- like. Oh dear! Thank you, i will include this formula on my script. :-* Tomorrow i'll update this thread. Title: Re: script for check requirements for next rank Post by: bob123 on June 26, 2019, 09:54:53 AM I supposte something like this: if activity>775 then luck denominator= rounddown((1030-775)/14,0) luck numerator=rounddown((activity-775)/14,0)+1 luck= min(lucknumerator/luckdenominator,100%) This is something excel- like. This formula seems pretty off to me. For example, with 1029 activity you should be at 100% for getting legendary the next time activity changes (or very close to 100% if you calculate how probable legendary is at given activity). However, with 1029, you get: denominator = 18 numerator = 19 luck = min (18, 19, 100) would be 18. That's not close to 100. Title: Re: script for check requirements for next rank Post by: fillippone on June 26, 2019, 11:25:47 AM luck= min(lucknumerator/luckdenominator,100%) This formula seems pretty off to me. [snip] luck = min (18, 19, 100) would be 18. That's not close to 100. luck = min (18/19, 1) would be Anyway you are messing around with my formula. With activity of 1029 my formula says 100%, as at the next round you are going to be legendary for sure. Title: Re: script for check requirements for next rank Post by: bob123 on June 26, 2019, 11:30:07 AM Anyway you are messing around with my formula. My fault, i have read luck= min(lucknumerator , luckdenominator , 100%) instead of luck= min(lucknumerator / luckdenominator, 100%). I think i am too tired to today. Title: Re: script for check requirements for next rank Post by: fillippone on June 26, 2019, 11:52:05 AM Anyway you are messing around with my formula. My fault, i have read luck= min(lucknumerator , luckdenominator , 100%) instead of luck= min(lucknumerator / luckdenominator, 100%). I think i am too tired to today. I am too tired, too old and too hot (as in summer hot) for all this. Title: Re: script for check requirements for next rank Post by: giammangiato on June 27, 2019, 11:12:40 AM this is the output for bob123
Code: Profile: https://bitcointalk.org/index.php?action=profile;u=579628 luck 66% output for not Hero Member is Code: Profile: https://bitcointalk.org/index.php?action=profile;u=889300 Title: Re: script for check requirements for next rank Post by: fillippone on June 27, 2019, 11:30:51 AM this is the output for bob123 Code: Profile: https://bitcointalk.org/index.php?action=profile;u=579628 luck 66% output for not Hero Member is Code: Profile: https://bitcointalk.org/index.php?action=profile;u=889300 Hello, Nice to see some improvements: Thinks I would do:
Title: Re: script for check requirements for next rank Post by: bob123 on June 27, 2019, 11:33:33 AM this is the output for bob123 [...] luck 66% This number says how probable it is to get legendary within 775 and X activity. But it does not say how probable it is to get an rank up with the next update, which would be a bit more useful i think. But regardless of that, nice work. Title: Re: script for check requirements for next rank Post by: giammangiato on June 27, 2019, 12:18:37 PM Thank you guys, i mean @filippone and @bob123
I'll do the improvements and release the script soon! Title: Re: script for check requirements for next rank Post by: fillippone on June 27, 2019, 12:50:58 PM this is the output for bob123 [...] luck 66% This number says how probable it is to get legendary within 775 and X activity. But it does not say how probable it is to get an rank up with the next update, which would be a bit more useful i think. But regardless of that, nice work. Sorry, As per the formula the number should indicate the probability to be ranked up on next activity cycle. So, basically in 14 days or less you’ll be legendary in the 66% of cases. Check again the formula.... Title: Re: script for check requirements for next rank Post by: bob123 on June 28, 2019, 07:20:29 AM Sorry, As per the formula the number should indicate the probability to be ranked up on next activity cycle. So, basically in 14 days or less you’ll be legendary in the 66% of cases. Check again the formula.... This can't be the case. The activity where i rank up is a random number between 938 and (including) 1030. Activity increases by 14 each cycle. This means there are 7 more cycles in which i could get legendary. The chance for me to get legendary in the next cycle therefore is 1/7 = 14%. The next cycle the chance would be 1/6 = 17%. Based on your statement i should be legendary in 3 cycles. But that can not be said if there are 7 more cycles to come. I'd have a 50% chance to get an uprank in the next '3.5' cycles. What your formula does, is to calculate the chance of getting legendary within 775 and X activity (in the quoted calculation above: between 775 and 938). Title: Re: script for check requirements for next rank Post by: fillippone on June 28, 2019, 07:51:30 AM Sorry, As per the formula the number should indicate the probability to be ranked up on next activity cycle. So, basically in 14 days or less you’ll be legendary in the 66% of cases. Check again the formula.... This can't be the case. The activity where i rank up is a random number between 938 and (including) 1030. Activity increases by 14 each cycle. This means there are 7 more cycles in which i could get legendary. The chance for me to get legendary in the next cycle therefore is 1/7 = 14%. The next cycle the chance would be 1/6 = 17%. Based on your statement i should be legendary in 3 cycles. But that can not be said if there are 7 more cycles to come. I'd have a 50% chance to get an uprank in the next '3.5' cycles. What your formula does, is to calculate the chance of getting legendary within 775 and X activity (in the quoted calculation above: between 775 and 938). Dear lord, you are right! Is this the heatwave over Europe affecting my brain? Here you go Pls note that the first activity where you get a chance to get promoted on next cycle is 14*55=770 if activity>770 then luck numerator=rounddown((activity-770)/14,0)+1 luck denominator= rounddown((1030-770)/14,0) luck=1/(luckdenominator-lucknumerator+1) Title: Re: script for check requirements for next rank Post by: bob123 on June 28, 2019, 08:43:21 AM Pls note that the first activity where you get a chance to get promoted on next cycle is 14*55=770 Why? Legendary requires 775. So theoretically with 775-14=761 you'd already have a chance. Note that the activity has not to be divisible by 14. The activity is min(posts, time*14). If your theoretical activity would be higher (e.g. 1000+), but you'd have 761 posts, your activity would be 761. By the way, it is still slightly off Quote luck numerator=rounddown((activity-770)/14,0)+1 luck denominator= rounddown((1030-770)/14,0) luck=1/(luckdenominator-lucknumerator+1) Take me (activity 938) for example, my probability is roughly 1/7 (14.3 %). But based on your formula, i get: luck numerator = 13 luck denominator = 18 luck = 1/6 The correct formula is: Code: luck = 14 / (1030-activity) Quite sad that it took us multiple posts and (way too much) thinking to find that (extremely easy) formula ;D ;D Edit: to be more precise regarding the script: Code: #call getLuck when activity > 760 Title: Re: script for check requirements for next rank Post by: fillippone on June 28, 2019, 08:55:58 AM Pls note that the first activity where you get a chance to get promoted on next cycle is 14*55=770 Why? Legendary requires 775. So theoretically with 775-14=761 you'd already have a chance. Note that the activity has not to be divisible by 14. The activity is min(posts, time*14). If your theoretical activity would be higher (e.g. 1000+), but you'd have 761 posts, your activity would be 761. Something that doesn't happen so much, I guess. Take you: your activity is 67*14=938... Quote By the way, it is still slightly off Quote luck numerator=rounddown((activity-770)/14,0)+1 luck denominator= rounddown((1030-770)/14,0) luck=1/(luckdenominator-lucknumerator+1) Yes, because there's a typo here: luck denominator= rounddown((1030-770)/14,0) +1 So in your case: Take me (activity 938) for example, my probability is roughly 1/7 (14.3 %). But based on your formula, i get: luck numerator = 13 luck denominator = 19 luck = 14.29% Quote The correct formula is: Code: luck = 14 / (1030-activity) Quite sad that it took us multiple posts and (way too much) thinking to find that (extremely easy) formula ;D ;D If my activity were 1022, next cycle I would be legendary as activity it will be 1036. So luck is 100%, but with your formula I get 175%. If my activity were 1008, I would be legendary either at 1022 or at 1036, hence my luck=50%. But with your formula is 63%... I still don't get it... I do agree it is sad. Title: Re: script for check requirements for next rank Post by: bob123 on June 28, 2019, 09:04:21 AM If my activity were 1022, next cycle I would be legendary as activity it will be 1036. So luck is 100%, but with your formula I get 175%. Therefore the if luck > 1: luck = 1 statement ;D If my activity were 1008, I would be legendary either at 1022 or at 1036, hence my luck=50%. But with your formula is 63%... Well, that's what i thought at the beginning too.. But it is more probable to get promoted in the first cycle than in the second. If max legendary activity is 1030: There are 14 activity-points between 1008 and 1022 There are 8 activity-points between 1022 and 1030. If the number is random between 1008 and 1030, it is 'almost' twice as probable for it to be between 1008 and 1022 (probability: 14 / (8+14). And this is 0.636363.. what basically my formula says :D Edit: A better example: With 1015 activity, the chance of getting a rank-up is 'close to 100%'. This basically comes down to a random number between 1 and 15. Probability: (14/15) that it is below 15. Therefore with the formula: luck = 14 / (1030-activity) luck = 14 / (1030 - 1015) = 14 / 15 Title: Re: script for check requirements for next rank Post by: fillippone on June 28, 2019, 09:13:48 AM If my activity were 1022, next cycle I would be legendary as activity it will be 1036. So luck is 100%, but with your formula I get 175%. Therefore the if luck > 1: luck = 1 statement ;D If my activity were 1008, I would be legendary either at 1022 or at 1036, hence my luck=50%. But with your formula is 63%... Well, that's what i thought at the beginning too.. But it is more probable to get promoted in the first cycle than in the second. If max legendary activity is 1030: There are 14 activity-points between 1008 and 1022 There are 8 activity-points between 1022 and 1030. If the number is random between 1008 and 1030, it is 'almost' twice as probable for it to be between 1008 and 1022 (probability: 14 / (8+14). And this is 0.636363.. what basically my formula says :D Edit: A better example: With 1015 activity, the chance of getting a rank-up is 'close to 100%'. This basically comes down to a random number between 1 and 15. Probability: (14/15) that it is below 15. Therefore with the formula: luck = 14 / (1030-activity) luck = 14 / (1030 - 1015) = 14 / 15 Ok, let's end this embarrassing discussion here and adopt your simpler formula! Title: Re: script for check requirements for next rank Post by: giammangiato on June 28, 2019, 10:23:43 AM with bob123 formula
Code: Calculate luck this is the code Code: def calculateLuck(activity): for me not working Code: Merits: 1156 Title: Re: script for check requirements for next rank Post by: giammangiato on June 28, 2019, 10:50:10 AM “last active”, not on “last”
done better formatting of time (both in signup and last) using the hh:mm format for an user Code: Profile: https://bitcointalk.org/index.php?action=profile;u=579629 No negative merits or activity. When negative numbers put “0” instead, or “-“ or “Fulfilled” done Code: Profile: https://bitcointalk.org/index.php?action=profile;u=889300 If required activity>0 then add a “minimum upgrade date” taking care of activity cycles on the forum. i dont understand this Title: Re: script for check requirements for next rank Post by: fillippone on June 28, 2019, 10:56:45 AM If required activity>0 then add a “minimum upgrade date” taking care of activity cycles on the forum. i dont understand this Please check this thread where it explain how activity work: https://bitcointalk.org/index.php?topic=2766177.0 There's a spreadsheet (https://docs.google.com/spreadsheets/d/12saLhlUoqIdairxzuSPu6EYGrt7FN2lOstO1yDjCEbA/edit#gid=1012758442) with activity cycles. If I am not wrong I will become Hero on the first post (the first post triggers activity update) after UNIX time 1571790000 or 10/23/2019 0:20:00. Title: Re: script for check requirements for next rank Post by: bob123 on June 28, 2019, 11:19:37 AM with bob123 formula Code: Calculate luck this is the code Code: def calculateLuck(activity): for me not working Code: Merits: 1156 What exactly does not work? This works without problems for me: Code: def calculateLuck(activity): And you don't need to use math.floor() in fact you shouldn't because this can create quite some wrong results. If you want to have only 2 decimal places, add round: Code: luck = round (100 * 14 / (1030 - int(activity)), 2) Your function should then look like this: Code: def calculateLuck(activity): Title: Re: script for check requirements for next rank Post by: bitart on June 28, 2019, 08:35:54 PM ... I think you will be a Hero on 9th October 2019. If I am not wrong I will become Hero on the first post (the first post triggers activity update) after UNIX time 1571790000 or 10/23/2019 0:20:00. You need 102 activity points to become a Hero. This means (102/14) 7,3 activity periods, so you need 8 activity periods. The next activity period starts on 2nd July 2019 (next Tuesday), the 8th activity period starts on 9th October 2019. But I can also be wrong :) Title: Re: script for check requirements for next rank Post by: fillippone on June 29, 2019, 12:32:32 PM ... I think you will be a Hero on 9th October 2019. If I am not wrong I will become Hero on the first post (the first post triggers activity update) after UNIX time 1571790000 or 10/23/2019 0:20:00. You need 102 activity points to become a Hero. This means (102/14) 7,3 activity periods, so you need 8 activity periods. The next activity period starts on 2nd July 2019 (next Tuesday), the 8th activity period starts on 9th October 2019. But I can also be wrong :) This thread is the lowest point in my whole btctlk career Title: Re: script for check requirements for next rank Post by: giammangiato on July 01, 2019, 08:06:56 AM What exactly does not work? This works without problems for me: Code: def calculateLuck(activity): And you don't need to use math.floor() in fact you shouldn't because this can create quite some wrong results. If you want to have only 2 decimal places, add round: Code: luck = round (100 * 14 / (1030 - int(activity)), 2) Your function should then look like this: Code: def calculateLuck(activity): Ah ok thank you!!! I will update the script soon. I will remove Math.floor. Title: Re: script for check requirements for next rank v2 Post by: babo on July 09, 2019, 10:24:21 AM i reuse your code for do other stuffs :)
creative recycling i'm very lazy eheh |