Sitemap
Mohan Babu Jeevanandham

Mohan Babu Jeevanandham

Beginner to start Exploring Cloud Services

JMB Advertising: Forecast Demand, Review Recommendations, Keep Humans in Control

3 min readSep 27, 2026

--

Advertising decisions often depend on disconnected information: product demand, campaign performance, available inventory, and budget limits. Increasing spend without considering all four can waste budget or promote products that cannot meet demand.

I built JMB Advertising Demand & Campaign Optimizer (Local Prototype) to demonstrate a more controlled approach. It forecasts demand, proposes a campaign budget, checks deterministic business rules, and requires human approval before updating a simulated campaign.

Everything is simulated — no real advertising spend or campaign changes occur.

Press enter or click to view image in full size
Press enter or click to view image in full size
Agentized Controlled UI
Press enter or click to view image in full size
Press enter or click to view image in full size
API Dashboard

How it works

The application follows a straightforward workflow:

Historical demand → Forecast → Recommendation → Guardrails → Human approval → Mock execution → Audit history

The prototype includes five products with 90 days of synthetic demand each. A React dashboard displays demand history, a seven-day forecast, campaign metrics, inventory, and a proposed budget change.

Before execution, the backend checks that:

  • The budget increase does not exceed 20%.
  • The weekly campaign budget stays within $5,000.
  • Historical forecast accuracy meets the 80% threshold.
  • Inventory covers forecast demand plus a buffer.
  • A human explicitly approves the proposal.

The server rechecks current conditions before applying a change. Duplicate requests cannot execute the same recommendation twice, and decisions and actions are recorded in audit history.

Architecture: start locally, evolve deliberately

The current prototype uses React and TypeScript, Python 3.12 with FastAPI, and local JSON persistence. A deterministic FixtureReasoner generates proposals without calling an AI model or incurring AWS charges.

Get Mohan Babu Jeevanandham’s stories in your inbox

Join Medium for free to get updates from this writer.

A future serverless version could use:

  • Private S3 and CloudFront for frontend hosting.
  • Cognito for authentication.
  • API Gateway and Lambda for request processing.
  • S3 for historical demand.
  • DynamoDB for campaign state, approvals, and audit records.
  • Amazon Bedrock for recommendation reasoning.
  • CloudWatch for logs and operational visibility.
  • Route 53 and Terraform for custom-domain support and infrastructure management.

These AWS components are planned extensions, not part of the deployed prototype.

Which models can forecast demand?

The current implementation starts with a transparent baseline: each future day uses the average demand from the previous four matching weekdays. Historical backtesting measures its accuracy.

Potential next steps include:

Approach When it could help Exponential smoothing Demand with changing levels, trends, or seasonality SARIMA (Seasonal Autoregressive Integrated Moving Average) Products with consistent seasonal patterns Gradient-boosted trees Forecasts using price, promotions, holidays, inventory, and lagged demand Global forecasting models Learning shared patterns across a larger product catalog

Model complexity should follow the data. With only 90 synthetic observations per product, a simple baseline is easier to explain and evaluate. More advanced models would need richer real-world data and time-based validation.

The dashboard’s “confidence” score is a historical backtest accuracy measure, not a probability that future demand will occur. An LLM would explain and recommend; numerical forecasting would remain a separate service.

The engineering lesson

A useful recommendation system needs more than a persuasive answer. It needs measurable forecasts, enforceable rules, explicit approval, and a record of what happened.

JMB Advertising demonstrates how those controls can work together in a small, understandable application — before introducing real integrations or additional infrastructure !!

Learning and Sharing

Building JMB Advertising helped me explore how forecasting, recommendation logic, deterministic guardrails, and human approval fit together. My biggest takeaway: generating a recommendation is only one part of the solution — validating it and controlling execution are equally important.

I’m sharing this project as part of my learning journey in AI-assisted applications and cloud architecture. Next, I plan to explore Amazon Bedrock and an AWS serverless deployment while keeping the workflow transparent and human-controlled.

--

--

Mohan Babu Jeevanandham
Mohan Babu Jeevanandham
0 followers

Beginner to start Exploring Cloud Services