Good question, and ofcourse also a 'broad' question.
To simplify, there are ofcourse two dimensions to a matrix, rows (what offers) and columns (what attributes)?
The attributes is the easier one to answer. Typically the OOTB attributes will work fine (compare with what you see in Next Best Action Advisor for example) so starting with those, leaving the attributes out that make less sense to your company typically is a good start.
The more interesting question is around what offers / next best actions to include. There is sometimes a tendency to overdo, so less might be more here - for example starting with some tens max in case of an inbound strategy.
Also optimizing the NBA/offer mix should be an ongoing activity, after going live you will see that certain offers or NBA perform much better than others, so you need to introduce a best practice of continuously optimizing the mix, and actively cull offers that perform less good. This is sometimes a somewhat new practice for marketing orgs that have been 'too reactive' and just take marching orders from P&L. The gold rule is if an offer has proven not to perform, remove it, as it hurths your overall KPIs/experience/CVM return.
To come up with a good offer set, think first of what business issue to address. Is it 'just' sales? Or are there particular business issues that would lead you to decide not to sell - for example retention, fraud, serious service issues etc. For each business issue you can then decide on what offers and offer groups are most relevant, and how to prioritize.