AI Merchandising & Category Optimizer

Arrange Magento category products using sales, stock, margin and conversion signals. Review the proposed order, pin campaign products, preview the storefront and apply or revert the change. Numerical scoring works without external AI.

  • Magento 2.4.7 – 2.4.9
  • PHP 8.2 – 8.5
  • Version 1.0.2
$399
$279
Save 30%

One-off payment, with 12 months of updates.

What is included

  • 12 months of new versions and fixes; the versions released in that time stay yours
  • Install with Composer, or download a zip from your account
  • Licence for one production domain, staging and development copies included
  • 30-day money-back guarantee, refund policy

No subscription or automatic renewal. Keep using the versions included in your update period. Update and licence details

Composer package softaware/module-ai-merchandising

AI Merchandising & Category Optimizer Regular price $399$279

The category order that worked at launch may now hide a strong seller behind unavailable products. AI Merchandising & Category Optimizer makes that review practical: collect the evidence, propose a new order, inspect the storefront and publish the arrangement your team chooses.

A commercial view of each product

Analyse a category over 30, 60, 90 or 180 days using supported sales, revenue, refunds, salable stock, margin, views, conversion, cart and wishlist signals. Relevant child activity contributes to the parent. Missing costs and views are flagged rather than treated as evidence of poor performance.

The configurable numerical score works locally without an external AI request. Rules can move unavailable products down, give new products exposure and preserve pins. Findings help identify a hidden bestseller, a high-refund item or a heavily viewed product that deserves a content or price review.

Review the order before applying it

The proposal shows current and proposed positions with Why here? explanations. Drag or move products, pin a campaign item and preview the first pages. A temporary signed link shows the proposal on your real Luma or Hyvä category page without caching the preview.

Approve & Apply writes normal Magento category positions and records the previous arrangement. History provides reversion for the latest live application. If category membership changed after analysis, a new analysis is required. Anchor-category application can add direct product assignments; reversion handles those additions.

Build a regular merchandising routine

Run single-category analysis, queue larger selections or enable nightly analysis for selected categories. Fresh proposals wait for review unless you explicitly enable auto-apply. The optional AI layer reviews a configured product summary and writes additional explanations; responses are validated and failures fall back to the numerical order.

Requirements and fit

Magento Open Source or Adobe Commerce 2.4.7–2.4.9, PHP 8.2–8.5, SoftAware Core and AI Core. Product-view collection is needed for conversion signals; product costs are needed for meaningful margins. Luma and Hyvä storefront preview are supported.

Positions are global across store views, and the result is not personalised per shopper. Very large categories can make the proposal slow to render. The potential-uplift indicator is not a revenue forecast. Use a representative category and compare actual trading journeys after a reviewed change.

Read the AI Merchandising guide or open the admin demo to inspect the proposal, preview and history workflow.

See the workflow

Try the admin demo. Storefront examples are available on the Luma demo and Hyvä demo. Demonstration or offline-test data shows the workflow; evaluate AI matching and forecasts with your own representative catalogue.

Performance signals

  • Units, revenue, orders and refund share over selected periods
  • Salable stock, including supported MSI stock data
  • Cost-based margin with unknown costs identified
  • Product views, conversion, wishlist and cart activity
  • Supported child-product activity aggregated to the parent

Scoring and findings

  • Configurable weights for selling, margin, conversion, stock and newness
  • Unavailable products moved down when the rule is enabled
  • New-product boost and pinned positions
  • Findings for low conversion, high refunds and hidden strong sellers
  • Why here? explanations alongside each proposed position

Merchant review

  • Current and proposed category order side by side
  • Drag, move and pin products before saving the proposal
  • Preview the first two pages and a temporary signed storefront link
  • Apply normal Magento category positions
  • History and reversion of the latest live application

Scheduled review

  • Analyse one category or queue a larger selection
  • Nightly analysis for chosen categories
  • Proposals wait for review by default
  • Optional auto-apply is off by default

