DAA-C01 Question 217
Single answer3.4 Perform forecasting.A retail analytics team stores daily sales by product and store in a Snowflake table. They need to generate 30-day forecasts for thousands of product-store combinations directly in Snowflake and expose the results to downstream dashboards. The team wants a solution that minimizes data movement, supports forecasting across many independent series, and returns confidence intervals along with predicted values. Which approach best meets these requirements?
- A
Use Snowflake ML Forecast to train a forecasting model on the historical sales table, specifying the timestamp column, target column, and the product-store identifier columns, then generate future forecasts in Snowflake.
- B
Create a dynamic table that aggregates sales to daily grain and query it with a window function such as AVG() OVER to project the next 30 days for each product-store combination.
- C
Export the data from Snowflake to an external Python service, train ARIMA models for each product-store series, and write only the final predictions back to Snowflake because Snowflake cannot forecast multiple series natively.
- D
Train a classification model in Snowflake ML using product-store identifiers as labels and use class probabilities as the 30-day sales forecast with confidence intervals.
Show answer and explanation
Correct answer: A
Explanation
The best answer is to use Snowflake ML Forecast directly in Snowflake. For applied forecasting scenarios, Snowflake's forecasting capabilities are intended to work with time-series data by specifying the time column, target metric, and optional series columns for multiple independent series. This approach is practical for enterprise analytics because it avoids unnecessary data export, supports large-scale forecasting use cases, and can return forecast intervals in addition to predicted values. By contrast, SQL window functions can summarize or smooth historical data but do not provide model-based forecasts, and classification models are not appropriate for continuous time-series prediction. This aligns with Snowflake best practices to keep data processing and ML operations close to the data when native platform features satisfy the requirement.
- A. Correct.
Correct. Snowflake ML Forecast is designed for time-series forecasting directly in Snowflake. It supports defining a timestamp column, a target column, and one or more series identifier columns so a single forecasting workflow can handle many independent series such as product-store combinations. It can generate future predictions and associated interval estimates in Snowflake, which aligns with the requirements to minimize data movement and support downstream consumption.
- B. Incorrect.
Incorrect. A dynamic table can help maintain transformed data, but window functions like AVG() OVER are not a forecasting method and do not produce robust 30-day forecasts or prediction intervals. This option reflects a common misconception that trend extrapolation with SQL aggregates is equivalent to time-series forecasting.
- C. Incorrect.
Incorrect. Exporting to an external service may be possible in some architectures, but it does not meet the stated goal of minimizing data movement. The claim that Snowflake cannot forecast multiple series natively is also incorrect; Snowflake ML Forecast supports multi-series forecasting using identifier columns.
- D. Incorrect.
Incorrect. Classification predicts discrete classes, not continuous future sales values over time. Class probabilities are not valid substitutes for numeric forecasts or forecast intervals. This distractor targets the misunderstanding between supervised classification and time-series forecasting.