I'm working on a small (4-6) team on a project that involves creating a machine learning model to predict the outcome of sports matches real-time. This also involves scraping the data and storing it in a database so we can make real-time predictions. We also will be building a simple website to display this data. The client currently has their own popular sports blog, so they plan for the site we're creating to either be an addition (likely just another tab) to their website or a separate site entirely - the client did not specify which, since it likely depends on the quality of our predictions.
Ignoring the user-facing website aspect for the moment (since the website can definitely be done agile-y), the technical aspect alone could take months. Given a deeply technical task like this, is it possible to use agile? It doesn't seem like demoing the technical work done every sprint would be useful to the stakeholder or users, and I don't know what/if requirements could change. Is this task better suited for waterfall, or is there a way to be agile?