Danbooru

Post upload limits

Posted under General

I want to discuss the current formula that limits how much users can upload. In my opinion right now it's broken. It unfairly advantages older users who can effectively upload as much as they want, regardless of what percentage of their uploads end up getting deleted. Some users have upload limits as high as 4700. As a reminder the current formula is:

10 + (a/10) - (d/4)

where a=count of approved posts, d=count of deleted posts

I want to change this formula. My list of requirements for a new formula:

  • It should punish more heavily for deletions
  • At a certain deletion percentage, it should throttle the user from uploading (I suggest at 20%)
  • It should have a short memory (that is, it should only look at posts within the past X months)
  • It should not punish new users too heavily for a few deletions
  • It should have a hard cap

The new formula is this:

(Base * (1 - (chance of deletion / 15))) - (uploads in past 24 hours)

Some major changes:

  • Base is 10, 20, 30, 40, or 50 depending on account age
  • Uploads are capped to 50 a day
  • Everyone can upload at least 10 posts a day
  • All upload counts are scoped to 120 days, so if you are heavily capped now the effect will lessen with time (if your deletion chance goes down)
  • Instead of counting only pending posts, all uploads will be counted. This is to remove the bias for certain time zones where approvers are heavily active
  • Deletion chance is the confidence that your upload will be deleted. At high upload counts it is effectively the percentage of your uploads that ends up deleted. At lower counts it is weighted closer to 0.
  • The limit is heavily biased for deletion chance. If 5% or less of your uploads are deleted you probably won't be affected by the new formula much. If it's closer to 15%, you'll be more heavily penalized. The majority of uploaders effectively have 0% deletion chance.

My belief is that if 15% of your uploads are getting deleted, you should not be able to upload as much as you want. If you are a heavy uploader with a low deletion chance and you want a higher cap, then you should petition for a promotion to contributor.

Updated

What about building a formula similar to the old one, but with weighs changed on function of how old the post is? As in, instead of giving 1/10 for approved and -1/4 for deleted, each post would give something like ((1/sqrt(2Pi Signma^2) e^(-x^2/(2Sigma^2))) times (1/10 if it was approved and -1/4 if it was deleted)) where x is the post's age and Sigma is a few months I guess, and it would be summed for all posts. It just somehow feels like it would be better to have old posts gradually losing importance rather than being counted with maximum importance up till a point and then forgotten immediately.

Schrobby said:

What about leaving the formula as is (KISS) and only compute uploads/deletions of the last 6 months? That way upload limits can't grow gigantic and reflect what the user does now, not years ago.

That's still effectively giving them a blank check to upload however much they want. If we reduced the scope to 2 weeks or something it would basically incentivize them to upload constantly and punish them for breaks or vacations.

Borrator said:

What about building a formula similar to the old one, but with weighs changed on function of how old the post is? As in, instead of giving 1/10 for approved and -1/4 for deleted, each post would give something like ((1/sqrt(2Pi Signma^2) e^(-x^2/(2Sigma^2))) times (1/10 if it was approved and -1/4 if it was deleted)) where x is the post's age and Sigma is a few months I guess, and it would be summed for all posts. It just somehow feels like it would be better to have old posts gradually losing importance rather than being counted with maximum importance up till a point and then forgotten immediately.

I like this idea in theory but you'd still need some pretty severe dropoff to keep inflation down.

I feel like any sort of upload limit near 100 is too much. That means you can effectively upload 80-90 posts a day. Does that much good art really exist that users can sustain that rate day after day, especially with so many other active users?

albert said:

I like this idea in theory but you'd still need some pretty severe dropoff to keep inflation down.

I feel like any sort of upload limit near 100 is too much. That means you can effectively upload 80-90 posts a day. Does that much good art really exist that users can sustain that rate day after day, especially with so many other active users?

If someone can do that without getting too many deletions, why not?

I'd suggest a formula along the lines of x / c, probably with some maximum (for extremely low c). That adjusts the upload limit so that the maximum expected number of pending posts that will be deleted from each user is x.

albert said:

I feel like any sort of upload limit near 100 is too much. That means you can effectively upload 80-90 posts a day. Does that much good art really exist that users can sustain that rate day after day, especially with so many other active users?

Don't forget that some uploads tend to hang in the queue for quite some time. At least it was that way before I got contributor status. I guess with a limit of 100 more than 50 uploads per day is not possible. If the quality is good enough to get the uploads approved really quickly, well, no problem.

albert said:

