Back to Blog
case-studyautomationecommerce

How AI Manages 564 Product Prices While I Sleep

I built a dynamic pricing AI that adjusts 564 products automatically using ABC classification. 12% revenue increase, $0 in API fees, zero pricing disasters.

By Mike Hodgen

The $12 Mistake That Cost Me $2,160

I fat-fingered a product price in Shopify. Meant to type $120 for a premium festival outfit. Typed $12 instead.

It sold 180 units before I caught it three weeks later. The math isn't complicated: $108 lost per sale times 180 sales equals $19,440 in lost revenue. After refunding the obvious error cases and eating the cost on the rest, we lost about $2,160 in margin.

That mistake happened because I was manually managing prices for 564 products. Before I built our dynamic pricing AI system, I was adjusting prices every week. Sometimes twice a week during festival season when demand shifts fast.

The problem isn't just typos. Manual pricing doesn't scale when you're dealing with:

  • Seasonal demand that changes monthly (festival season vs winter lull)
  • Competitor price moves you don't catch for weeks
  • Inventory that needs clearance but you forget which products
  • High-velocity items that could handle 15% price increases without demand drop

I was spending 6-8 hours per week on repricing. That's 312-416 hours per year. At $150/hour opportunity cost (conservative for a CEO), that's $46,800-$62,400 annually just clicking around in spreadsheets.

The real cost wasn't the time. It was the revenue left on the table because I couldn't reprice 564 products fast enough to match demand signals.

That's why I built a system that reprices our entire catalog while I sleep. It's been running for six months. Zero pricing disasters. 12% revenue increase. And I spend about 20 minutes a week reviewing its recommendations.

This isn't a Shopify app. It's not a SaaS subscription. It's custom Python that runs at 3 AM every night, classifies products into tiers, applies pricing rules, and flags anything weird for human review.

Here's how it actually works.

How Dynamic Pricing AI Actually Works (Without the Vendor BS)

Every vendor pitch I've seen for automated pricing strategy talks about machine learning models analyzing millions of data points to optimize revenue. They show dashboards with confidence intervals and predicted demand curves.

ABC inventory classification pyramid showing four tiers: A-tier products (top 20%, high velocity), B-tier (next 30%, steady sellers), C-tier (next 30%, slow movers), and D-tier (bottom 20%, dead inventory), with repricing frequencies and example products for each tier ABC Inventory Classification Tiers

That's not what I built. Machine learning models drift. They make unpredictable decisions. They require constant retraining. They're expensive to run.

I built a rule-based system that's transparent, predictable, and costs $0 in API fees because it doesn't call external AI services. It's pure logic running on our own infrastructure.

ABC Classification: The Foundation

The system starts with ABC inventory classification. This is retail fundamentals, not AI magic:

A-tier products (top 20%): High-velocity items that generate 80% of revenue. These are our bestsellers — holographic bodysuits, LED accessories, popular festival fashion styles. They get repriced weekly based on inventory velocity and demand signals.

B-tier products (next 30%): Steady sellers. They move consistently but aren't driving the business. Festival skirts, basic festival tops, standard accessories. They get repriced every 2-3 weeks based on margin targets.

C-tier products (next 30%): Slow movers. Items that sell occasionally but tie up inventory. Seasonal products past their peak, niche styles, odd sizes. They get aggressive markdown rules to clear inventory space.

D-tier products (bottom 20%): Dead inventory. Products that haven't sold in 90+ days. These get marked down aggressively — we need shelf space more than margin.

The classification happens automatically every night. The system pulls sales data from the last 90 days, calculates velocity (units sold per day), and assigns each of our 564 products to a tier.

A product that was B-tier last month might be A-tier this month because festival season started. The system adapts without me touching it.

Tier-Based Rules vs Machine Learning Chaos

Here's where most AI pricing ecommerce solutions go wrong: they use ML models that treat every pricing decision as an optimization problem.

I use if-then rules based on inventory tier:

  • A-tier: If inventory is below 10 units and velocity is high, increase price 8-12%
  • A-tier: If inventory is above 50 units and velocity is dropping, hold price or decrease 3-5%
  • B-tier: If margin is below target, increase price 5-7%
  • C-tier: If product has been in tier for 30+ days, decrease price 10-15%
  • D-tier: If no sales in 60 days, decrease price 25-40%

These rules are transparent. I can explain why every price changed. There's no black box outputting recommendations I don't understand.

