Stress Testing
What is stress testing?
Stress testing is a form of deliberately intense or thorough testing, used to determine the stability of a given system, critical infrastructure or entity. It involves testing beyond normal operational capacity, often to a breaking point, in order to observe the results.
The StocksFC Reward system has been stress tested in the following 3 scenarios:
User growth & deposits consistently increase;
User growth stops but deposits increase;
User growth & deposits consistently decrease
Stress Testing was conducted without the use of Staking Yields which would further strengthen the reward system
Stress Testing Results
Stress testing has been conducted over varying periods from 1 month to 5 years by using the basic percentage reward system with no further improvements (The same as we used in our beta programme).
The results of all testing periods provided similar results in all 3 scenarios as results showed that the reward system naturally adjusted itself to find stability in all scenarios.
Below is the results of our tests over a 12 week period.
In each test:
Funds were added to the reward pots to simulate trading commission
The reward pot balance was logged
A payout was made to simulate the reward payouts
The final balance was logged
Repeated the above for the further weeks
Scenario 1 - User growth & deposits consistently increase
In Scenario 1, as expected, we can see that as more money is added to the pots, the payouts increase over time. The buffer between the payout value and balance before payout also increases. As this buffer grows, it provides added protection in future downturns and can slow down the impact of declining market circumstances.
Scenario 2 - User growth stops, deposits increase
In Scenario 2, funds added to the reward pots remained the same. In these circumstances, the rewards would eventually level out and remain the same every week.
Scenario 3 - User growth & deposits consistently decrease
In Scenario 3, we can see that funds added to the reward pots become lower over time. But, this doesn't have an instant impact on the payouts. Reward payouts actually rise for 6 weeks before any downturn. If the market became stronger during this period, it is unlikely that there would be any noticeable effect on reward payouts.
How did we make the reward system even stronger?
By using an algorithm to automatically adjust the reward payout percentage depending on the previous week's reward wallet income. We have created an extremely strong reward system that adapts incredibly well to market upturns and downturns.
Automatic algorithmic reward adjustment testing results
The goal of this reward systems test is to see if it is possible to keep paying rewards at a stable and consistent level in all 3 scenarios. But, using a new and improved algorithm to regularly adjust reward payouts:
Low User deposits and declining reward pots
Linear deposits and stable value reward pots
Growing number of user deposits and reward pot growth
Firstly, we created a program that will simulate the following:
A total of 1,000 tests for each of the above 3 scenarios
Each test will simulate 104 weeks (2 years)
The starting reward pot balance is $1,000
The starting payout percentage is set to 15%
Before each run, the program will use a random number for weekly revenue
Low User deposits = random weekly revenue between $1-$200
Linear User deposits = random weekly revenue between $100 - $1.000
Growing User deposits = random weekly revenue between $1,000-$10,000
The program rules:
Add weekly revenue to reward pot
Calculate the percentage to pay out for rewards
Deduct the paid amount from the reward pot
Run this test 1,000 times for each of the 3 scenarios to find:
4.1 Log Average reward payout in all 3 scenarios
4.2 Log Final reward pot balance after 104 weeks of using the system in each scenario
How the algorithm will work (Team of the week):
Before Rewards are calculated on Tuesday morning, the reward pot balance is checked and compared to the balance of the previous week at the same point.
If the current reward pot balance has increased by 12% compared to the previous reward pot balance => raise the reward payout percentage by 1%
If the current reward pot balance has decreased by 12% compared to the previous reward pot balance => decrease the reward payout percentage by 2%
The increase and decrease required for the payout percentage to change
The payout percentage cannot go lower than 5% or higher than 15%
Test Results
Low User Deposit Scenario
Average reward payout across 104 weeks: $108
Final reward pot balance after 104 weeks: $464
Linear Deposit Scenario
Average reward payout across 104 weeks: $418
Final reward pot balance after 104 weeks: $3,764
Growing Deposit Scenario
Average reward payout across 104 weeks: $4,267
Final reward pot balance after 104 weeks: $22,403
Reviewing the results
The above results show that by using a system to lower and raise the payout percentage before each week, depending on the current balance of the pot and the weekly revenue generated
The reward system can adapt to periods of low user activity and deposits and still payout rewards for these periods.
In times of user growth, the reward pots will rise and the payouts will rise
When a period of growth occurs and then the growth stops or declines, the previous growth period will support the oncoming downturn. As we can see in the third scenario, although payouts are high, the reward pots have also grown by a large amount
And then we strengthened it even further by using staking to support the reward pots:
StakingLast updated