MBA
All docs
Magento store configWooCommerce settings

Configuration reference

Every knob the system exposes, what it controls, and the defaults shipped today. On Magento, settings live under Stores → Configuration → MBA Reports. On WooCommerce, the same names appear under WooCommerce → MBA Settings. This page is the union of both.

General

SettingTypeDefaultWhat it does
general/enabledboolYesMaster switch for the module. Off → cron jobs skip; admin pages still load but mining is disabled.
general/default_engineenumfp_growthDefault engine for new jobs. Override per-job from the Jobs grid or CLI. See engines reference for trade-offs.
general/default_log_levelenuminfoVerbosity of job logs. 'debug' useful during a backfill or while tuning thresholds.

Job defaults

These set the starting values for new mining jobs. They're overridable per-job, the admin always shows the resolved value next to the editable field so reviewers can spot deviations.

SettingTypeDefaultWhat it does
job_defaults/max_itemset_sizeint (2–4)3Maximum items in a rule. 2 = cross-sell pairs only; 4 = larger kits at the cost of mine time.
job_defaults/min_supportfloat (0.0–1.0)0.01Fraction of transactions containing the itemset. Lower → more rules, longer mine, more noise.
job_defaults/min_confidencefloat (0.0–1.0)0.30P(consequent | antecedent). Raise to be more conservative about which patterns become recommendations.
job_defaults/min_liftfloat (≥ 0.0)1.5Above 1.0 means above-baseline co-occurrence. The hard floor against statistical noise.
job_defaults/max_rulesint5000Cap on rules emitted per job. Guardrail against a wide-net job flooding the Opportunities grid.

Cost & margin

Profit-aware scoring uses product cost to estimate margin and to gate bundle discount strategies. Without cost data, scoring falls back to AOV-based revenue lift.

SettingTypeDefaultWhat it does
cost/default_cost_modeenumproduct_attributeHow to read product cost: 'product_attribute' (Magento attribute), 'cost_field' (WooCommerce product cost meta), or 'estimate' (use category-mean fallback).
cost/default_cost_attribute_codestringcostMagento product attribute code to read cost from. Only used when mode=product_attribute.

Scoring & pricing

SettingTypeDefaultWhat it does
scoring/default_scoring_modeenumprofitHow to rank opportunities. 'profit' uses margin lift; 'revenue' uses AOV proxy; 'attach' uses attach-rate only.
scoring/bundle_discount_pctfloat (0–100)10Default discount % applied when proposing a bundle. The margin-floor pricing strategy can override this per-SKU to protect margin.

AI features

Same bring-your-own-key architecture on Magento and WooCommerce: paste your own Anthropic or OpenAI key here, the module calls the provider directly from your store, and you're billed by the provider. See the AI features deep dive for what each flag controls. All AI features fall back to a templated/empty default when disabled or when the provider is unreachable.

SettingTypeDefaultWhat it does
ai/providerenumclaudeWhich LLM provider AiClientFactory creates. 'claude' or 'openai'.
ai/api_keyencryptedProvider API key. Stored encrypted; shown as masked in admin once saved.
ai/modelstringclaude-opus-4-7 / gpt-4oDefault model. Long-context tasks (catalog, B2B) may override per-call.
ai_catalog/async_dispatch_enabledboolYesKill-switch for ProcessAiQueue. Off → queued LLM tasks stay queued; mining still runs deterministically.
ai/bundle_copy_enabledboolYesGenerate AI bundle name + description on approve. Off → deterministic templated copy.
ai/session_intent_enabledboolNoClassify storefront sessions. Off → widgets render for all sessions equally.
ai/b2b_intel_enabledboolNoGenerate B2B account summaries. Magento B2B installs only.

Scheduling

Three trigger mechanisms ship today. They're additive, you can run all three at once and the queue dedupes overlapping runs.

SettingTypeDefaultWhat it does
schedule/auto_mining_enabledboolNoMaster switch for scheduled mining. Off → only manual runs and orders-velocity triggers fire.
schedule/cadence_daysenum7Days between scheduled jobs. Options: 1, 3, 7, 14, 30.
schedule/default_window_daysint90Days of order history each scheduled run analyzes. Match to your seasonality.
orders_velocity/enabledboolNoTrigger a re-mine when N orders have landed since the last run. Best for high-velocity stores where weekly cadence misses too much.
orders_velocity/thresholdint (orders)500How many new orders must accumulate before the trigger fires. Decremented per-webhook with the dirtyOrdersCount counter.

Weekly digest email

SettingTypeDefaultWhat it does
digest/enabledboolNoSend a weekly summary email. HTML + text, via Resend.
digest/recipientemailWhere to send the digest. Single recipient today; multi-recipient is a hosted-tier feature.
digest/day_of_weekenumMondayWhich weekday the digest sends. Best to align with your team's planning cadence.

Retention & purge

The mba_reports_purge_old_jobs cron job does the cleanup. Default retention values are picked so a busy store can run for a year without the tables growing past tens of MB.

SettingTypeDefaultWhat it does
retention/keep_jobs_daysint (days)90Days to retain completed jobs and their results (rules, opportunities).
retention/purge_logs_daysint (days)30Days to retain per-job verbose logs. Set to 0 to keep forever (not recommended).
retention/purge_aitask_daysint (days)7Days to retain completed/failed AI dispatch tasks in mba_reports_mbaaitask.

Notifications

SettingTypeDefaultWhat it does
notifications/alert_emailemailWhere to send job-completion alerts. Leave blank to disable.
notifications/alert_min_opportunity_scoreint (0–100)70Only send the alert when a new opportunity scores at or above this threshold. Filters noise from low-value runs.

Public API & per-shop keys

See the Public API quick start for usage. Key admin is in WooCommerce → MBA → API keys (WooCommerce) or System → MBA → API keys (Magento).

  • Keys are stored as SHA-256 hashes; the plaintext is shown once at creation and can't be recovered. Re-mint if a key leaks.
  • Each key carries an optional label so you can tell “Slack bot” from “n8n workflow” at a glance.
  • Revoking a key is immediate, the next request gets a 401.
  • Rate limits: Pro plan 600 req/min/shop; Hosted is configurable. See the API reference.

Per-opportunity overrides

Operators can override the engine's output without changing global config. Each opportunity row in the admin supports:

  • Pin / un-pin, force-include or force-exclude this opportunity from the widgets, regardless of its rank.
  • Edit name, override the AI-generated or templated bundle name before pushing.
  • Edit discount %, override the global default for this specific bundle, subject to the margin floor.
  • Dismiss, bury the opportunity so it doesn't resurface in future re-mines (unless the underlying rule strengthens past a configurable threshold).

Overrides are per-opportunity and survive re-mining. They're the right place to encode merchandiser judgment without arguing with the engine globally.

Hosted-only settings

These appear in the admin only on hosted-tier deployments:

  • Custom data-residency region (US-East / EU-West / AP-Southeast)
  • SSO via SAML 2.0 (IdP-initiated and SP-initiated)
  • Audit log retention (default 365 days; configurable to 7 years)
  • Custom mining engines (added per agreement)
  • Multi-shop roll-up groups (brand / region / portfolio)
  • Custom rate limits + per-key rate-limit overrides

Setting precedence

Magento store config is hierarchical (Default → Website → Store). MBA respects that hierarchy, set a different default engine for each store view without touching the others. WooCommerce is single-site, so settings are flat.

Per-job overrides always win. The Jobs grid shows the resolved value next to each editable field so it's clear which job is running with non-default thresholds.

Ready to turn your order data into revenue?

Install on your platform in under 10 minutes. Or book a consulting call and we'll do the launch for you.