Promotions were treated as software deployments, not marketing levers.
Before this initiative, launching a promotion was an agonizingly manual, slow, and error-prone relay race across multiple departments.
Whenever a commercial team wanted to run a campaign, the process looked like this:
- 1. Marketing filed an ad-hoc ticket with Data Analysts asking for a custom Metabase SQL query to profile target farmers.
- 2. Marketers downloaded raw CSV files and manually filtered customer lists using desktop spreadsheets.
- 3. Marketing then submitted a feature request to the Mobile App Product Manager and Engineers to hardcode promotional logic directly into the mobile app codebase.
- 4. The app release cycle had to pass QA, app store review, and user adoption before eligible farmers could even see the discount.
Because campaigns had to be literally coded into production, commercial timing was impossible to control. Market conditions shifted before releases shipped, data accuracy was riddled with manual CSV errors, and promotions operated with little leverage, functioning as costly, blanket subsidy programs that burned precious gross margin.
Promotions generated transaction volume, but at an unsustainably high acquisition and retention cost. Without granular real-time segmentation, discount budgets were distributed indiscriminately to farmers who would have transacted anyway, while underserved cohorts received mismatched incentives.
Scattered data, broken pipelines, and silos across three business lines.
The operational friction was amplified because eFishery operates across three distinct lines of business, each functioning almost like an independent business unit with its own data needs:
Supplies aquafeed, seed, and pond equipment. Needed promotions tied to seasonal stocking cycles, farm hectares, and feed volume commitments.
Purchases and distributes harvested fish to B2B buyers. Needed incentive structures tied to delivery punctuality, size grading, and cold-chain compliance.
Deploys and monitors automated feeding devices. Needed promo triggers for hardware adoption, sensor subscriptions, and feeding frequency milestones.
To launch a cross-business promotion, more than ten separate roles had to coordinate: Data Engineers, Data Scientists, Data Analysts, Marketing Officers, Product Managers, Engineers, and QA teams across all three divisions.
The root cause was clear: customer records were fragmented across disparate databases, data pipelines were brittle, and no single system existed to evaluate customer eligibility dynamically.
Separating pipelines by data freshness tiers.
A fundamental breakthrough came when we analyzed data velocity: not all customer attributes need to be processed at the same speed.
Trying to run all customer data through an expensive real-time streaming pipeline would collapse under cost and complexity. Conversely, running everything in daily batch jobs meant promotions could never respond to user actions inside the app.
We established an architectural framework separating data ingestion and segmentation into four distinct freshness tiers:
Pond hectares, historical harvest yield cycles, multi-month credit scores, and farmer demographic classifications.
Feed replenishment cadences, completed invoice settlement statuses, and rolling monthly transaction volumes.
Field agent check-in verifications, smart feeder operational alerts, and browsing sessions on mobile apps.
Cart contents, in-app actions, coupon redemptions, and real-time promo evaluation directly at checkout.
This tiered model allowed our engineering team to balance compute overhead against operational agility, delivering sub-second eligibility responses at a fraction of typical infrastructure cost.
A unified Customer Data Platform paired with a self-serve rule engine.
We made the strategic decision to consolidate all customer data into a single Customer Data Platform (CDP) and build an internal Promo Management Portal on top of it.
We evaluated several enterprise off-the-shelf marketing automation and CDP platforms. However, they were universally rejected for two critical reasons:
1. Incompatible Data Behaviors: Off-the-shelf tools are designed for standard retail e-commerce. They could not handle complex aquaculture lifecycle logic, such as pond biomass calculations, multi-party debt obligations, and hardware feeder telemetry.
2. Budget & Licensing Constraints: Third-party SaaS pricing scaled exponentially with event volume. Our custom architecture delivered the exact functionality required within a disciplined internal budget.
Centralized data model joining Upstream input sales, Downstream harvest transactions, and IoT telemetry into one profile.
No-code rule builder empowering marketers to filter cohorts by pond size, location, historical volume, and payment behavior.
Lightweight API exposing eligible discounts to the Farmer App, Agent Field App, and internal web portals without app releases.
Instantly calculates eligibility and applies personalized promotions right when the farmer configures an order.
- Ad-hoc SQL tickets on Metabase for customer cohort lists
- Manual CSV downloads prone to stale data and human errors
- Engineers had to hardcode business logic into mobile apps
- Deployment tied to mobile app store release schedules
- Blanket discounts burned margin with low customer leverage
- Unified CDP consolidating Upstream, Downstream, and IoT data
- Self-serve visual rule builder with zero data team dependencies
- Headless promo API serving mobile apps and field tools dynamically
- Instant campaign activation with zero app store deployments
- Hyper-targeted promotions maximizing ROI and preventing budget waste
Balancing technical complexity with high stakeholder stakes.
As the Product Manager responsible for this initiative, my role encompassed two equally demanding dimensions: technical orchestration and multi-divisional stakeholder alignment.
Technical Complexity: We had to architect and deploy a robust Customer Data Platform while simultaneously building an adjustable, user-friendly rule configuration portal and low-latency APIs. I directly led the data engineering team, platform engineering team, and UI/UX designers to translate multi-tier data structures into an intuitive marketing tool.
Stakeholder Complexity: More than ten separate parties across three distinct business lines had their own entrenched methods and competing revenue targets. Commercial heads were initially nervous about losing bespoke control over promotions.
To build trust, I partnered with customer-facing product managers to guarantee seamless mobile app integration, ran pilot campaigns with marketing teams, and established transparent reporting dashboards showing campaign performance in real time.
Saved IDR 19B in the first quarter while accelerating revenue.
In the first quarter after the platform launch, we reduced our promotional spending ratio by 77%, generating direct net savings of IDR 19 Billion while exceeding our quarterly revenue benchmarks.
Measurement Methodology: Facing company-wide cost-effectiveness mandates, we conducted structured experiments across customer cohorts to determine promo price elasticity. We then shifted promotional budgets strictly toward high-propensity, margin-accretive cohorts, eliminating wasteful blanket subsidies. By comparing promo ratio metrics across consecutive quarters, the data proved that targeted incentives drove higher conversion at a fraction of prior spend.
Data is only valuable if it drives precise action.
Critical data about customers must be managed properly and processed cleverly to generate measurable enterprise value for the company and genuine utility for the customer.
Many organizations invest heavily in data pipelines only for the data to sit passively in dashboards and business intelligence tools. The highest-leverage product opportunity is building the operational bridge: connecting customer data directly to rule-based execution systems that automate commercial decisions at scale.