labor_efficiency
0.94
Rev/labor-hour −22% vs. cluster, staffing mismatch at 11a–1p peak
Ward ingests sales orders, inventory, purchase orders from Epicor, then cross-references them with weather, events, and demographics to produce shrinkage cards.
Ward connects via Epicor REST API. Compatible with Epicor Prophet 21 and Epicor Eclipse.
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.
Connect external systems. Ward AI maps the schema and drafts the cleaning rules.
| 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 |
Move data from sources into models on a schedule. Describe the sync; Ward AI builds it.
| 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 |
Ward integrates with Epicor for home improvement, furniture, and building supply retailers. Inventory, purchasing, production, and sales data power insight cards.
Credentials are read-only and locked to the objects you name. Ward cannot reach a table you did not grant it, and write access is opt-in per object rather than implied by the connection.
Ward queries Epicor in place and keeps no second copy. Your region, your retention policy, and no staging warehouse in the middle.
Every connector carries a schema contract. A source that changes shape fails the contract and stops the pipeline, rather than quietly writing wrong rows until someone notices the numbers moved.
Ward identifies abnormal inventory loss patterns and distinguishes between theft, damage, spoilage, and administrative error.
Ward compares expected inventory against actual counts, segments loss by cause category, and flags store-level anomalies against your estate baseline.
Definitions resolve through the semantic layer, so a number here reconciles with the dashboard your team already publishes instead of disagreeing with it quietly. How the layer works →
Store #37 showing 4.2% shrinkage vs 1.8% estate average. Pattern suggests receiving dock discrepancy, not shoplifting.
US retail shrinkage hit $112.1 billion in 2022, up 19.4% year over year. — National Retail Federation
Agents on your own data fail the security review, not the demo. The model is never the problem. The problem is that nobody can say what the agent is allowed to reach, what it already did, or what happens when it is wrong.
The agent sees the Epicor objects you declared on the source and nothing else. Scope is enforced at query time, not in the client.
Read-only until you grant a write action explicitly, per object. A grant leaves a record naming the agent, the caller and the rows it touched.
One audit log covers every person and every agent in the tenant, so a reviewer answers one question against one system rather than correlating two.
Describe the job in plain English. Ward AI proposes the agent and the exact permissions it would need against your Epicor objects, and the proposal sits there until a person approves it. Nothing runs on a draft.
Every finding it returns carries the SQL that produced it. If the query is wrong you can see that it is wrong, which is the only way a data team ever trusts one of these.
What shrinkage detection off Epicor looks like once it is live. Retail is where Ward is deployed, not what Ward is.
30,000+ SKUs · stores
One store flags elevated shrinkage well above the estate average for two consecutive periods. Traditional LP assumes shoplifting. Ward traces the majority of variance to receiving dock discrepancies in frozen foods, vendor deliveries consistently short against POs. One process fix, mandatory blind receiving, brings the store back in line within six weeks.
The grocery build →3,000+ SKUs · locations
Ward flags multiple locations with a consistent pattern: tobacco void rates spike during a specific overnight shift window. The amounts are small enough to evade threshold-based alerts but consistent enough to represent significant annual loss per store. Ward attributes the pattern to specific shift schedules, and investigation confirms scan avoidance by a ring of night-shift employees across the affected stores.
The convenience build →15,000+ SKUs · locations
Ward flags a cluster of stores where high-value item returns run well above estate average, most without original tags, with the same payment cards appearing across multiple locations. The pattern matches a wardrobing ring. LP adjusts the return policy for flagged categories and sees a significant drop in high-value returns within weeks.
The fashion build →Your platform team owns the connection, the definitions and the policy. These are the teams that consume what comes out of it.
Loss Prevention
Cause-level attribution: theft, spoilage, or admin error. No more guessing.
What they see →Finance
Shrink trend lines and dollar impact, attributed by category and store.
What they see →Store Operations
Which stores are bleeding, and why, flagged before the next count.
What they see →| Measure | Effect | Why |
|---|---|---|
| Seasonal Accuracy | Pre-buy timing sharpened | Weather and event signals calibrate seasonal positioning. |
| Project Basket Value | Cross-sell patterns found | Project purchasing sequences reveal attachment opportunities. |
| Vendor Fill Rate | Degradation caught early | Fill rate drops flagged before shelf impact materializes. |
| Inventory Carrying Cost | Slow-movers identified | Demand-aligned ordering frees capital tied in dead stock. |
Ward connects via Epicor REST API. Compatible with Epicor Prophet 21 and Epicor Eclipse.
Ward reads Sales orders, Inventory, Purchase orders, Customer accounts, Pricing tiers and Vendor performance. Credentials are read-only and scoped to the objects you name, so Ward cannot reach a table you did not grant it.
No. Ward queries Epicor in place and holds no second copy of your data. Nothing is exported to run Shrinkage Detection, and your residency and retention policy are unchanged by connecting Ward.
Every connector carries a schema contract. When a source changes shape the contract fails loudly and the pipeline stops, rather than writing wrong rows into your warehouse for a week before anyone notices the numbers moved.
Ward identifies abnormal inventory loss patterns and distinguishes between theft, damage, spoilage, and administrative error. Ward compares expected inventory against actual counts, segments loss by cause category, and flags store-level anomalies against your estate baseline.
Yes. Every figure Ward reports carries the query that produced it, resolved through the semantic layer, so it reconciles with the dashboard your team already publishes rather than disagreeing with it quietly.
Only what you declared. An agent is scoped to named tables and cannot reach past them, it is read-only unless you grant a write action explicitly, and every query, tool call and result is logged against the agent identity that made it.
Typically Head of Loss Prevention, CFO / VP Finance and Director of Store Operations. They read the output; your platform team owns the connection, the definitions and the policy that produced it.
One store flags elevated shrinkage well above the estate average for two consecutive periods. Traditional LP assumes shoplifting. Ward traces the majority of variance to receiving dock discrepancies in frozen foods, vendor deliveries consistently short against POs. One process fix, mandatory blind receiving, brings the store back in line within six weeks.
Deploying is free. You pay 5% of the model compute it uses, and nothing else. No call required to find out whether this works 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.