The rules reference historical pricing data, current inventory levels, sales velocity, and cost basis. But they're deterministic — same inputs always produce same outputs.

That predictability matters when you're running a business. I don't want my pricing system having a bad day because the ML model saw a weird pattern in the training data.

The Scheduling System That Runs at 3 AM

The system runs overnight when site traffic is lowest. At 3 AM Pacific:

Flowchart showing the 6-step overnight pricing automation process from 3 AM to 4 AM: pull sales data, ABC classification, apply pricing rules, generate approval queue, auto-approve and push to Shopify, send email summary, completing in 15 minutes for 564 products Pricing System Overnight Automation Flow

  1. Pull sales data from the last 24 hours and last 90 days
  2. Recalculate ABC classification for all products
  3. Apply tier-based pricing rules
  4. Generate approval queue for changes exceeding safety thresholds
  5. Auto-approve small changes and push to Shopify
  6. Send me a summary email with flagged items for review

By 4 AM, prices are updated. I wake up to an email showing what changed and what needs my approval.

The whole process takes about 15 minutes of compute time for 564 products. It's Python scripts talking to our database and Shopify's API. No external AI services. No per-transaction fees.

This is what product pricing automation looks like when you build it yourself instead of buying a SaaS tool that charges per product.

The Safety Systems That Prevent Pricing Disasters

The question I get most: what stops this thing from destroying your business overnight?

Concentric circles diagram showing three layers of safety systems around the core pricing engine: Layer 1 requires human approval for changes over 15%, Layer 2 protects new products for 30 days, Layer 3 caps any single change at 25% Three-Layer Safety System Architecture

The answer is layers of safety rules that prevent automated stupidity.

Human Approval for Large Changes

Any price change over 15% gets flagged for human review. It doesn't go live until I approve it.

Example: Three months ago, the system wanted to increase a popular holographic bodysuit from $89 to $126 (41% increase). Inventory was low, velocity was high, demand signals were strong.

It was right — we could have sold at that price. But a 41% increase felt aggressive for a signature product. I approved a smaller increase to $109 instead.

Two weeks later, demand held strong. I manually pushed it to $119. It's still selling.

The system gave me the data to make that decision. But it didn't execute a price change that could have damaged customer trust if it backfired.

Small changes (under 15%) auto-approve. A-tier product going from $45 to $48? That's a 6.7% increase — it goes live automatically because it's within normal pricing variance.

This threshold is configurable. If I wanted to be more conservative, I could set it at 10%. More aggressive, 20%. The point is the human defines the risk tolerance.

New Product Protection Rules

Products less than 30 days old are protected from automated price changes. Period.

When we launch a new product through our AI product creation pipeline, we set an initial price based on cost, margin targets, and comparable products.

For the first 30 days, that price stays locked. The system collects sales data but doesn't touch pricing.

Why? Because new products don't have enough historical data for the ABC classification to work correctly. A product that sells 5 units in its first week might be A-tier velocity or might just be launch hype. We don't know yet.

After 30 days, it enters the normal pricing automation. By then, we have real demand signals.

This rule prevented a disaster four months ago. We launched a festival outfit that sold 12 units in week one. If the system had been allowed to reprice it, that velocity would have triggered an A-tier classification and aggressive price increases.

Week two: 2 units sold. Week three: 1 unit. It was launch hype, not sustained demand. The 30-day protection gave us real data before automation kicked in.

The Maximum Change Threshold

No product can change more than 25% in a single adjustment. Ever.

Even if every signal says a product should jump from $50 to $150, the system caps it at $62.50 in one move.

If the demand is really there, the next pricing cycle (a week later for A-tier products) will adjust again. Two 25% increases gets you close to that $150 target, but it happens over two weeks instead of overnight.

This prevents shock to customers and gives us time to notice if something's wrong with the data.

We also have rollback capability. Every price change is logged with timestamp, old price, new price, and the rule that triggered it. If something goes sideways, I can revert the entire batch in about 30 seconds.

I've never had to use it. But it exists.

Real Numbers: What Changed After 6 Months

The system has been running since early November. Here's what actually changed:

Results dashboard showing 6-month outcomes of pricing AI system: 12% revenue increase per product, 280-310 hours saved, zero pricing disasters, 30% faster inventory turnover for slow items, $18,000 additional revenue from optimized A-tier pricing, plus three challenges addressed 6-Month Results Dashboard

Revenue per product increased 12%. That's comparing November-April of this year to the same period last year. Not all of that is pricing — we also improved product quality, AI systems for other parts of the business, and marketing. But pricing is measurable: average order value increased 9% while unit sales stayed flat.

