I'm trying to build a model to predict the percentage of a target audience reached as a function of the amount spent on several media channels (e.g. TV and radio) and the type of campaign. The fitted values of the model should look something like the plot below; i.e. they should have following properties:
- a 'diminishing returns' relationship between reach and spend
- the slope of this relationship depends on the categorical 'campaign' variable
- reach should be zero when spend on all media channels is zero. (Note that while only one media channel is shown on the graph there will actually be two or three that I'm modelling).
I've been using linear regression - I'm open to nonlinear methods though. The diminishing returns property is simple (modelling the log of spend), but I'm having trouble building a model that includes the other two properties. Initially I thought that I could just include an interaction term between campaign and each media spend (to force the slope of the media spend effect to depend on the campaign type) and exclude an intercept (to force points through zero). However, the main effects of campaign type then cause nonzero reach at zero spend for the levels of campaign other than the baseline level. I can fit a model that specifically excludes the main effects of campaign while still including the interaction effects, but I understand that this is bad practice (this model also gives predictions that don't pass a sense-check - although I'm not sure if this is just because I'm fitting an overly flexible model to relatively little data).
Can someone please advise on methods I could try to build a model with the above properties?