Optional AI and control

  • Core scoring available without an AI provider request
  • Optional AI review of a configured top-product summary
  • Separate choice for sharing margin information
  • Validated responses fall back to numerical scoring when needed
  • Shared AI Core budgets, usage and per-module access controls

Questions before you install

Does it change the category as soon as I analyse it?

No. Analysis creates a proposal. The storefront changes when an authorised user applies it; optional auto-apply is off by default.

Does it need an external AI service?

The scoring and review workflow work without AI. The optional explanation/review layer uses your configured provider key and budget through SoftAware AI Core.

Can each store view have a different product order?

No. Magento category positions are global. The analysis scope can vary, but applying writes positions shared by store views.

Can I restore the old arrangement?

History lets you revert the latest live application to its previous positions. Revert newer applications first. Added direct assignments for anchor categories are also handled.

Is the potential uplift a sales forecast?

No. It is a placement-weighted score indicator. It does not predict or guarantee additional revenue.

Compatibility

Requirements and compatibility

Compatibility of AI Merchandising & Category Optimizer
Magento2.4.7 – 2.4.9
PHP8.2 – 8.5
Latest version 1.0.2
composer.json requires php ~8.2.0||~8.3.0||~8.4.0||~8.5.0 ext-json * magento/framework ~103.0.7 softaware/module-core ^1.0 softaware/module-ai-core ^1.2 magento/module-backend * magento/module-catalog * magento/module-catalog-inventory * magento/module-config * magento/module-directory * magento/module-indexer * magento/module-sales * magento/module-store * magento/module-ui * magento/module-url-rewrite * magento/module-user *

Installation

Up and running in minutes

After you buy, create a Composer key in your account. Then, in the root of your Magento project:

  1. 01Add the repository and your key (once per project)

    composer config repositories.softaware composer https://repo.softawarecommerce.com
    composer config --auth http-basic.repo.softawarecommerce.com PUBLIC_KEY PRIVATE_KEY
  2. 02Install the module

    composer require softaware/module-ai-merchandising
  3. 03Enable it

    bin/magento setup:upgrade
    bin/magento setup:di:compile
    bin/magento setup:static-content:deploy
    bin/magento cache:flush

    The last three are only needed in production mode.

Prefer a zip? Every version you are entitled to can be downloaded from My modules. More about Composer access

User guide

How to set up and use AI Merchandising & Category Optimizer

For version 1.0.2. The same guide comes with the module, in docs/user-guide.md.

1. Before you start

  • Stores > Configuration > Softaware > AI > AI Merchandising: check Enabled, the store view to analyse and the period.
  • For conversion figures Magento must collect product views: Stores > Configuration > General > Reports > General Options > Enable Reports = Yes and Product View = Yes.
  • For margins fill in the Cost attribute of your products (Advanced Pricing). Products without a cost show "margin unknown" and count as average.
  • Optional AI: set up a key in Softaware > AI Providers & Costs, then switch on Use AI in AI Merchandising.

2. Analyse a category

Softaware > AI Merchandising > Categories. Click Analyse in a row, or select categories and choose Actions > Analyse (up to 3 are analysed straight away, more are queued and analysed by cron within minutes). Nothing changes on your storefront yet.

3. Review the proposal

The proposal page shows:

  • key figures of the category and the potential uplift (how much better the proposal puts strong products in visible positions; an indicator, not a forecast) and the AI cost of the run;
  • the current order (left; the arrow shows where each product moves) and the proposed order (right) with badges (Best seller, New, Low conversion, Out of stock, Hidden gem, ...), metrics and the score;
  • Why here? for each product;
  • the low conversion table and suggestions (for example best sellers on page 3 or products without sales on the first page).

Change the order by dragging a product or with the arrows. Pin a product to keep it at its position, also in later (nightly) analyses. Click Save Order to keep your changes.

4. Preview

Preview shows the first two pages as shoppers would see them. The links "Open: <store view>" open the real category page with the proposed order for one hour, only for people who have the link (it is never cached).

