So, in my case, one of the use cases I picked was demand forecasting in manufacturing. So, first, we cast it as a machine learning problem and asked what is being predicted? Well, because we're doing demand forecasting in manufacturing, what is being predicted is how many units of widgets X should be manufactured this month. For example, if you're making phone display panels, how many phone display panels of a four-inch screen or a six-inch screen should we manufacture this month? So that is what is being predicted. So when we cast it as a machine learning problem, the next question is, what data do we need? Well, if you want to be predicting how many units of that widget to manufacture, what data do we need? Well, we need historical data on the number of units sold, how many units did we sell last month, how many units did we sell the month before, et cetera. We also need to know the price that it was sold at, the number of units that were returned, the price of any competitor product out there, and the number of units of all items that use widgets X. So if you're making phone display screens, how many smartphones are sold regardless of which display panel they carried or whether it was ours or our competitors? We will also need other data like economic figures, customer confidence, interest rate, what happened this month, last year et cetera. The second framing is as a software problem. What is the API of the service? Well, the method in the API could be predicted demand, and what does it take? The inputs might be the widget ID and the month that we want to do this prediction for, with the default value for the month being the current month. Notice that in this API, we are only asking for the widget ID and the time. We are not asking for all this other ancillary data that our machine learning model needed. We're not asking the end user to give us how many smartphone units were sold last month. That is something that we would have to collect ourselves. Next part of the framing as a software problem is who's going to use the service? And because it's the demand forecasting thing, we might think that the users might be product managers, might be logistics managers, et cetera. How are they doing it today? They examine trends of phone sales, overall economy, trade publications, and they somehow make a decision. The third framing is as a data problem. So what kind of data do we need to collect? The things that we need to collect, A, for training are all the data, but for also for prediction, we need to collect all the data except for the data that we can expect the end user to give us. So what data do we need to collect? We need to collect the economic data, the competitor data, the industry data, data from our company itself. And what data do we need to analyze? Well, we need to analyze all these datasets so that we can craft features that our experts are looking at today from this data, and we need to take those features and use them as inputs to our model. And what is our reaction? How do we react to a prediction of demand? One way that we could do reaction might be that if we predicted that demand is going to increase, we automatically go ahead and put out orders to our suppliers for more of the things that they provide to us. So the reaction might be automatic.