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

Staking

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:

  1. Funds were added to the reward pots to simulate trading commission

  2. The reward pot balance was logged

  3. A payout was made to simulate the reward payouts

  4. The final balance was logged

  5. 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:

  1. Add weekly revenue to reward pot

  2. Calculate the percentage to pay out for rewards

  3. Deduct the paid amount from the reward pot

  4. 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:

Staking

Last updated