This wiki is a read-only version of the Stardew Valley Wiki. The official editable wiki maintained by ConcernedApe can be found at stardewvalleywiki.com

User talk:Nazgutek/Crops Profitability

From Stardew Valley Wiki
Jump to: navigation, search
This is Nazgutek/Crops Profitability's talk page, where you can send messages and comments to Nazgutek/Crops Profitability.
  • Sign and date your posts by typing four tildes (~~~~).
  • Put new text below old text.
  • Be polite.
  • Assume good faith.
  • Don't delete discussions.

Calculation SQL

I used SQL, am depositing it here for reference:

Code 
select c.name as [Name]
, cast(c.buy as varchar(32)) + ' / ' + cast(c.sell as varchar(32)) as [Buy/Sell]
, cast(c.days as varchar(32)) + case when regrow > 0 then '/' + cast(regrow as varchar(32)) else '' end as [Days]
, h.c+1 as [Harvests]
, cast(c.maxdays - c.days - c.regrow * h.c as varchar(32))
    + case (c.maxdays - c.days - c.regrow * h.c)
        when 1 then 'st'
        when 2 then 'nd'
        when 3 then 'rd'
        when 21 then 'st'
        when 22 then 'nd'
        when 23 then 'rd'
        else 'th' end as [Plant By]
, c.sell * (h.c + 1) - c.buy as [Profit]
, cast(cast((c.sell * (h.c + 1)) - c.buy as decimal) / (days + h.c * regrow) as decimal (10,4)) as [Profit/Day]
, cast((cast(power(1 + cast((c.sell * (h.c + 1)) - c.buy as decimal) / c.buy, 1 / cast((days + h.c * regrow) as decimal))as decimal (10,4)) - 1) * 100 as decimal(12,2)) as [RoI%/Day]
, cast(cast(c.xp * (h.c+1) as DECIMAL(10,4)) / (days + h.c * regrow) as DECIMAL(10,4)) AS [XP/Day]
, cast(cast(c.xp * (h.c+1) as DECIMAL(10,4)) / (days + h.c * regrow) / c.buy as DECIMAL(10,4)) AS [XP/Day/GP]

,c.name
+ ' | ' + cast(c.buy as varchar(32)) + ' / ' + cast(c.sell as varchar(32))
+ ' | ' + cast(c.days as varchar(32)) + case when regrow > 0 then '/' + cast(regrow as varchar(32)) else '' end
+ ' | ' + cast(h.c+1 as varchar(32))
+ ' | ' + cast(c.maxdays - c.days - c.regrow * h.c as varchar(32))
    + case (c.maxdays - c.days - c.regrow * h.c)
        when 1 then 'st'
        when 2 then 'nd'
        when 3 then 'rd'
        when 21 then 'st'
        when 22 then 'nd'
        when 23 then 'rd'
        else 'th' end
+ ' | ' + cast(c.sell * (h.c + 1) - c.buy as varchar(32))
+ ' | ' + cast(cast(cast((c.sell * (h.c + 1)) - c.buy as decimal) / (days + h.c * regrow) as decimal (10,4)) as varchar(32))
+ ' | ' + cast(cast((cast(power(1 + cast((c.sell * (h.c + 1)) - c.buy as decimal) / c.buy, 1 / cast((days + h.c * regrow) as decimal))as decimal (10,4)) - 1) * 100 as decimal(12,2)) as varchar(32))
+ ' | ' + isnull(cast(cast(cast(c.xp * (h.c+1) as DECIMAL(10,4)) / (days + h.c * regrow) as DECIMAL(10,4)) as varchar(32)),' - ')
,'|-'+char(13)+char(10)+'|{{name|' + c.name + '}}'
+ '||' + cast(c.buy as varchar(32)) + ' / ' + cast(c.sell as varchar(32))
+ '||' + cast(c.days as varchar(32)) + case when regrow > 0 then '/' + cast(regrow as varchar(32)) else '' end
+ '||' + cast(h.c+1 as varchar(32))
+ '||' + cast(c.maxdays - c.days - c.regrow * h.c as varchar(32))
    + case (c.maxdays - c.days - c.regrow * h.c)
        when 1 then 'st'
        when 2 then 'nd'
        when 3 then 'rd'
        when 21 then 'st'
        when 22 then 'nd'
        when 23 then 'rd'
        else 'th' end
+ '||' + cast(c.sell * (h.c + 1) - c.buy as varchar(32))
+ '||' + cast(cast(cast((c.sell * (h.c + 1)) - c.buy as decimal) / (days + h.c * regrow) as decimal (10,4)) as varchar(32))
+ '||' + cast(cast((cast(power(1 + cast((c.sell * (h.c + 1)) - c.buy as decimal) / c.buy, 1 / cast((days + h.c * regrow) as decimal))as decimal (10,4)) - 1) * 100 as decimal(12,2)) as varchar(32))
+ '||' + isnull(cast(cast(cast(c.xp * (h.c+1) as DECIMAL(10,4)) / (days + h.c * regrow) as DECIMAL(10,4)) as varchar(32)),' - ')


