Building a Growth Capital Efficiency System: How Kelso Outdoor Goods Turned Budget Decisions into Automated, Repeatable Revenue Growth
Brandlark designed and built a fully automated capital allocation system for a $12M/year outdoor apparel brand — then handed it off. The client's only ongoing responsibility: approve or defer a weekly recommendation. Everything else runs itself.
The Situation
Kelso Outdoor Goods is a Nashville-based apparel and outdoor gear brand generating $12M in annual revenue. By the time they approached Brandlark, they had an $52K/month marketing budget spread across five channels — Meta, Google Search, retargeting, email/SMS, and SEO — but no consistent way to know which spend was working.
Blended ROAS had declined for three consecutive quarters. Every budget decision required a manual pull from three different platform dashboards, and those numbers never agreed with each other. The team was spending real time debating channel allocation with no reliable framework to resolve the disagreement.
Where Kelso stood at engagement start
The core problem wasn't spend level — it was allocation discipline. Kelso had no systematic way to compare initiatives across channels, no scoring framework to decide which opportunities got funded, and no automated monitoring to catch underperformance before it became expensive.
What Brandlark Built
Brandlark's role was to design, build, and validate the system — then hand it off. The engagement was scoped as a systems architecture project, not an ongoing management retainer. Kelso would own and operate everything after delivery.
Over a 60-day build period, Brandlark assembled four interconnected components:
Data connectors
Integrations to Shopify, Meta Ads, Google Ads, Klaviyo, and GA4 that automatically pull unit economics, channel performance, and attribution data on a daily refresh cycle. No manual exports. No dashboard maintenance.
GCE scoring engine
A continuously running model that re-scores all candidate growth initiatives weekly against the live portfolio GCE baseline. When a channel's performance shifts, the scores update automatically — no analyst required to rerun the numbers.
Weekly recommendation layer
A plain-language output that tells Kelso's team exactly what to approve, what to defer, and why — expressed in dollars and expected revenue impact, not marketing jargon. The most complex action required of any team member is a single click.
Performance dashboard
A single view showing current allocation versus GCE-weighted recommended allocation, initiative status, and trailing performance against the revenue baseline. No new tools to learn — the dashboard surfaces only what's needed to make the approval decision.
The design constraint Brandlark enforced: every component had to be operable by someone with no technical background. The system was built to run itself. Kelso's team needed to understand what they were approving — not how the system produced the recommendation.
Step 1: Automated Data Collection
In a manual diagnostic, a team member would log into each platform, export performance data, reconcile the numbers, and calculate unit economics by hand. That process takes hours and introduces reconciliation errors every time it runs.
In Kelso's system, this happens automatically. Each platform connector pulls its designated data on a daily schedule, feeds it into the GCE engine, and updates the scoring model without any human input. Unit economics are computed from live data — not entered manually and not estimated.
| Platform | Data Pulled Automatically | Used to Calculate |
|---|---|---|
| Shopify | Orders, revenue, returns, SKU-level margin | AOV, GPMR, monthly order volume, CLV inputs |
| Meta Ads | Spend by campaign, attributed revenue, clicks | CAC (paid social), channel ROAS, cost per acquisition |
| Google Ads | Spend by campaign type, conversions, search impression share | CAC (paid search), brand vs. non-brand ratio |
| Klaviyo | Email/SMS attributed revenue, list growth, flows performance | Email revenue share, lifecycle contribution |
| GA4 | Sessions by source, conversion rate by channel, add-to-cart rate | CVR, funnel drop-off points, mobile vs. desktop gap |
Once the connectors were live, Kelso's unit economics populated automatically within 48 hours:
These numbers feed the GCE engine in real time. When Kelso's Shopify margin changes after a product line adjustment, the scores update automatically on the next daily refresh.
Step 2: Continuous GCE Scoring
The GCE engine runs every week against Kelso's live portfolio data. It scores all candidate growth initiatives using the Growth Capital Efficiency formula — ROAS × Gross Product Margin — and ranks them against the portfolio baseline.
The baseline (4.2x for Kelso at engagement start) is the median GCE score across all currently active initiatives. Any initiative scoring above the baseline is eligible for funding. Anything below is deferred until conditions change — or until quarterly recalibration moves the baseline.
| Initiative | GCE Score | Capital Required | Time to Revenue | Status |
|---|---|---|---|---|
| Email Lifecycle Automation | 7.6x | $4,200 | 3 weeks | Funded |
| Cart Abandonment Recovery | 6.8x | $6,000 | 2 weeks | Funded |
| PDP Optimization (Mobile) | 5.1x | $10,200 | 4 weeks | Funded |
| Retargeting Rebuild | 4.5x | $4,000 | 2 weeks | Funded |
| SEO Content Sprint | 3.8x | $8,000 | 14 weeks | Deferred |
| Referral Program Launch | 3.1x | $8,200 | 8 weeks | Deferred |
Baseline: 4.2x (portfolio median at engagement start)
All four initiatives scoring above 4.2x were funded. SEO and Referral scored below the baseline — not because they are bad ideas, but because at Kelso's current unit economics, the capital generates better return elsewhere. Both are reviewed at every quarterly recalibration.
No analyst manually scores these. When Kelso's AOV shifts after a product launch, or when a new initiative is proposed, the engine re-scores the full list on the next weekly cycle. The output is always current.
Step 3: One-Click Recommendations
Each week, the system surfaces a single recommendation package to Kelso's team. The package is written in plain language — what to change, how much to move, and what the expected revenue impact is. There is no marketing jargon, no dashboard to interpret, and no calculation required.
Total initiative budget: $24.4K — drawn entirely from waste recovered in existing spend. Kelso did not increase their total marketing budget by a single dollar.
The system modeled the GCE impact of each shift before generating the recommendation. Kelso's Head of Growth approved the first package without needing to understand the underlying math — only the business outcome.
Step 4: Channel Reallocation
Over the first 60 days of system operation, Kelso's channel mix shifted substantially — entirely through the weekly approval process. No budget review meetings. No agency presentations. Just a sequence of one-click approvals that the system translated into execution directives.
| Channel | Before | After | Change | Rationale |
|---|---|---|---|---|
| Meta Branded | 32% | 18% | −14% | High GCE cannibalization of organic branded demand |
| Google Search | 28% | 28% | — | Non-brand performance within acceptable range |
| Retargeting | 12% | 22% | +10% | Underutilized pool relative to traffic volume |
| Email / SMS | 8% | 18% | +10% | Highest GCE in portfolio at 7.6x — underallocated |
| SEO / Content | 20% | 14% | −6% | Deferred below baseline — revisit at Q3 recalibration |
| Total budget | 100% | 100% | $0 net change | Same total spend, different allocation |
The system modeled the expected GCE impact of each proposed shift before surfacing it as a recommendation. Kelso reviewed the business outcome — not the model — and approved or deferred. The execution directives were generated automatically.
The Handoff
After 60 days of build and validation, Brandlark handed the system off to Kelso. The handoff was structured around one principle: the client should be able to run this without Brandlark in the room.
That meant the handoff wasn't just a credentials transfer. It was a deliberate knowledge transfer — making sure Kelso's team understood what the system was doing, why it was making each recommendation, and what to do if something looked wrong.
What the handoff included
The design intent: the most complex action a Kelso team member ever takes is clicking "Approve" or "Defer." If understanding the recommendation requires more than reading two sentences, the system failed its design requirement. Brandlark enforced this standard throughout the build.
The Performance Loop
Post-handoff, the system maintains itself through three overlapping review cycles. Kelso's internal team time across all three: under 30 minutes per week.
- ·System surfaces one recommendation package (approve or defer)
- ·Threshold breach alerts fire automatically if any channel drops below predefined ROAS floor
- ·No meeting required — review takes 10–15 minutes
- ·System generates a trailing 30-day performance summary against GCE projections
- ·Any initiative more than 15% off projection triggers an automatic variance flag
- ·Kelso reviews and approves any proposed adjustments — no manual analysis required
- ·Full portfolio re-score against updated GCE baseline
- ·Initiative pipeline refreshed with new candidates based on current business state
- ·Structural changes (new product lines, market shifts) incorporated into the model
- ·60-minute call with Brandlark — the only scheduled external touchpoint
The quarterly call is the only scheduled external dependency in Kelso's system. Everything else — monitoring, scoring, flagging, recommendation generation — runs without a human in the loop until a decision is required.
The Future State: Agentic AI
Kelso's system today operates on a human-in-the-loop approval model: the engine scores, surfaces recommendations, and executes what's approved. That model works — and it's deliberately conservative. Client approval remains the authority for any capital decision.
The next evolution of the system architecture introduces agentic AI layers that expand what the system can do autonomously, while preserving the same approval-based ownership model.
Self-expanding integrations
Agentic AI that can identify a new relevant platform (TikTok Ads, Amazon DSP, a new loyalty tool) and build the data connector autonomously — presenting the integration to the client for approval before activating it. No developer engagement required.
Autonomous initiative generation
Rather than scoring a fixed pipeline of candidate initiatives, the agent continuously scans for new opportunities — emerging search demand patterns, competitive spend shifts, audience behavior changes — and proposes net-new initiatives for human review.
Self-calibrating baselines
Instead of quarterly Brandlark-assisted recalibrations, the model recalibrates its own GCE baseline continuously as the portfolio evolves. Quarterly calls shift from recalibration to strategy — reviewing what the model proposed versus what actually happened.
Variance-triggered root cause analysis
When a channel underperforms against projection, the agent investigates the data automatically — isolating whether the cause is seasonal, competitive, creative fatigue, or structural — and surfaces a root-cause hypothesis alongside the variance flag.
The ownership model doesn't change. As the system gets smarter, the client remains the approval authority for every capital decision. Agentic AI expands what the system can surface — it doesn't replace the human judgment that decides what gets executed.
Results
Twelve months after system delivery, Kelso's numbers told a clear story. Not just in revenue — in how the business approached marketing capital entirely.
"Before this system, every budget decision was a negotiation. Someone would pull numbers from Meta, someone else would pull from Google, and we'd spend an hour arguing about which source was right. Now the system tells us what to approve, we click once, and we move on. I don't think I've spent more than 20 minutes a week on marketing budget decisions since we launched it. The $420K lift is real — but honestly, the time we got back is what surprised me most."
