Decision tree with final decision being a linear regression
I think the easiest way to do this would be to have a decision tree where the final decision results in a linear formula.


Setting aside whether this is actually easiest/best, this type of model does exist, usually called "model-based recursive partitioning".  See e.g. https://stats.stackexchange.com/q/78563/232706
There are several packages in R for this: partyfit (and the older simpler party), mob, Cubist; unfortunately, there don't seem to be any in Python yet.  Here's a discussion on including it in sklearn, from mid-2018.