It is obvious that transaction fees drastically dropped because there are less transaction that is happening per day, less transaction means there will be no congestion of unconfirmed transactions and less congestion means transaction fees will be cheaper. About segwit, when it was released only few people are talking about it and only few services immediately supported it, but when transaction fees became more expensive last year that is the time that people are switching from legacy to segwit address, personally I think that segwit is also one of the reason why transaction fees are now cheaper, because more Bitcoin investors and traders are adopting it.