from (values 
 (101,'Blue Jazz',30,50,7,0,28,10)
,(102,'Cauliflower',80,175,12,0,28,23)
,(103,'Garlic',40,60,4,0,28,12)
,(104,'Green Bean',60,40,10,3,28,9)
,(105,'Kale',70,110,6,0,28,17)
,(106,'Parsnip',20,35,4,0,28,8)
,(107,'Potato',50,100/*80*/,6,0,28,14)
,(108,'Rhubarb',100,220,13,0,28,26)
,(109,'Strawberry',100,120,8,4,28,18)
,(110,'Tulip',20,30,6,0,28,7)
,(111,'Coffee Bean',60,60,10,2,56,4)
,(112,'Ancient Fruit',1000,550,28,7,84,43)
,(201,'Blueberry',80,150,13,4,28,14)
,(202,'Corn',150,50,14,4,56,10)
,(203,'Hops',60,25,11,1,28,6)
,(204,'Hot Pepper',40,40,5,3,28,9)
,(205,'Melon',80,250,12,0,28,27)
,(206,'Radish',40,90,6,0,28,15)
,(207,'Red Cabbage', 100,260,9,0,28,28)
,(208,'Starfruit', 400,750,13,0,28,44)
,(209,'Tomato', 50,60,11,4,28,12)
,(210,'Wheat', 10,25,4,0,28,6)
,(211,'Poppy', 100,140,7,0,28,20)
,(212,'Summer Spangle', 50,90,8,0,28,15)
,(213,'Sunflower', 200,80,8,0,28,14)
,(214,'Coffee Bean',60,60,10,2,28,4)
,(215,'Ancient Fruit',1000,550,28,7,56,43)
,(301,'Amaranth',70,150,7,0,28,21)
,(302,'Artichoke',30,160,8,0,28,22)
,(303,'Beet',20,100,6,0,28,16)
,(304,'Bok Choy',50,80,4,0,28,14)
,(305,'Cranberries',240,150,7,5,28,19)
,(306,'Eggplant',20,60,5,5,28,12)
,(307,'Grape',60,80,10,3,28,14)
,(308,'Pumpkin',100,320,13,0,28,31)
,(309,'Yam',60,160,10,0,28,22)
,(310,'Fairy Rose',200,290,12,0,28,29)
,(311,'Sunflower', 200,80,8,0,28,14)
,(312,'Corn',150,50,14,4,28,10)
,(313,'Sweet Gem Berry',1000,3000,24,0,28,64)
,(199,'Spring Seeds',35,87,7,0,28,3)
,(299,'Summer Seeds',55,183,7,0,28,3)
,(399,'Fall Seeds',45,112,7,0,28,3)
,(499,'Winter Seeds',30,87,7,0,28,3)
,(599,'Cactus Fruit',150,75,12,3,28,14)
)
as c(id, name, buy, sell, days, regrow, maxdays,xp)
inner join (
values (0),(1),(2),(3),(4),(5),(6),(7),(8),(9),(10),(11),(12),(13),(14),(15),(16),(17),(18),(19),(20),(21),(22)
) as h(c)
on (c.maxdays - c.days - c.regrow * h.c > 0) and (c.regrow > 0 or h.c = 0)
where c.maxdays - c.days - c.regrow * h.c <= 28
order by c.id, h.c desc

--Nazgutek (talk) 09:12, 7 August 2018

Return on Investment

This statistic is (in practical terms) not very useful for game play, except perhaps in Spring of year 1. ROI reaps its benefits from the compounding of profits through reinvestment back into the original investment (similar to compound interest). In terms of crops, it requires reinvestment in more seeds, and replanting, both of the original number of crop plants, plus any additional derived from the profits. Parsnips give the greatest ROI return of any seed available at the start of the game, which makes them most useful at the start. I tend to recommend taking Lewis's gift and buying as many parsnip seeds as the initial money will allow (less something for Green Beans, which are needed for the Community Center bundle, and which only get a decent return by growing them all season). With the parsnips, you get profit on day 5, so you have the earliest possible opportunity to get and re-use profits, plus the maximum ROI for a starter crop.

It turns out that this works for Coffee Beans also. Buy one at the Traveling Cart as soon as one is available. Even with the killer price of 2500g, it will reap major benefits til the end of summer if you plant it, and then plant the new beans as soon as the earlier ones begin to produce (direct reinvestment). ROI will generate 1000s of gold per day by summer if you keep planting until you reach around 100 plants at least. Best results if you scrape together the price by Spring 5, the earliest that Coffee Beans can ever be obtained (and they're not always offered then).

But the quick expansion in this game is not sustainable beyond a couple of parsnip harvests (coffee takes more time). You will run out of energy for planting and watering. True, you will level up your farming quite well (improving your efficiency), but not soon enough to squelch most other activity, which has its own negative consequences. For example, you'll need to do some fishing to get some of the money for that first Coffee Bean. And mining gets important pretty fast. And clearing land takes yet more energy. You could use triple what you have for a day, and you will have (as yet) few ways to get more (good luck with your foraging!). This is not like investing in the stock market, where someone else is doing the work.

But start here, and you'll soon begin to see the balances that will help you make later crop investments, in light of your total activity, not just your return on effort (energy). For ROE turns out to be more significant than ROI in the long term, and farming is only one of the activities to explore and enjoy. And later in the game, you will discover artisan goods and the equipment that makes them from crops and the profits(!) that accrue from them. And the building of the infrastructure that they require, and the materials you must collect to do that building, etc. There are many choices to be made at any given time, but short-term profit is not always the most important consideration. In fact, it seldom is (except for the first 10 days). I find that rather nice - a little more like the real world.

May all your activities take root and grow in their benefits! Butterbur (talk) 16:49, 7 August 2018 (BST)

Yes, the RoI quickly becomes less relevant than just raw profit per crop space, but it's included for completeness' sake Nazgutek (talk) 16:57, 7 August 2018 (BST)
Sure, no argument here. I just thought some perspective on it might be useful. It's come up before, which has proven that the raw numbers need careful interpretation. Balance produces "best" results, and what "best" means is defined by each player, but within certain bounds regulated by the game. Butterbur (talk) 22:50, 7 August 2018 (BST)