DAA-C01 Question 105
Single answerML functionsA retail analytics team stores historical daily sales in Snowflake and wants to generate short-term demand forecasts directly in SQL for thousands of product-store combinations. They need a solution that minimizes data movement, supports forecasting across many independent time series, and returns confidence intervals so planners can evaluate uncertainty. Which approach should the data analyst recommend?
- A
Use the SNOWFLAKE.ML.FORECAST function on the historical data, grouping by product and store, and generate predictions with prediction intervals directly in Snowflake.
- B
Use the SNOWFLAKE.ML.CLASSIFY function because demand forecasting is a categorical prediction problem when predicting whether sales go up or down.
- C
Export the data to an external notebook, train a separate ARIMA model for each product-store combination, and reload the results because Snowflake ML functions do not support multiple time series.
- D
Use the SNOWFLAKE.ML.ANOMALY_DETECTION function because anomaly scores can be converted into future sales estimates with confidence intervals.
Show answer and explanation
Correct answer: A
Explanation
The best answer is to use SNOWFLAKE.ML.FORECAST directly in Snowflake. For a large retail forecasting use case with many product-store combinations, Snowflake ML Functions are designed to reduce operational complexity by keeping data in-platform and allowing SQL-based model creation and inference. FORECAST is the appropriate ML function for time-series prediction, and it supports multiple series through identifier columns so each product-store combination can be modeled as a separate series. It also returns forecast results with interval bounds, which helps business users assess uncertainty in the predictions. By contrast, CLASSIFY is for categorical labels, not numeric demand forecasting, and ANOMALY_DETECTION identifies outliers rather than future values. Snowflake documentation for ML Functions and FORECAST describes in-database forecasting workflows, including handling multiple time series and returning prediction interval information, which directly matches this scenario.
- A. Correct.
Correct. Snowflake ML Functions include forecasting capabilities designed to work directly on data in Snowflake. FORECAST is appropriate for time-series prediction tasks such as daily sales forecasting. It supports forecasting for multiple series by specifying series identifiers, which fits the product-store scenario. It also provides forecast output with interval information, which is important when planners need uncertainty estimates. This aligns with the requirement to minimize data movement and perform forecasting in SQL within Snowflake.
- B. Incorrect.
Incorrect. CLASSIFY is intended for classification use cases where the target is a discrete label, such as churn/not churn or fraud/not fraud. Forecasting daily sales is a regression/time-series problem, not a classification problem. Converting the business question into 'up or down' would lose the required numeric sales forecast and would not satisfy the need for confidence intervals on future sales values.
- C. Incorrect.
Incorrect. While exporting data and training external models is possible, it does not meet the stated goal of minimizing data movement. More importantly, the claim that Snowflake ML functions do not support multiple time series is wrong. FORECAST is specifically designed to operate in Snowflake and can handle many independent series when configured appropriately. This option reflects a common misconception that time-series forecasting in Snowflake must be done outside the platform.
- D. Incorrect.
Incorrect. ANOMALY_DETECTION is used to identify unusual observations relative to historical patterns, not to produce forward-looking forecasts. Anomaly scores are not equivalent to predicted future values, and they do not serve as forecast confidence intervals. This option confuses monitoring for unusual behavior with estimating future demand.