labor_efficiency
0.94
Rev/labor-hour −22% vs. cluster, staffing mismatch at 11a–1p peak
Margin erosion, promo conflicts, shrinkage spikes, staffing mismatches. Ward catches each one and explains what changed, why, and what to do next. Click any number to see the SQL.
Dashboards show what happened, not why or what to do about it. Each insight card surfaces one anomaly, explains the root cause, quantifies the impact, and recommends a next step. They arrive automatically, no login required.
Forecasts run on ARIMA, Holt-Winters, Bayesian hierarchical, and gradient-boosted residuals. Anomalies use z-score against a 90-day rolling baseline. Each card carries the model card, the MAPE, and the confidence interval. Click the number to see the SQL, source tables, and parameters.
Define an agent for any job, each on a prebuilt, retail-specific playbook: shrink, store sales, supplier scoring, loss prevention, labor, store ops. Each runs under a written charter: scope, sources, allowed actions, owner, version. Diff two versions side by side. Every edit is logged with name, time, and approver.
Ask anything. Ward routes to the right agent and returns cited answers.
I pulled Store 37’s last 28 days against the chain baseline. Two root causes, both compounding.
| Signal | Finding |
|---|---|
labor_efficiency | Rev/labor-hour −22% vs. cluster, staffing mismatch at 11a–1p peak |
inventory.fresh | Fresh fill 83%, backroom replenishment lag at 2–4p |
promo.lift | BOGO crackers cannibalized Brand Y by 28%, net category +6% |
Recommend: re-baseline Store 37 schedule against true peak, raise replen window to 1p, and review the BOGO before next cycle.
labor_scheduling…
Agents run against your baselines overnight. These are what they flagged without being asked.
labor_efficiency
0.94
Rev/labor-hour −22% vs. cluster, staffing mismatch at 11a–1p peak
inventory.fresh
0.89
Fresh fill 83%, backroom replenishment lag at 2–4p
promo.lift
0.81
BOGO crackers cannibalized Brand Y by 28%, net category +6%
Re-baseline Store 37 schedule against true peak, raise replen window to 1p, and review the BOGO before next cycle.
Pinned views built from saved data-lake queries. Every number re-derivable from its SQL.
| Model | Horizon | MAPE |
|---|---|---|
holt_winters | 4wk | 4.1% |
arima_sarimax | 13wk | 8.9% |
gbm_demand | 1wk | 2.1% |
bayes_hier | new store | 11.4% |
Browse, search, and manage data–lake model definitions for your tenant.
| Name | Namespace | Version |
|---|---|---|
sap_pos_transactions | sap | 1.0 |
sap_inventory_shrinkage | sap | 1.2 |
sap_labor_scheduling | sap | 1.0 |
retail_inventory_weekly | retail | 1.1 |
retail_google_ads_daily | retail | 1.0 |
retail_meta_ads_daily | retail | 1.0 |
retail_ga4_website_daily | retail | 1.0 |
Connect external systems to the data lake.
| Name | Type | Last sync |
|---|---|---|
sap_pos_transactions | import | 2m ago |
sap_inventory_shrinkage | import | 2m ago |
sap_labor_scheduling | import | 14m ago |
retail_inventory_weekly | import | 1h ago |
retail_google_ads_daily | import | 1h ago |
retail_meta_ads_daily | import | 1h ago |
retail_ga4_website_daily | import | 1h ago |
Two ways to connect. Federate against your live systems, or ingest into Ward’s data lake. Toggle below.
sap.posretail.inventory_weeklyMove data from sources into models on a schedule.
| Name | Source | Model | Status | Schedule |
|---|---|---|---|---|
sync_sap_pos_transactions | sap_pos_transactions | pos_transactions | enabled | hourly |
sync_sap_inventory_shrinkage | sap_inventory_shrinkage | inventory_shrinkage | enabled | daily |
sync_sap_labor_scheduling | sap_labor_scheduling | labor_scheduling | enabled | daily |
sync_retail_inventory_weekly | retail_inventory_weekly | inventory_weekly | enabled | weekly |
sync_retail_google_ads_daily | retail_google_ads_daily | google_ads_daily | enabled | daily |
sync_retail_meta_ads_daily | retail_meta_ads_daily | meta_ads_daily | enabled | daily |
Real-time ingestion pipelines.
pos.txn store_037, basket $42.18inv.move dc_west → store_104labor.clock store_022 shift_startpos.txn store_211, basket $19.04Browse and manage Cedar access policies for your tenant.
| Policy ID | Effect | Resources |
|---|---|---|
merch-read-default | permit | Model::* |
finance-read-shrinkage | permit | Model::"inventory_shrinkage" |
vendor-blocked | forbid | Model::"labor_*" |
region-west-only | permit | Tenant::"acme" |
Principals and resources referenced by Cedar policies.
| Entity UID | Type | Tenant |
|---|---|---|
Tenant::"acme-retail" | Tenant | acme-retail |
Model::"sap.pos_transactions" | Model | acme-retail |
Model::"sap.inventory_shrinkage" | Model | acme-retail |
Model::"sap.labor_scheduling" | Model | acme-retail |
Model::"retail.inventory_weekly" | Model | acme-retail |
Model::"retail.google_ads_daily" | Model | acme-retail |
Manage LLM API keys and the model profiles that use them.
| Name | Provider | Used by | Created |
|---|---|---|---|
anthropic-default | Anthropic | 3 profiles | Apr 22 |
openai-default | OpenAI | 2 profiles | Apr 22 |
gemini-default | Gemini | 1 profile | Apr 22 |
ollama-onprem | Ollama | 2 profiles | Apr 22 |
LLM-agnostic. Bring your own key, route per task. No lock-in.
Manage your dashboard preferences and account.
Light and dark themes are available. Your choice is remembered per browser.
Ward generates cards across eight core domains, each tuned to a specific operational signal.
The insight types that lean on insight cards to deliver value.
Run a fixed-fee pilot on your data, or talk to advisory about a broader engagement.
See what Ward catches on your actual data.
Read-only to start · your LLM keys · SOC 2 Type II underway · or book a call directly
Tell us about your operation. We’ll show you the problems Ward catches, and the ones your current tools miss.