Yeah I think I'd have the ratio requirements gradually rising like what.cd anyway. Although in truth it depends on what your site is. The Pedro's community is mostly fine with 0.8 across the whole community at all times, but they're just a different bunch of people, and up until recently, and even still now, have had nowhere near as many seedboxes in the community so it's been far easier to seed than at what anyway. The ideal is to work out an implementation which could work for seedboxes coexisting with normal users and everything still being fair, and I think it can be done that way - but in what.cd's case it's a matter of transitioning - what you've done is probably the best way to have scaled the algorithm for the time being. I think we're all going to see how it plays out at what and if things need to be tweaked further (to make it even fairer to download at what.cd while not making any other part of the system less fair) - I hope they will be.
So really, if you run the math, your formula and our formula are exactly the same - it's just that you consider "good enough" seeding time to be 7 days, and we consider "good enough" seeding time to be 72 hours.
Are you sure? Isn't it that mine was rewarding users small amounts for a torrent if they seed less than 72 hours in the last week and and larger amounts if they seed that torrent more than 72 hours? And yours is only rewarding people a set amount for each torrent seeded in each week, so long as it is at least 72 hours?
The 72 hour thing, while it may look a tad lenient of us, is because we consider someone who seeds 72 hours of the week to be seeding 'enough', and we don't want to place the harsh expectation of seeding 24/7 on them. It also gives them some buffer time where they don't have to be seeding - eg. formatting computer, going away for the weekend, etc. Not expecting people to seed 24/7 is almost exactly like not expecting them to maintain ratios of 1.0. While it may seem unfair for people who seed more than 72 hours per week (and while we do prefer people to seed longer), we feel that it isn't necessary to reward them with the requirement system - they'll be rewarded with the extra upload they get.
The reason I thought of my particular algorithm was because someone pointed out that seeding 10 torrents for 144 hours ought to be rewarded as much as 20 torrents seeding for 72 hours, but under the current what.cd system, it would only be rewarded half.
However, I just realised that to be even fairer and more accurate on rewarding a user's seeding contribution (which is what it's all about), you should reward them according to how many bytes of torrents they are seeding in those seedhours. Someone could download ten 20GB torrents and ten 5MB torrents and then just seed the 5MB torrents and be rewarded exactly the same amount as if they seeded that other 200GB worth of torrents that they snatched.
So an even better algorithm would be:
Requirement = Current requirement*[1-(total sum of each torrent's seedhours multiplied by its size in bytes)/(total possible seedhours multiplied by the accumulative size of all snatched torrents in bytes)] where "each torrent's seedhours" is the number of collective hours seeded by that torrent in the past week and "total possible seedhours" is 24 x 7 x the number of snatched torrents - the most you could possible contribute seeding-wise. "Hours" being calculated by the minute, ofc.
I'm trying to think of how you would implement a "good enough" value (an equivalent of the "minimum bar" 72 hours thing in what what.cd algorithm) into this different algorithm which measures bytes being seeded, not how many hours being seeded. I don't think it can. There's only one variable in my latest algorithm, and thats the percentage of total possible seeding contribution of all your past downloaded bytes, in the last week. So then to set a "good enough" measure, perhaps you could just set some percentage (50%, which would be pretty dang good for someone who's downloaded a lot) and if you reach that, you are taken to 0.0. Depends what you'd consider as good seeding contribution and how much you wanted to reward the user for it.
I think doing it this way would be much better because currently if someone seeds a torrent for 71 hours they're not rewarded at all - yet just one more hour and they're rewarded the same amount as if they seeded for the whole 168 hours in the week. All you'd have to do to make the more literal approach fair, is scale it gentler by setting a lower bar and a faster upscale of how much you reward their seeding byte size contribution.
All in all, this entire concept is merely the same old system we've had, but now with an extra seed bonus system on top which the user can make use of if they find they need it (which many sure do). It's a very smart automatically-managed bonus system which all you have to do is scale it to how much you want it to help the user.