Host Profit Maximization Thread
This thread is not for troubleshooting. If your host is not working, please ask in a different thread. Off topic posts in this thread will be deleted by the moderator.
Host Profit Strategies
This thread is all about helping hosts figure out how to maximize their profit. Sia has been designed from the very core with hosts and host profit in mind - if you are a host working to maximize your profit, you are going to be helping the network. Sia is fundamentally a competitive marketplace, and does best when the competitors are as strong as possible. This thread is focused entirely on the things you need to do to become competitive, and to help you make decisions like setting the price.
It's worth noting that not all of the core components of the hosting network are in place yet. Sia does not currently do geographic filtering, does not have proof of burn, does not measure latency, and a few other things that we will be adding over the coming months. This means that, to remain a competitive host, you should check this thread at least once a month for changes.
Renters use a scoring system when picking hosts. Each host has a score. Every point counts as 1 ticket in a lottery. All the tickets go into a hat, and then the renter will pick 50 unique hosts from the hat. (hosts cannot be selected multiple times). If you have twice the score of another host, you will have twice the chance of being selected.
Renters use their own criteria for ranking hosts. It's important to understand that it's impossible to see a global ranking for this reason. Some renters will avoid all hosts in certain regions. Some renters will strongly prefer hosts with low bandwidth costs. Some renters will strongly prefer hosts with low storage costs. As we continue to evolve Sia, the variety of renters will grow, so you have to do your best to gauge the overall market situation and focus on your own strengths.
This thread is here to help you figure out the market. Though there's no single chart you can just look at, you can use some
siadtools, the explorers like siapulse.com and siahub.info, and general market sentiment and advice to keep yourself well informed and competitive.
If you are running a renter (this is the default - if you aren't, you probably know it), you can see a full list of hosts by running
siac hostdb -v. This will display the scores of the hosts in your database. Your database is going to look a bit different than everyone else's, but it will give you a general feel for the landscape. You can see in the score column what sorts of scores you have given everyone. Note that these scores are all relative - one of the hosts is set to score '1', and all of the other hosts are given a score relative to this. That's because the actual score is between 10^70 and 10^80 for each host, and that's not very readable. So, in the chart, if your own host has a score of '2000', it means that you are 2000x as likely to be selected as the guy with a score of '1'. And the guy with a score of '4000' is 2x as likely as you to be selected during the host lottery.
Your goal of course is to make as much money as possible. You can increase your score in a number of ways (reviewed below), but the biggest is always price. Lower price means better score and getting selected in the lottery more, but of course it also means you get paid less. So you want to pick a score high enough that you are making as much money as possible, but low enough that you win the lottery regularly and get lots of clients/renters contracting you.
To see the full breakdown of a host, and why they have a certain score, run the command
siac hostdb view [pubkey], using the pubkey of the host. This will display things like their price, their uptime, their collateral, and various penalties.
There are a couple of things that you can be penalized for as a host which are easy enough to avoid. We penalize for them because it makes you a lot less useful and a lot more risky to a renter.
Version. We penalize the older versions because they are usually buggy, slower, or don't scale as well. It also means the host is likely not paying as much attention, and therefore is just generally less likely to be a valuable host. Some versions that have known security vulnerabilities or known significant bugs can receive large penalties. Hosts running v1.1.2 will have their score cut to 1/8th for running an old host, and hosts older than v1.0.0 will have a 1000x penalty on for not upgrading to stable host code.
Storage Remaining: It's a legitimate problem for renters when they form contracts with hosts who then run out of storage space. So hosts with less storage remaining receive penalties. (we will eventually be replacing this penalty with the proof of burn mechanic, but it's not ready yet). In the most recent version, hosts with more than 4 TB of storage receive no penalty at all. If you have less than 1 TB of storage, there is at least a 32x penalty. This may sound severe, but hosts running out of storage space was a significant problem on the network for a while. You can get a big advantage just by making sure you are offering enough storage to the network.
Age: Hosts that are very new to the network are more likely to leave/quit/desert than hosts who have been around for a while. So you get a penalty just for being new to the network. If it is your first day on the network, you are going to have a 128x penalty. 'First day' is counted from the moment you made your first host announcement. Subsequent host announcements will not reset your age. By the time you are 1 week, old, the penalty has reduced to only 16x. And, hosts who have been on the network for more than 6 weeks will have no penalty at all. This one can be frustrating for newcomers, but it's been really useful for making sure people only end up with good hosts. If you are new, you can help fight the age bias with low prices that you raise later.
There is no penalty at all if your uptime is more than 98%. The penalty is very small if your uptime is more than 95% (score is multiplied by 90%). It starts to get nasty after that though. A host with 90% uptime gets a 2x penalty, and a host with 80% uptime gets a 30x penalty. 70% uptime has more than a 1000x penalty and it gets increasingly severe. Most of the penalties follow step functions, but the uptime penalties follow a smooth curve. That is, a host with 91% uptime will have a higher score than a host with 90% uptime. If you can stay above 95% you basically don't have to worry about it.
95% uptime is actually very forgiving. It means that you need to have a host that is running 24/7, but frequent downtime is okay. You do not want to have downtime exceeding 24 hours, and you also do not want to spend more than about 36 hours of downtime total in any 30 day period. But that means you have plenty of time for reboots, for debugging, and other types of maintenance. And it means you can survive events like power outages without a huge impact on your uptime score.
Every time you cut your price in half, your score will go up by 16x. Price is a smooth function, so cutting your price by 1% will have an effect on your score. Renters all look at price slightly different though, based on their usage patterns. Small renters will favor a lower contract price. Renters with lots of archive storage will favor having a low storage price. Renters trying to set up filesharing or a CDN will probably favor a low bandwidth price. Basically, each renter estimates their usage and then looks at the host prices to obtain a 'total cost', and then scores based on the assumed total cost. If you cut your total cost in half, your score will go up by 16x. But, which price variables need to be adjusted to affect total cost the most will be different for each renter.
This essentially boils down to specialization. If you have an abundance of bandwidth, set your bandwidth price very low. If your bandwidth is being over-used and your storage is under-used, raise your bandwidth price and drop your storage price. Every host has different strengths, and you want to set your prices to play to your strengths. But the general strategy is pretty simple: if you have a resource that is under-utilized, set a lower price. If you have a resource that is constrained or saturated, set a higher price.
The contract price serves two purposes. The primary purpose is to pre-pay the transaction fees that the host will need when making the storage proof. The default used to be 30 SC and then 20 SC. We've since lowered the fees on the network by a lot, so now the recommended price is 5 SC. The second reason is to prevent small renters from forming contracts with you, but the network is not big enough at this time for this to be meaningful. Mostly, you just want to make sure it's higher than the transaction fees you will be paying.
Collateral actually has two effects. The first is that it improves your score because renters like to see collateral. But the second is that it reduces your score, because renters have to pay a siafund fee on the collateral. The price penalty only really becomes relevant if your collateral is more than 5x your total cost. Generally speaking you want to target 2-3x collateral vs. price.
Most renters today use linear scoring for the collateral. That is, every time you double your collateral, your score doubles as well. 3.9% of your collateral contributes to the total price, which has a 16x multiplier on it when you double the total price. So if doubling your collateral is enough to move the total price by more than about 20%, it'll actually cause your score to drop instead of increase.
I think that's a good starting point. I will continue to update this post as the ecosystem changes, and I welcome people to discuss their strategies, observations, and overall sentiment regarding the scoring system. The system is complex, but hosts who understand it well and work to optimize their score with both have higher profits, and also be contributing to the network in a more meaningful way.