Time savings: 5-6 hours per week. I was spending 6-8 hours on manual repricing. Now I spend 20-30 minutes reviewing the approval queue. That's 280-310 hours saved over six months, or about $42,000-$46,500 in CEO time reclaimed.

Zero pricing disasters. No $12-instead-of-$120 errors. No products accidentally marked down 90%. No angry customers emailing about price gouging. The safety systems work.

Inventory turnover improved for C and D-tier products. We're clearing slow inventory 30% faster because the system is more aggressive with markdowns than I was manually. I hate marking products down — it feels like failure. The system doesn't have that emotional attachment.

A-tier products are optimally priced. Before automation, I was underpricing bestsellers because I was afraid of killing demand. The system found the ceiling — it pushes prices up until velocity drops, then backs off slightly. That optimization added an estimated $18,000 in revenue over six months on about 40 high-velocity products.

What didn't work perfectly:

Initial rules were too aggressive. In week one, the system wanted to mark down 60% of C-tier inventory. That was correct based on the rules I'd written, but it would have destroyed margin. I added minimum margin thresholds to prevent selling below cost plus 20%.

Seasonal products needed manual exceptions. Festival season starts in April. The system saw historical data showing certain products spike in demand, but it wanted to raise prices in February based on last year's April data. I added seasonal adjustment logic to delay price increases until demand actually materialized.

Bundle pricing is still manual. The system prices individual products, but we have bundles (3-piece outfits, accessory packs) that need different logic. I haven't automated that yet because the volume is low enough that manual pricing works fine.

Limitations to acknowledge:

This works for us because we have 564 products with enough sales volume to generate meaningful data. If you have 20 products that each sell once a month, you don't have enough data for ABC classification to work.

It requires 3-6 months of historical sales data to classify products properly. If you launched your business last month, you need to collect data first.

It's best suited for ecommerce catalogs with clear product boundaries. If you're selling custom services or B2B contracts, the logic is different.

Why I Didn't Use Shopify's Dynamic Pricing Apps

Before I built this, I evaluated every dynamic pricing AI app in the Shopify store. Also looked at standalone SaaS tools like Prisync, Competera, and others.

Comparison table showing custom-built pricing system versus SaaS apps across six dimensions: 2-year cost ($6,000 vs $4,800-$12,000), transparency (full visibility vs black-box), control (complete vs limited), integration (all systems vs isolated), data ownership (in-house vs vendor lock-in), and best use cases Custom Build vs SaaS Pricing App Comparison

None of them worked for what I needed.

The cost structure is broken. Most apps charge per product or per transaction. For 564 products, that's typically $200-$500/month for the features I needed. Over six months, that's $1,200-$3,000. Over two years, $4,800-$12,000.

My custom system cost development time upfront (about 40 hours at $150/hour effective rate = $6,000) but $0 ongoing fees. It paid for itself in six months on subscription cost alone, ignoring all the value it creates.

Black-box algorithms I can't control. Every SaaS tool uses proprietary ML models. They show you the output (recommended price) but you can't see the logic. You don't know why it made that recommendation.

That's fine if you trust the vendor completely. I don't. I want to know why every price changed so I can override bad decisions before they go live.

They don't integrate with ABC classification. The apps I tested either used their own classification logic (which didn't match how I think about inventory) or required manual tagging. I wanted my pricing system to use the same ABC framework we use for inventory management, purchasing, and product development.

Vendor lock-in and data ownership. If I stop paying for the app, I lose access to all the historical pricing data and logic. If I switch vendors, I start over. With a custom system, I own everything. The code is in our GitHub. The data is in our database.

Limited integration with other AI systems. Our pricing system shares data with our product creation pipeline, SEO automation, and inventory forecasting. A SaaS app lives in isolation — it doesn't talk to the rest of our AI infrastructure.

When SaaS makes sense:

If you have fewer than 50 products, buying an app is probably smarter than building custom. The economics don't work at small scale.

If you don't have technical resources (or a Chief AI Officer who can build this), paying $200/month is cheaper than hiring a developer.

If you need something running this week, not in 6-8 weeks after development and testing.

But for businesses with hundreds of products, technical capability, and a long-term view, building beats buying.

The custom solution costs less over time, gives you complete control, and integrates with everything else you're building.

What You Actually Need to Build This

If you're thinking about building your own automated pricing strategy, here's what it actually requires.

The Data Requirements

