v1.2.1

Breaking Down The Stalk Market

Written By: /u/Edricus - Discord: Kelauron#2495

Publication Date: April 1st, 2020

Special Thanks: Ninji

Version: 1.2.1

Preface 3

Daisy’s Selling Price 4

Stalk Market Patterns 4

Pattern Types 4

The First Week 4

Assigning A New Pattern 5

Pattern Phases 5

Random 6

Important Takeaways 8

Tips 8

Large Spike 9

Important Takeaways 10

Tips 11

Decreasing 12

Important Takeaways 12

Tips 12

Small Spike 13

Important Takeaways 14

Tips 14

Overall Takeaways 15

Lowest Possible Price 15

Highest Possible Price 15

Time Travel Effects 15

Change Log 16

________________

Preface

Before we begin, I’d like to thank Ninji who was the first person to publish the datamined code. Up until then, many channels had been analyzing a week's worth of data to try and find some patterns but more importantly to see if they have changed since the previous game.

With the data mined code for how turnips are calculated, we can now reverse engineer the process and get a peek into how things work to help us better predict our Stalk Market trends.

Additionally, I would like to thank several people who gave this paper an initial read and helped with general editing. Without them I likely wouldn’t have caught several of the small errors that were made and resolved.

A reminder that all this is solely based on the data mined code that was provided. If you have observed anything different than what is stated here, I encourage you to submit your information along with some proof. Preferably a screenshot or data set if possible.

The goal of this paper is to take a deep dive into the code and really explore all of the numbers and algorithms at play. With that said, let's get to it! Enjoy!

________________

Daisy’s Selling Price

During the analyzing process many people had written off the idea that the price that Daisy sells at played any sort of factor in determining how your weekly turnip prices are calculated. What we know now is that it does play a role! But what we also know now is what range those prices are locked in at.

This is very simple. Daisy’s price is calculated based on a random integer between 90 and 110. So in other words, Daisy will never sell you turnips for less than 90 or more than 110. From this moment forward, let’s refer to this number as the base price.

A very important note is that the base price is the sell price on your respective island and not anyone else's that you may have purchased from. Even if you purchased Turnips at 90 Bells from your friend but your island’s Daisy was selling at 100, that would be the base price for your weekly pricing.

Stalk Market Patterns

Upon investigation of the code, one of the first things that happens after randomizing Daisy’s sale price is determining what your pattern for this week will be. Interestingly, the pattern you received last week plays a pivotal role in determining what pattern you will get next week. Let’s start by defining what pattern types are present in this game.

Pattern Types

The patterns are defined by a simple integer value between 0 and 3 inclusive.

Pattern Identifier

Pattern Name

0

Random

1

Large Spike

2

Decreasing

3

Small Spike

The First Week

You may be wondering how the game determines what pattern you should receive the very first time you buy Turnips from Daisy. Since at this point you never had a previous pattern what happens? There is a special chunk of logic to deal with just that. If a previous pattern is not detected and it's the first time you’ve ever bought Turnips then your pattern is immediately set to Pattern 3 - Small Spike.

Assigning A New Pattern

Each type of pattern listed above has a percentage table assigned to it. This percentage represents the chance of you receiving a particular pattern as your next one.

Percentage Matrix

Random

Large Spike

Decreasing

Small Spike

Random

20%

30%

15%

35%

Large Spike

50%

5%

20%

25%

Decreasing

25%

45%

5%

25%

Small Spike

45%

25%

15%

15%

The left column is last week’s pattern and the top row is your next possible pattern for the current week. For example when receiving a Small Spike pattern on Week 1, you have a 45% chance of receiving the Random pattern on Week 2. A 25% chance for a Large Spike, a 15% chance for a Decreasing pattern and a 15% chance for another Small Spike pattern. A reminder that just because you may receive the same pattern again, does not mean the values within the pattern will be exactly the same. It just means that if you had plotted out the data on a chart, the overall trend would be the same.

Pattern Phases

Okay, so now we understand how different patterns are chosen each week but you are likely wondering how each pattern got its name. Well the answer to that lays in another concept uncovered in the data mine which we will call Phases.

