It's actually a logarithmic function relative to the total hash power on the network. Difficulty actually chases the total power around in response. That's should be but alas it's not good news.
Difficulty will double in response to the total power doubling which will result in you getting halve the reward per hash. You can tell when the difficulty will increase anytime you see the time between blocks below 10 minutes. Since it is now at 8.23 minutes difficulty must increase. Capacity is increasing so quickly that the time between blocks is not changing quickly enough to accurately regulate the rate so it's been below 10 minutes for awhile.
I first thought it would take a long time for the network power to double. I just checked an OMG it doubled in about 60 days.
That is roughly the equivalent of 857,000 S9 miners. I'd be surprised if Bitmain shipped 7,000 miners in the last 60 days. It is obvious that the number of enterprise mining facilities going on-line is epic. The cost and availability of S9s is completely irrelevant to the difficulty.
I read a story where a Canadian Hydro-Electric power company conceded they will not be able to service all the mining applications they received. Holy electron flow Batman. Some of that was from Chinese miners looking to relocate but not all. They said they are getting multiple applications per day, none of which can they supply. Other power companies are starting to deny applications for political reasons.
The law of large numbers, power generation and politics will eventually lengthen the time it takes to double capacity. If the same number of facilities go online in the next 60 days, that'll only be a 50% increase to the total network.
Since the peak in December net profits from S9s was cut in 1/2 by network capacity and 1/3 by BTC value and a bit by transaction fees reduction.
The only way to save the S9 profitability is to increase the value of BTC, or anything else SHA-256 mine-able. If BTC value goes to $100k we'll all be feeling smart again.