5. Apply and revert

Approve & Apply writes the order to the category's product positions. The previous positions are saved. Softaware > AI Merchandising > History lists every apply; Revert restores the previous order exactly. On the proposal page of an applied order you can also click Revert to Previous Order.

Note: category positions are the same for all store views in Magento.

6. Nightly analysis

Settings > Nightly Analysis: choose categories and a start time. New proposals wait for you in the Categories grid ("Waiting for review"). Auto-apply applies them without review (not recommended; every apply can be reverted).

7. Command line

bin/magento softaware:ai-merchandising:analyse --category=4 --no-ai -v
bin/magento softaware:ai-merchandising:apply --proposal=12
bin/magento softaware:ai-merchandising:revert --apply=3

Changelog

Release notes

1.0.2

Latest
  • Settings moved back to the Softaware tab of Stores > Configuration, listed in the collapsible "AI" group (Softaware Core 1.2.0 section groups) instead of a separate "Softaware AI" tab. Requires softaware/module-ai-core ^1.2.

1.0.1

  • "Analyse" / "Analyse Again" in the Categories grid opened a 404 page: the link was sent with GET to a POST-only action. The action now asks for confirmation and posts the request.
  • Settings moved to the new "Softaware AI" tab of Stores > Configuration (provided by AI Core 1.1.0), which groups the settings of all SoftAware AI modules. Requires softaware/module-ai-core ^1.1.

1.0.0

1.0.0 - 2026-10-10

Added

  • Category analysis from Magento's own data: units sold, revenue, orders, refund share (credit memos), salable stock (MSI-aware, default stock otherwise), margin from the Cost attribute (never invented), product views, wishlist and cart adds, conversion, product age and current position. Children's sales count for the configurable/grouped parent shown in the category. Chunked queries, works on large catalogues.
  • Deterministic score (0-100) with configurable weights (units, revenue, margin, conversion, stock, newness) and rules: out-of-stock products last, new product boost, pinned products keep their position, no product is ever dropped.
  • Low-conversion detection (minimum views, share of the category median), "no sales on the first page", "out of stock on the first page", hidden gems, high refunds, buried best sellers, few products in stock and other suggestions.
  • "Why here?" explanation for every product, built from its metrics; enriched by the AI text when the AI layer ran.
  • Optional AI layer through Softaware AI Core (provider/model, budget, usage ledger): anonymised category summary and top products (no customer data; margins only when allowed), strict validation of the answer (known product IDs of the right type, every product exactly once, reasons up to 300 characters), product and category names treated as data in the prompt, an answer limit that grows with the number of products sent, fallback to the score order, cost shown per run.
  • Admin: Softaware > AI Merchandising > Categories grid (path, products, potential uplift, latest proposal, mass Analyse with cron queue for larger selections), proposal page (current vs proposed order, drag & drop, arrows, pin, badges, metrics, low-conversion table, suggestions, AI cost), storefront-style preview and signed, expiring storefront preview links (Luma and Hyvä, never cached), Approve & apply, Discard, History with Revert.
  • Apply writes catalog_category_product.position for the category in one transaction, keeps the previous positions, reindexes the category (or leaves it to on-schedule indexers) and cleans its cache tags. Every apply and revert is logged. Apply and revert run under a per-category lock and re-check the proposal/apply status inside it, so a double submit or two admins at once cannot apply the same proposal twice. Store root categories (no storefront page) cannot be analysed.
  • Nightly analysis of selected categories by cron (auto-apply off by default).
  • CLI: softaware:ai-merchandising:analyse, softaware:ai-merchandising:apply, softaware:ai-merchandising:revert.
  • ACL: view, analyse, apply/revert, settings.
  • Cost estimate of the AI layer (AiCore CostEstimatorInterface, same prompt, nothing sent) stored with every analysis and shown on the proposal ("with AI about $0.05") and next to "Use AI" when analysing again; AI cost panel on the categories page.

From the blog

Guides and articles