AmberCutie's Forum
An adult community for cam models and members to discuss all the things!

The ACF Score

  • ** WARNING - ACF CONTAINS ADULT CONTENT **
    Only persons aged 18 or over may read or post to the forums, without regard to whether an adult actually owns the registration or parental/guardian permission. AmberCutie's Forum (ACF) is for use by adults only and contains adult content. By continuing to use this site you are confirming that you are at least 18 years of age.
Status
Not open for further replies.
Code:
    Red's AFC Score                Bolt's ACF Score                Jawbs ACF Score
 -----------------------        ------------------------        -----------------------
 1  JoleneJolene   14847        1  AmberCutie       9933        1  JoleneJolene   14890 
 2  AmberCutie     10733        2  Jupiter551       9060        2  Jupiter551     12923 
 3  PlayboyMegan    8253        3  JoleneJolene     7911        3  AmberCutie     12317
 4  Jupiter551      5600        4  PlayboyMegan     7723        4  Jessi          12022
 5  blackxrose      4945        5  blackxrose       6517        5  blackxrose     11015  
 6  MadisonLeigh    4919        6  sxycherrypie     5285        6  PlayboyMegan    8461      
 7  AedanRayne      4543        7  BoltEyeAm        3955        7  MadisonLeigh    7941     
 8  jamesrobert     3853        8  Bocefish         3848        8  Bocefish        7238   
 9  Miss_Lollipop   3832        9  Jessi            3708        9  LadyLuna        5592   
10  LacieLaPlante   3636       10  LadyLuna         3651       10  Poker_Babe      5459     
11  Sia Green       3627       11  jamesrobert      3166       11  The_Brown_Fox   5142      
12  KarmelKiss      3507       12  MadisonLeigh     3095       12  Shaun__         4816      
13  The_Brown_Fox   3356       13  LilyMarie        2811       13  Miss_Lollipop   4672 
14  Jessi           3344       14  Sia Green        2809       14  BoltEyeAm       4433
15  LadyLuna        3243       15  Shaun__          2780       15  LilyMarie       3782     
16  SophiaLocke     3103       16  Miss_Lollipop    2776       16  schlmoe         3782      
17  LiLredhairedgrl 3041       17  LadyBakes        2717       17  JickyJuly       3725       
18  LadyBakes       2959       18  AedanRayne       2710       18  LadyBakes       3673      
19  CammiStar       2740       19  CammiStar        2601       19  jamesrobert     3647    
20  Poker_Babe      2557       20  LacieLaPlante    2461       20  CammiStar       3628      
21  sxycherrypie    2314       21  Nordling         2354       21  LiLredhairedgrl 3556      
22  BoltEyeAm       2281       22  The_Brown_Fox    2254       22  LacieLaPlante   3454     
23  Bocefish        2215       23  KarmelKiss       2171       23  Ddelilah        3435   
24  Marokite        2208       24  LiLredhairedgrl  2165       24  Sia Green       3346     
25  Shaun__         2117       25  schlmoe          2144       25  Rosemary        3281     
..                             ..                              ..  
62  RedHerby         482       54  RedHerby          783       87  Red Herby        1007
 
  • Like
Reactions: Rose
Jupiter551 said:
What about members :whistle:
that will require at least 3 skype shows.

As for the acf score formula, I'm open to any changes/suggestions/ideas!
 
Lol regardless of whose formula is used I'm still number 5. :lol:
 
  • Like
Reactions: Lovelyhills
Jupiter551 said:
Jawbs said:
if any models would like a higher score, we can get on skype and work something out...
What about members :whistle:

Dude, not your finest hour. But this doesn't surprise me, either.
 
Jawbs said:
Here's my version (script and output included): https://gist.github.com/bac2da6d69b841eec92a

the base score is the same formula that BoltEyeAm came up with, but just looking at the last 60 days of activity:

Code:
( totalPost(w)(y)+thanksReceived(x)(y)+thanksSent(z) ) / ( daysMember < 60 ? daysMember : 60 )

then to try to make it a little more interesting, I calculate the score of each thanks received based on the base score of the user who sent the thanks. This way thanks that come from users with a higher base score are worth more than those with lower.

