I am currently working on a domain that is fundamentally driven by analytics. I'll use a fictitious example to illustrate my question.
Suppose the application is a service based on House Prices. The goal is to use predictions generated by a data analysis pipeline to help real estate agents make buying and selling decisions. The data analysis pipeline analyzes pricing trends in the market, takes into account seasonality, and specific events to make its predictions. The underlying factors (events, seasonality, etc.) that were used to make the prediction are also surfaced to the users (so the process is not a black-box). The reason for surfacing these factors is to give the real estate agents a justification for why they can ask for a particular price (for example). These results then need to be surfaced to the users (real estate agents) on a web portal.
This is where I am unsure if a Domain Driven Design makes sense or not. For instance, I can see there may be a certain ubiquitous language (I know nothing about real estate) that could be beneficial, for instance. But my concern is that this domain does not really have any invariants that need to be enforced: these are essentially defined by the algorithm behind the analysis and not strictly any business rules. So, the domain models essentially get populated with the results from the analysis. Secondly, I may define a rigid structure like the factors can only be PricingTrend and an abstract Event class that is then sub-classed to define different kinds of events. But, then I can see that the analysis model may evolve rapidly and the domain itself may not be stable enough to be reliably vended out to clients. I'd also need to take care of rampant polymorphism and to define a stable enough core structure for Events. Additionally, if different kinds of Events are identified down the line, the domain model needs to be updated to keep up with the analysis itself. Finally, what if the analysis we were doing turns out to be suboptimal and we fundamentally alter our approach, in that case too, the domain should ideally reflect the change, or else, needs to be abstract enough to absorb such a shift.
So, I am not sure if I get any benefits by using DDD in this context. If not, what else can be used in such a data-driven domain that can still serve as a good representation model that is stable enough to build a service on?
Edit: I can foresee autonomous third-party systems integrating with the system described above to make the buying and selling decisions as well. To maintain a stable integration, I see a need for a stable model abstracted away from the underlying analysis producing the results. For instance, if it is clear that a few generic concepts (like Events above) are stable in the long term, then the problem essentially shifts to properly modelling such a generic class, which the clients can reliably consume. Given this future requirement as well, is DDD a good modelling solution for this case? Also, since the Event types can grow quite drastically (keeping with the analysis pipeline), is DDD ideal for modelling this model-dependent evolving domain?