Different patterns have different types and amounts of phases. They also have varying lengths. I will do my best to break down each one below by pattern. For the sake of easy explanation let us assume that our base price is 100 Bells unless otherwise stated in an example.

It is also worth noting the following important points

* The length of each phase is represented in half days and is determined according to the criteria in each patterns chart below

* One week has 12 assigned prices otherwise known as half days

* An AM and PM price for each day

* Prices reset at 12 AM and 12 PM respectively

* However since the Nook shop doesn’t open until 8 AM you effectively only have access to the AM price for 4 hours

* This is also the reason why half days are used

Random

Probably one of the most nerve wracking patterns to be in. This is broken down into 2 major phases. They are listed below.

1. Decreasing Phase

2. Increasing Phase

The interesting thing here is that each of those phases happen an exact amount of times each week. There will always be 2 Decreasing Phases and 3 Increasing Phases. The chart below describes the phase and the order they happen in.

Phase

How Length Is Determined

Increasing Phase 1

May Not Occur

A random amount between 0 and 6 half days

Decreasing Phase 1

50% chance of being 2 half days

50% chance of being 3 half days

Increasing Phase 2

This one is interesting as it breaks down into two calculations. First we determine a temporary length with the following formula.

Temp Length

7 half days - Increasing Phase 1 Length

Example

Increasing Phase 1 Length set to 4 half days

Temp Length

7 - 4 = 3 half days

Then we determine Increasing Phase 3s length below. Please read that section before proceeding in this cell. Once that is determined we use the following formula.

Temp Length - Increasing Phase 3 Length

Our range was between 0 & 2 Half Days

Let’s say we randomized 2 Half days.

3 - 2 = 1 Half Day

Decreasing Phase 2

5 half days - Decreasing Phase 1 Length

Example

Decreasing Phase 1 Length

3 half days

Decreasing Phase 2 Length

5 - 3 = 2 half days

Increasing Phase 3

May Not Occur

A random amount between 0 and Increase Phase 2 Temp Length - 1

Example

Increasing Phase 2 Temp Length set to 3 half days

3 - 1 = 2 half days

Our range is now between 0 and 2 Half Days inclusive.

Below is the order in which these phases happen

1. Increasing Phase 1

2. Decreasing Phase 1

3. Increasing Phase 2

4. Decreasing Phase 2

5. Increasing Phase 3

Additionally, each phase above acts on our base price (which remember is 100 for now) in a different way. Note that Bells are always rounded UP to the closest integer. See the chart below.

Phase

Algorithm

Description

Increasing Phase 1

Random between 90% and 140% of your base price

This does mean that in this phase Nook’s buying price may be 10% lower than what you bought for but up to 40% higher as well.

In our example our min and max would be

0.9 * 100 = 90 Bells

1.4 * 100 = 140 Bells

Decreasing Phase 1

Initial starting base rate is random between 60% and 80% of your base price

Every half day this base rate drops by 4% to 10% for the length of this phase

In our description above, the length of the decreasing phase was either 2 or 3 half days.

Let’s assume we got 2 half days as our length. At worst this would mean the following would occur.

Initial Base Rate: 60%

Monday AM: 60% of 100 = 60 Bells

Monday PM: 50% of 100 = 50 Bells

Increasing Phase 2

Same as Increasing Phase 1

At this point you can start to see why this is labelled Random Pattern. Now we just get similar sporadic numbers to Increasing Phase 1.

Decreasing Phase 2

Same as Decreasing Phase 1

Basically at this point the pattern has repeated with one more Increasing Phase to go and that’s it.

Increasing Phase 3

Same as Increasing Phase 1

We’ve now come full circle. The ride is over.

Important Takeaways

In a Random Pattern your maximum profit will only ever be 140% of whatever your base price was. So in our example, 140 Bells would be the most we’d ever see in this pattern. The interesting part of this pattern is its variable phase length.

Tips

Your best bet here if you don’t have any friends whose island you can visit is to sell the moment it is higher than your buying price. Unless of course RNG is not in your favor and during the Increasing Phase you always get 90% of your base price. But that likelihood is low. You are much more likely to either break even or make a semi-decent profit.

________________

Large Spike

Likely the most exciting pattern to be in. When the second phase