Data science
Forecasts without the team.
Ask for a forecast and Synopsis writes a real Python notebook against your warehouse — seasonality fitted, every step visible, ready for an analyst to open and extend.
# generated: revenue forecast, next 2 quartersimport pandas as pddf = warehouse.query("SELECT month, revenue FROM metrics.revenue_monthly")model = fit_seasonal(df, period=12)forecast = model.predict(6)Not a black box
Real Python, on your warehouse.
This isn't a chart with a "trend" button. Synopsis generates an actual notebook — data pull, model, output — and runs it against your whole warehouse, where every system is already joined. The work is real, and you can read every line of it.
- Generated end to end. Ask the question; the notebook, the query, and the model come back written.
- All of your data. Inputs come from the joined warehouse — orders, billing, product, support — not one system's export.
- Assumptions in the open. Every step is a readable cell, not a number of unknown origin.
# generated: repeat-purchase cohorts by first-order monthcohorts = warehouse.query("SELECT * FROM metrics.cohort_orders")rates = cohorts.pivot("cohort","month","repeat_rate")heatmap(rates)# every input traceable to source systemsInputs: orders · billing · product events
Forecasting
Forecasts that fit your seasonality.
A straight line through a seasonal business is a wrong answer with confidence. Synopsis fits the forecast to your own history — your busy season, your slow months, your cycle — and keeps the projected segment clearly marked as a projection.
- Fitted to your history. The model learns your pattern from your data, not an industry template.
- Honest about the future. Actuals are solid; the forecast is dashed. Nobody mistakes one for the other.
- Updated as actuals land. New data flows in continuously, and the forecast re-fits with it.
Yours to extend
Your analysts can open every notebook.
Generated doesn't mean locked. Anyone on your team who writes Python can open the notebook behind any forecast, change an assumption, add a driver, or swap the model — and the result keeps running on live warehouse data.
- Edit any cell. The generated code is a starting point, not a sealed artifact.
- Add what the model missed. Fold in a new driver or segment and re-run against the full history.
- Stays live. Edited notebooks keep running on fresh data, the same as generated ones.
# generated by Synopsis — extended by your analystmodel = fit_seasonal(df, period=12)# analyst: add promo calendar as a driverpromos = warehouse.query("SELECT * FROM metrics.promo_calendar")model.add_regressor(promos)forecast = model.predict(6)What your team gets
Data science, without the hiring plan.
No data science team required
Ask in plain English. The notebook, the model, and the chart come back done.
Real notebooks
Actual Python you can read, run, and version — not a widget pretending to be analysis.
Whole-warehouse inputs
Models draw on every connected system at once, joined on shared keys.
Seasonality built in
Forecasts fit your cycle from your own history — busy season and all.
Clearly marked projections
Actuals and forecasts are visibly different, so nobody plans against a guess.
A head start for analysts
If you have analysts, they start from working code instead of a blank cell.
Keep exploring
Data science is one surface of the platform.
Get the forecast you've been guessing at.
Bring the number your team debates every quarter. In days, you can have a notebook that computes it from your own history — and keeps computing it.