Code:
thanksReceivedBonus += thankersBaseScore * z

then I use the same calculations as the base score, adding the thanksReceivedBonus to thanksReceived to get the final acf score:

Code:
( totalPost(w)(y)+(thanksReceived + thanksReceivedBonus)(x)(y)+thanksSent(z) ) / ( daysMember < 60 ? daysMember : 60 )

I take no credit in any of this.. BoltEyeAm, RedHerby, Kradek, and others came up with this fun idea and formulas. Having said that, if any models would like a higher score, we can get on skype and work something out...

I'll implement this into the site sometime this weekend along with a top 100 page.

I don't understand the limiting of the daysMember to 60 days. I have never coded in perl so I'm having trouble understanding your code too lol
 
Jawbs said:
then to try to make it a little more interesting, I calculate the score of each thanks received based on the base score of the user who sent the thanks. This way thanks that come from users with a higher base score are worth more than those with lower.

While I appreciate all the work that went in to this, I can already see how this can be used by a certain contingent of members (or a certain member, :whistle: ) to "game" the system.

For instance, the "gamer" would harvest info from the top 10's MFC profiles (most are models). If 8 out of 10 list "Twilight" as their favorite movie, expect a flood of pro-Twilight and pro-Edward (I had to Google that, lol) posts. I fully expect to see a few posts extolling the merits of Coolsville.

One countermeasure would be for all the models to load up their profiles with disinformation. Wait, they don't already...

Another helpful item would be to have a companion button to the thanks. I suggest calling it the "That SUCKS" button. That would send a clear message to these "thank Ho's"!

*Full Disclosure: for all my posts, we really need a "That REALLY SUCKS" button. That would hopefully cut down on all the PMs I receive that tell me that I suck.
 
daysMember < 60 ? daysMember : 60
That just means, if the member joined less than sixty days ago, use how long they have been a member, otherwise use the last 60 days (assuming that's the part that was confusing).

As to why limit to 60 days? So you can't rest on your laurels.
 
Kradek said:
Alright. I'm not sure what the final formula is, so Bolt and Red you dudes will have to check it. If you would just give me a calcACFScore function (view the source of the page I'm about to link), I'll plug it in.
great page !, however Jawbs version will be the real thing, he has 60 days rolling and weighted Thanks, so we must just be proud that we have inspired him.

It would be cool if you create 2 columns for the score in your page, one for Bolt and one for me, so that every acf member can see his/her score, the 2 functions are:
Code:
function calcRedACFScore(user) {

   var today        = new Date();
   var thanksStart  = new Date('6/20/2011');
   var joinDate     = new Date(user.JoinDate);

   var daysMember   = dateDiffInDays(today, joinDate);
   var daysThanks   = dateDiffInDays(today, joinDate > thanksStart ? joinDate : thanksStart);

   var avgPosts     = user.Posts          / daysMember;
   var avgReceived  = user.ThanksReceived / daysThanks;
   var avgSent      = user.ThanksSent     / daysThanks;

   var qualityRatio = avgReceived / avgPosts;
   var socialRatio  = avgSent     / avgReceived;

   var base         = 1000 * avgReceived;
   var quality      = base * qualityRatio;
   var social       = base * socialRatio;

   return roundNumber( (base + quality + social) / 3 );

}

function calcBoltACFScore(user) {

   var w = 0.5;
   var x = 0.5;
   var y = 0.9;
   var z = 0.1;

   var today       = new Date();
   var thanksStart = new Date('6/20/2011');
   var joinDate    = new Date(user.JoinDate);

   var daysMember = dateDiffInDays(today, joinDate);
   var daysThanks = dateDiffInDays(today, joinDate > thanksStart ? joinDate : thanksStart);

   var avgPostsPerDay  = user.Posts / daysMember;
   var avgThanksPerDay = user.ThanksReceived / daysThanks;

   return roundNumber(1000 * ((avgPostsPerDay * w + avgThanksPerDay * x) * y + user.ThanksSent / daysThanks * z),0);

}
 
  • Like
