You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
In a production setting a fitted (or loaded, see #507) model is queried repeatedly on new data. Today that path is uneven:
predictions() / comparisons() / slopes() accept newdata=, but predict(), do(), ate() and friends do not. Out-of-sample predict() relies on the user calling pm.set_data() themselves.
Panel models with lag() / adstock() bake n_units / n_times into the scan graph, so scoring a new panel shape means building a new model.
Each query compiles PyTensor functions from scratch, so cold-start latency is high for a service answering many small requests.
A documented route for scoring new panel units / horizons (e.g. forecasting forward from the last observed state).
Cache compiled posterior-predictive / intervention functions on the model so repeated queries with the same shape skip recompilation, plus an explicit warmup() hook for services.
Optional: a thin serializable query/result layer (dict or JSON in, dict or JSON out) that a service wrapper can call directly.
In a production setting a fitted (or loaded, see #507) model is queried repeatedly on new data. Today that path is uneven:
predictions()/comparisons()/slopes()acceptnewdata=, butpredict(),do(),ate()and friends do not. Out-of-samplepredict()relies on the user callingpm.set_data()themselves.lag()/adstock()baken_units/n_timesinto the scan graph, so scoring a new panel shape means building a new model.Proposal
newdata=argument (business units, validated per Data contracts: validate new data against the training schema and add an explicit missing-data policy #512) acrosspredict,do,ate/att/atu/cate, andprob.warmup()hook for services.Part of #509 (production readiness).