labor_efficiency
0.94
Rev/labor-hour −22% vs. cluster, staffing mismatch at 11a–1p peak
They fire alerts, your team acts, and nobody checks if it worked. Ward connects insight to action to outcome, and each result tunes the next cycle.
Most analytics tools stop at the chart. Ward closes the loop. Data reads in from POS, inventory, labor, finance, ERP, marketing, and external signals. Agents query each source, insight cards surface what changed and why, teams act, and results feed back to tune the next cycle.
Ward reads POS, marketing, labor scheduling, finance, inventory, ERP, and ecommerce, plus external signals like weather, events, and demographics. One unified view across stores, ecommerce, wholesale, every channel.
Click a forecast, a margin call, a shrinkage flag. Ward shows the SQL, source tables, model, parameters, and backtest. IT sees data governance rules in a graph view, not a wall of YAML.
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 connects to the systems you already run: ERP, POS, data platforms, BI tools, supply chain.
The insight types that lean on closed loop to deliver value.
Run a fixed-fee pilot on your data, or talk to advisory about a broader engagement.
What changed, why it matters, what to do. Every insight arrives with the action attached.
Any card becomes a tracked ticket, dispatched to a named owner by push, text, or email.
Cards voted up or down with reasoning. Tickets completed or rejected. Every response is a signal.
Revenue, margin, fill rate, labor cost. Did the action move its target? Measured, not assumed.
Every vote, ticket, and outcome feeds back in. Each cycle sharpens the next.
Ward tracks outcomes. Every cycle sharper than the last. See it on your 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.