you'd still need some pretty severe dropoff to keep inflation down.

Then how about the function \Psi as defined in the bottom of page 1 in this document? It is smooth and strictly 0 from twice the "characteristic" time.

Edit: I just read what albert wrote again and realised I had kinda missed the point. Still leaving the link though, since if we actually add a smooth scaling of importance by age, this one seems better than the gaussian I had first proposed as it allows to save time by not making a sum over a huge amount of old posts

Updated

lkjh098 said:

If someone can do that without getting too many deletions, why not?

"Too many deletions" is kinda the crux of it. As it is now if you build up a decent limit to begin with you then have quite a long period of time where you can upload junk and not have to care.

So I came up with a new formula. Instead of dividing like now I use sqrt, so the growth of the upload limit gets progressively smaller. I also balanced it so rising deletions get progressively more important.

The resulting formula is still quite simple:

10 + 2*SQRT(uploads) - 5*SQRT(deletions)

Here are some numbers. First some linear growth to show the rising influence of deletions, than albert's example user data.

https://i.imgur.com/VB5oQI4.jpg

OOZ662 said:

"Too many deletions" is kinda the crux of it. As it is now if you build up a decent limit to begin with you then have quite a long period of time where you can upload junk and not have to care.

That's a problem with the current formula, but my suggested formula (x/c) doesn't have that problem, especially if c is calculated over a relatively short time period like a month. The higher your upload limit, the more it declines per deleted post. You can get a high limit but to keep it you have to continue only uploading quality posts.

Basically I'm saying that high limits are not the problem themselves; the problem is the "long period of time you can upload junk" caused by the current formula.

I've tried various exponential decay algorithms based on post age but they suffer the same problems: distribution is too scattered. I think using a bump function would make this even harder to balance. It also tends to punish low volume uploaders too harshly.

What if we use albert's first formula, only with the approved/deleted post count (d and t) made using a sum of age decay functions? If nothing else, it will be smooth and not punish low volume uploaders

What if, rather than calendar age, decay were based on post-count age? For example, calculations could be based only on a user's most recent 1000 posts, or the weight of a post could begin to decay only once the user has 600 more-recent posts.

One problem is that I wonder if we're looking at this more at "Punish Older Members" but not considering this could really hurt newer members without large stockpiles of Approves that they couldn't hurt them.

Since if we make Deletions hurt everyone much more that means a new user soon may be down to 1 or 2 uploads for their cap if they have a bad uploading streak early on (if not zero... does the system let you get to 0?)

Zelinkokitsune said:

One problem is that I wonder if we're looking at this more at "Punish Older Members" but not considering this could really hurt newer members without large stockpiles of Approves that they couldn't hurt them.

I took care of that by making sure my sqrt formula doesn't hurt newer members with a lower number of uploads as much as older members with many uploads who should know better what is unsuited.

Take a look at the link I posted. The user with 186 uploads and 2.2% deletions has basically the same upload limit as now while the one with 542 and 2.2% has 20% less limit and the one with 3070 and comparable 1.9% has 75% less.

Should we want to boost members with low upload count even more we could simply do that by raising the initial limit from 10 to maybe 15. I think 10 is fine.

About reaching 0, we can either let it happen or define a minimum value you can't fall below. Having that would enable people to endlessly upload crap, though.

Schrobby said:

About reaching 0, we can either let it happen or define a minimum value you can't fall below. Having that would enable people to endlessly upload crap, though.

How about a minimum of one? Better than zero and less likely to upload waves of crap than with the current four.

Schrobby said:

I took care of that by making sure my sqrt formula doesn't hurt newer members with a lower number of uploads as much as older members with many uploads who should know better what is unsuited.

Take a look at the link I posted. The user with 186 uploads and 2.2% deletions has basically the same upload limit as now while the one with 542 and 2.2% has 20% less limit and the one with 3070 and comparable 1.9% has 75% less.

Should we want to boost members with low upload count even more we could simply do that by raising the initial limit from 10 to maybe 15. I think 10 is fine.

About reaching 0, we can either let it happen or define a minimum value you can't fall below. Having that would enable people to endlessly upload crap, though.

Well with 0 it was more a case of having their max capacity being 0 which is effectively BANNED.

The 10 base capacity is fine. I admit I have 152/8 for my ratio so I'm at about 5.3% Deletions (Which outside 2, I have no idea what was wrong with them outside just getting ignored overall). So apparently if I did the math right I go down to 20 approval from my 24 I have now.

1 2 3 4 5 9