You need historical sales data. At minimum, 90 days. Ideally 6-12 months so you can see seasonal patterns.

The data needs to include:

  • Units sold per product per day
  • Prices at time of sale (to correlate pricing changes with demand response)
  • Inventory levels over time
  • Cost basis for margin calculations

You also need clear product categories. The ABC classification works better when you can segment by product type, seasonality, or customer segment. If all your products are undifferentiated commodity items, the system has less to work with.

Current pricing and cost structure must be organized. If your cost data lives in a spreadsheet that hasn't been updated in six months, clean that up first.

The Technical Stack

This isn't a weekend project, but it's not enterprise-scale complexity either.

Python for rule logic. About 800 lines of code in our implementation. The ABC classification is ~150 lines. Tier-based pricing rules are ~300 lines. Safety systems and approval queue logic are ~200 lines. Shopify API integration is ~150 lines.

Database for storing pricing history and approval queues. We use PostgreSQL. MySQL would work fine. You need tables for products, price history, classification history, and pending approvals.

Scheduler for overnight runs. We use cron on a Linux server. AWS Lambda or Google Cloud Functions would work. Anything that can run Python on a schedule.

Integration with ecommerce platform API. Shopify's API is well-documented. WooCommerce, BigCommerce, Magento all have APIs. The integration code is straightforward — pull product data, push price updates.

No external AI APIs needed. No machine learning frameworks. This is pure business logic implemented in Python.

The Time Investment

Initial build: 40 hours over 3 weeks. That's architecting the ABC classification, writing the pricing rules, building the safety systems, and integrating with Shopify.

Testing and refinement: 20 hours over 4 weeks. Running it in test mode, comparing its recommendations to my manual decisions, tuning thresholds, adding edge case handling.

Ongoing maintenance: 1-2 hours per month. Usually just tuning rules when business conditions change (new product categories, seasonal shifts, cost changes).

This isn't something you build in a weekend. But it's also not a 6-month enterprise project.

It's exactly the kind of system a Chief AI Officer builds with the business over 6-8 weeks, then maintains with minimal ongoing effort.

The ROI is immediate. The system pays for itself in the first month just from time savings. Everything after that is margin improvement and error prevention.

The Pricing Systems I'm Building Next

Dynamic pricing isn't finished. It's a system that evolves as the business gets more sophisticated.

Competitor price monitoring integration is next. Right now, I manually check competitor prices for our top 20 products every two weeks. That data should feed directly into the pricing rules — if a competitor drops their price 15% on a comparable product, our system should flag it and recommend a response.

Seasonal demand prediction refinements are already in development. I have two years of historical data showing which products spike in April-May (festival season) and which die in November-December. The system should start adjusting prices in March based on predicted demand, not wait until April when demand is already here.

Bundling and discount optimization is currently handled separately. We run promotions (buy 2 get 15% off, festival outfit bundles) but the pricing system doesn't account for how those affect individual product margins. Integrating bundle logic would let us optimize both individual and bundle pricing together.

Margin protection rules for cost fluctuations matter more now that supply chain costs are volatile. If fabric costs increase 10%, the system should flag products where margin just dropped below target and recommend price increases to maintain margin.

These aren't hypothetical features. They're already in the development queue.

Dynamic pricing AI is never "done" — it's a system that compounds value over time. Each improvement makes better decisions with less human intervention.

This is exactly what I do as a Chief AI Officer: build the initial system, prove the ROI, then continuously improve it as the business evolves.

The first version of our pricing system was functional but basic. Version 2 added the safety systems after I saw edge cases in production. Version 3 refined the ABC classification logic. Version 4 improved the approval queue interface.

Six months in, it's a mature system that runs reliably and makes smart decisions. But it will keep getting better.

Want Pricing AI That Doesn't Require a PhD?

If this resonated — if you're managing hundreds of products manually and leaving money on the table — let's talk.

I do free 30-minute discovery calls where we look at your operations and identify where AI could actually move the needle. No sales pitch. No generic advice. Just a real conversation about what's possible.

Sometimes the answer is "you're not ready yet" or "buy a SaaS tool for now." I'll tell you that honestly if it's true.

But if you have the data, the volume, and the need for control at scale, we might build something together.

Book a Discovery Call

Get AI insights for business leaders

Practical AI strategy from someone who built the systems — not just studied them. No spam, no fluff.

Ready to automate your growth?

Book a free 30-minute strategy call with Hodgen.AI.

Book a Strategy Call