Reactions: Lovelyhills
Kradek said:
daysMember < 60 ? daysMember : 60
That just means, if the member joined less than sixty days ago, use how long they have been a member, otherwise use the last 60 days (assuming that's the part that was confusing).

As to why limit to 60 days? So you can't rest on your laurels.
So you all have to work to keep your score up, just like we models do on MFC. :lol: :lol:

Hah, just keeps things current, I dig it.
 
RedHerby said:
It would be cool if you create 2 columns for the score in your page, one for Bolt and one for me, so that every acf member can see his/her score, the 2 functions are
Done. I caught that you changed to use 6/20/2011. Is that your only edit (when you edited your post).

The data is also current as of 9pm EST.
 
Kradek said:
RedHerby said:
It would be cool if you create 2 columns for the score in your page, one for Bolt and one for me, so that every acf member can see his/her score, the 2 functions are
Done. I caught that you changed to use 6/20/2011. Is that your only edit (when you edited your post).
thanks !, yep, the only change, looking at thanks received/sent by Amber, that looks the Thanks Start date, haha, Bolt's function is more bullet proof then mine, mine gives NaN when one or more parameters are zero.
 
AmberCutie said:
Kradek said:
daysMember < 60 ? daysMember : 60
That just means, if the member joined less than sixty days ago, use how long they have been a member, otherwise use the last 60 days (assuming that's the part that was confusing).

As to why limit to 60 days? So you can't rest on your laurels.
So you all have to work to keep your score up, just like we models do on MFC. :lol: :lol:

Hah, just keeps things current, I dig it.

I'm pretty sure this has the exact Opposite Effect. The daysMember is in the denominator.

If you limit the daysMember to 60 then once you have been a member for 2 months your average posts/day and all other averages becomes a fixed amount that only rises more and more with each post. So Amber would currently have about 109 post per day when it is actually about 9.

If you leave the days unrestricted then as more and more time passes without you doing anything your score goes down as the denominator grows.
 
BoltEyeAm said:
AmberCutie said:
Hah, just keeps things current, I dig it.
I'm pretty sure this has the exact Opposite Effect. The daysMember is in the denominator.

If you limit the daysMember to 60 then once you have been a member for 2 months your average posts/day and all other averages becomes a fixed amount that only rises more and more with each post. So Amber would currently have about 109 post per day when it is actually about 9.

If you leave the days unrestricted then as more and more time passes without you doing anything your score goes down as the denominator grows.
I have not studied the Perl code, however I assume that Jawbs SQL statements only counts postings/thanks in the last 60 days, and the "( daysMember < 60 ? daysMember : 60 ) " is added in case a member is less then 60 days a member, see also the last column in Jawbs acfscores.txt
 
BoltEyeAm said:
I'm pretty sure this has the exact Opposite Effect. The daysMember is in the denominator.

If you limit the daysMember to 60 then once you have been a member for 2 months your average posts/day and all other averages becomes a fixed amount that only rises more and more with each post. So Amber would currently have about 109 post per day when it is actually about 9.

If you leave the days unrestricted then as more and more time passes without you doing anything your score goes down as the denominator grows.

it only looks at posts/thanks for the last 60 days as well. So all of the data below is what happened in the last 60 days.

Code:
name                  acf_score  base_score  posts  thanks_received_count  thanks_received_bonus_count  thanks_sent_count  days
JoleneJolene           14889.57    12.90477    506                    997                     235.3523                754    60
Jupiter551             12923.42    11.34907    802                    626                     186.6818                402    60
AmberCutie             12316.98    10.57380    421                    879                     206.7010                192    60

EDIT:
RedHerby said:
I have not studied the Perl code, however I assume that Jawbs SQL statements only counts postings/thanks in the last 60 days, and the "( daysMember < 60 ? daysMember : 60 ) " is added in case a member is less then 60 days a member, see also the last column in Jawbs acfscores.txt
yup - the SQL is limiting the data set to the last 60 days
 
  • Like
Reactions: Always_Tim
Jawbs said:
BoltEyeAm said:
I'm pretty sure this has the exact Opposite Effect. The daysMember is in the denominator.

If you limit the daysMember to 60 then once you have been a member for 2 months your average posts/day and all other averages becomes a fixed amount that only rises more and more with each post. So Amber would currently have about 109 post per day when it is actually about 9.

If you leave the days unrestricted then as more and more time passes without you doing anything your score goes down as the denominator grows.

it only looks at posts/thanks for the last 60 days as well. So all of the data below is what happened in the last 60 days.

Code:
name                  acf_score  base_score  posts  thanks_received_count  thanks_received_bonus_count  thanks_sent_count  days
JoleneJolene           14889.57    12.90477    506                    997                     235.3523                754    60
Jupiter551             12923.42    11.34907    802                    626                     186.6818                402    60
AmberCutie             12316.98    10.57380    421                    879                     206.7010                192    60

EDIT:
RedHerby said:
I have not studied the Perl code, however I assume that Jawbs SQL statements only counts postings/thanks in the last 60 days, and the "( daysMember < 60 ? daysMember : 60 ) " is added in case a member is less then 60 days a member, see also the last column in Jawbs acfscores.txt
yup - the SQL is limiting the data set to the last 60 days

Ok I see what your doing that sounds awesome then. Your working with some extra variables that I didn't consider.

It is good to have a forum admin that knows sql. A few years ago I was a co-admin for a gaming forum and I wasn't given access to do anything SQL based. The site owner just installed Mods and had no means to customize anything specifically for the site. I would spice up the site by editing templates and throwing in a little java-script.
 
BoltEyeAm said:
It is good to have a forum admin that knows sql.
I require all of my husbands to know SQL. Just happens this one is the site admin, too. :D



*And yes that was a joke, he is my one and only husband.
 
  • Like
Reactions: Eva_ChangeN
AmberCutie said:
BoltEyeAm said:
It is good to have a forum admin that knows sql.
I require all of my husbands to know SQL. Just happens this one is the site admin, too. :D

*And yes that was a joke, he is my one and only husband.

I use SQL for a living, where do I find women that highly value SQL skills in their men? It seems like everyone I meet over values things such as humor, honesty and crap like that.
 
Wait a second! 3 different ACF scores? :shock: Can I get a credit card with this then? :mrgreen:
 
  • Like
Reactions: LiLredhairedgrl
Jupiter551 said:
blackxrose said:
Wait a second! 3 different ACF scores? :shock: Can I get a credit card with this then? :mrgreen:
Also NZhere is ranked using the Asian ACF Score
No! :eek: I don't even have credit. I cannot partake in this scamscore lest it ruin my credit before I build it up!
 
I just signed on to check out my recent thank yous. Thanks lovers! Now to find a helper monkey to thank your accounts individually for me.
 
  • Like
Reactions: JoleneBrody
Kradek said:
The page I put together will update hourly, until a site based solution is put in place, then I'll kill it off.
and 5 more columns ? :dance:
Code:
function avgPosts(user) {
   var today        = new Date();
   var joinDate     = new Date(user.JoinDate);
   var daysMember   = dateDiffInDays(today, joinDate);
   return roundNumber(user.Posts/daysMember, 2 );
}

function avgReceived(user) {
   var today        = new Date();
   var thanksStart  = new Date('6/20/2011');
   var joinDate     = new Date(user.JoinDate);
   var daysThanks   = dateDiffInDays(today, joinDate > thanksStart ? joinDate : thanksStart);
   return roundNumber(user.ThanksReceived/daysThanks, 2);
}

function avgSent(user) {
   var today        = new Date();
   var thanksStart  = new Date('6/20/2011');
   var joinDate     = new Date(user.JoinDate);
   var daysThanks   = dateDiffInDays(today, joinDate > thanksStart ? joinDate : thanksStart);
   return roundNumber(user.ThanksSent/daysThanks, 2 );
}

function quality(user) {
   var today        = new Date();
   var thanksStart  = new Date('6/20/2011');
   var joinDate     = new Date(user.JoinDate);
   var daysMember   = dateDiffInDays(today, joinDate);
   var daysThanks   = dateDiffInDays(today, joinDate > thanksStart ? joinDate : thanksStart);
   return roundNumber((user.ThanksReceived/daysThanks)/(user.Posts/daysMember), 2 );
}

function social(user) {
   return roundNumber(user.ThanksSent/user.ThanksReceived, 2 );
}
yeah, there is some performance optimalisation possible, but all the browser builders brag about that their javascript is so fast, so who cares.
 
Status
Not open for further replies.