1 · The Client in One Page
Stocks.News (operated by IR Agency LLC) is a dual-revenue financial media platform — the "Anti-Bloomberg" for Gen Z and Millennial retail investors. Founded 2022, headquartered in Newark, NJ. The business runs two distinct revenue engines that share infrastructure and audience:
- IR Agency B2B (primary — $10–15M/yr): Investor relations contracts with public NASDAQ/NYSE companies. Avg contract value $1–1.5M. ~10–15 active clients simultaneously. Services include stock alerts via app (push to 50K+ users), newsletter placements in The Final Tally, SMS campaigns to 80K+ phone numbers, media placements (CNBC, Bloomberg, MarketWatch), and community management (Telegram, Discord, TradingView). 100+ companies served since 2022 per SEC filings.
- Consumer Media (secondary — est. <$500K/yr): Newsletter (The Final Tally) + iOS/Android app + premium SMS. Consumer product is currently subsidized by the B2B business; its primary strategic function is growing the audience that makes IR Agency contracts more valuable.
Brand voice
Irreverent, meme-literate, personality-driven. Tagline: "The Anti-Bloomberg." Voice traits: smart but not snobbish; direct but not dumb; informed but never institutional. Uses pop culture references, self-aware humor, and internet-native language. Brand promise: "Market intelligence that doesn't put you to sleep." Teal/blue palette (#16928D primary, #DFF1F0 secondary), Poppins type. Brand tokens in clients/stocks-news/config/brand.json.
Core audiences
- Consumer — Gen Z / Millennial retail investors: Discovered markets through TikTok, Reddit, YouTube. Find Bloomberg and CNBC inaccessible. Want signal over noise, delivered in a voice they recognize.
- B2B — Public company IR teams: NASDAQ/NYSE companies seeking audience reach (app users + newsletter subs + SMS list) for investor awareness campaigns. The SN audience is the product being sold.
Competitive positioning
Direct consumer comps: Morning Brew (newsletter scale comp), MarketBeat, Seeking Alpha, Robinhood. SN's edge is the personality-driven editorial voice + B2B revenue subsidization that allows aggressive consumer growth spending. The structural risk: no editorial firewall between IR-paid content and independent editorial — a credibility vulnerability if surfaced publicly.
2 · Account Team
| Name | Role | Cost / mo | Notes |
|---|---|---|---|
| Nikhil Arora | CMO | $4,000 est. | Account lead; shared CMO (also BloomTech + Swimply) |
| Chris Ahn | Paid Social | $2,500 | Paid social strategy + execution |
| Chris Johnson | Email / Lifecycle | $2,500 | Newsletter + Iterable lifecycle; also on Swimply, SBF, Soko, MrXmas, FastMold |
| Steve Paul | SEO / Build | $3,000 est. | SEO strategy; also on FFC + HBAI |
| Portia Ancheta | Design (XA) | ~$1,600 est. | Offshore · Email design; shared with Soko Glam |
| Rafa Guida | Operations (shared) | Shared | Creative briefing + operations; also on Swimply/BloomTech/Soko/MrXmas/SBF |
Channel Coverage Map (per P&L Hub assignments)
| Channel | Co-Pilot | Status |
|---|---|---|
| CMO / Strategy | Nikhil Arora | Staffed |
| Paid Search | — | No co-pilot assigned in P&L Hub |
| Email / CRM (Iterable) | Chris Johnson | Staffed |
| Paid Social | Chris Ahn | Staffed |
| SEO | Steve Paul | Staffed |
| SMS | — | No co-pilot assigned in P&L Hub |
| Organic Social / Content | — | No co-pilot assigned in P&L Hub |
| Creative | Portia Ancheta (design only) | Design covered — no creative strategist |
3 · Client Contacts (Stocks.News Side)
| Person | Role | Notes |
|---|---|---|
| Rafael "Raf" Pereira | Founder / CEO / Everything | Sole operator: writes The Final Tally daily, manages Google Ads ("Raf 31626 Test" campaign), makes all product decisions, handles IR Agency B2B client relationships, and is the brand voice. One-person dependency is the #1 operational risk. No LinkedIn profile, no visible delegation. |
| IR Agency Staff | B2B client management (inferred) | IR Agency LLC likely has additional staff managing 10–15 active IR contracts (sales, account management, press release production). Exact team composition unknown — not visible in public materials. |
| App Developers | Engineering (inferred) | Version 1.1.130 with 130+ incremental builds suggests 1–2 active developers (likely contracted). Cross-platform (iOS + Android) with frequent release cadence. |
4 · Channels Currently Managed
Not currently owned by MH-1: App store optimization (ASO), referral program, SEO/content hub, paid social (Meta/TikTok), Apple Search Ads. MH1 has flagged all of these as high-opportunity gaps in the driver tree and ad performance analysis.
5 · Active Priorities & Calendar
Lifecycle activation — overdue workstream
- Welcome series (Iterable): Designed but never deployed — 26+ days overdue. Highest-priority lifecycle gap. Every new subscriber from Google Ads ($8.79 CPI) lands in a cold inbox with no onboarding sequence.
- Re-engagement campaign: 47% non-openers (~16,500 subscribers) need a 30-day re-engagement sequence followed by sunset. List pruning is the single highest-leverage engagement action.
- Premium upsell flow: Iterable designed, not launched. No premium tier has been formally defined or priced, blocking this flow.
- Cross-platform activation: Newsletter-to-app and app-to-newsletter CTAs exist informally; structured cross-platform flows need to be built in Iterable.
Google Ads optimization — active
- W12→W13 improvement: CTR +196%, CPC -54%, CPI -18% — optimization is working
- Two-campaign structure is undertested. Production campaign should get 70%+ of budget once winner is clear.
- No post-install tracking to Mixpanel — can't measure which campaign drives higher-quality installs
- Apple Search Ads not yet launched — highest-intent app install channel for finance apps
Newsletter economics — action items
- Direct sponsorship sales: zero direct sponsors today. One fintech sponsor at $3K–$5K/placement/week would outperform an entire week of programmatic fill ($2,940–$8,820/month). This is the fastest newsletter revenue lever.
- Sunday send ROI: Sunday index of 0.21 means near-zero opens. Eliminating Sunday sends frees Raf's time and improves average open rate metrics.
- Send time shift: 89% of sends at 4–5pm ET; 9:30–11am ET is the standard morning engagement window for financial newsletters.
Organic acquisition — gap to close
- Beehiiv referral program: native referral tools available, not configured. Morning Brew's primary growth engine at early stage.
- Social media launch: TikTok + Twitter/X minimum viable. The "Anti-Bloomberg" voice is TikTok FinTok content. No audience cold start needed — 35K newsletter subscribers are a built-in promo list.
- SEO content hub: stocks.news domain + financial keywords = high organic potential. Zero content investment today.
Seasonal calendar — Q2 2026
| Event | Date | Signal | Action |
|---|---|---|---|
| Q1 Earnings Season | Apr–May 2026 | Peak engagement (highest opens + clicks) | Boost Google Ads budget 20–30%; premium conversion push |
| Fed Rate Decision | May 7, Jun 18 | Alert usage spike | Pre-position app alert coverage; newsletter lead story |
| Q2 Earnings Season | Jul–Aug 2026 | Peak engagement | Direct sponsorship rates should be tiered up; highest CPM window |
| Summer (Jun–Aug) | Ongoing | Historically lower engagement | Re-engagement campaign timing; list pruning before summer dip |
| Q3 Earnings Season | Oct 2026 | Peak engagement + social media launch window | Target social media launch for Oct — highest-impact debut |
6 · Operating Cadence
- Meetings (30d): 7 total. Standard cadence for a lean, single-operator account. Most meetings are likely strategy + review with the MH1 co-pilot team. Fireflies records calls.
- Asana project: Stocks.News (gid
1214094196121416) — 53 open tasks, 44 completed in past 14 days, 11 overdue. Score: 100/100. High throughput account. Sections likely mirror standard MH1 structure: Client Review · In Progress · Internal Review · Recurring Tasks. - Slack channel:
C0A7UJH0D6K— channel ID from dashboard worker. Primary comms hub for MH1 ↔ Raf coordination. - Weekly metrics automation: MH1 runs automated collection of Beehiiv + Google Ads data weekly. W12/W13 data is the basis for all quantitative analysis in this dossier.
- Deliverables rhythm: Newsletter performance report (Beehiiv, 73-post analysis) is live. Weekly metrics deck auto-generates. SN Event Bridge pushes Iterable events to Mixpanel continuously — but no one is actively reviewing the Mixpanel data.
- Content cadence: Daily newsletter send (7 days/week) at 4–5pm ET. ~3–5 hours/day of content production by Raf alone. 365 newsletters/year from one person. No editorial review process, no backup writer, no content calendar visible.
MH1 infrastructure deployed (reference)
| Asset | Status | Notes |
|---|---|---|
| SN Event Bridge | Live | Iterable → Mixpanel relay; 16 event types mapped; deployed on Vercel |
| Newsletter Performance Report | Live | 73-post Beehiiv analysis; daily send tracking, day-of-week indexing, engagement trends |
| Weekly Metrics Automation | Live | Auto-pulls Beehiiv + Google Ads weekly (W12/W13 confirmed) |
| Brand Config | Live | clients/stocks-news/config/brand.json; teal palette, Poppins, voice guidelines |
| Iterable Lifecycle Flows | 26+ Days Overdue | Designed but not deployed; welcome, re-engagement, premium upsell sequences |
| Mixpanel Monitoring | Unmonitored | Event Bridge is live but no active dashboards or alerting on the data |
7 · Data & Tooling
Connected and active
- Live Beehiiv — newsletter distribution, subscriber data, engagement metrics, programmatic ad network. Scale plan ($99/mo). 139 campaigns published.
- Live Google Ads — app install campaigns; weekly metrics pulled by MH1 automation. $15K/month spend. W12/W13 actuals available.
- Live Iterable — configured for email, push, SMS, in-app, web push. Event Bridge → Mixpanel relay is live. Lifecycle sequences not deployed.
- Live Mixpanel (Project 4011486) — events flowing from Iterable via Event Bridge. 16 event types mapped across 5 channels. No active monitoring or dashboards confirmed.
- Live App Store / Google Play — iOS 4.7/5 (2,842 ratings), Android 4.3/5 (1,570 reviews), 50K+ Android downloads. Version 1.1.130 (active development).
- Partial Data feed APIs — real-time market data, AI sentiment analysis, push notification triggers. Active; specific providers and costs unknown.
Critical data gaps
- P0 Stripe / RevenueCat: No app subscription pricing or premium conversion data connected. Can't calculate true LTV or model consumer revenue. Every app revenue figure in this dossier is an estimate.
- P0 Mixpanel MAU / DAU: App engagement metrics are entirely GRAY. Out of 15 app-related driver tree metrics, 13 are unknown. Can't optimize onboarding, retention, or premium conversion without this data.
- P0 Beehiiv ad revenue actuals: Newsletter revenue estimates are based on CPM ranges ($10–$30) and open rate. Actual ad fill rate and revenue from Beehiiv dashboard not extracted.
- P1 GA4: Website analytics not connected to any system. Organic traffic, SEO performance, and web-to-app conversion are blind spots.
- P1 App retention curves: D1/D7/D30 retention unknown. Can't calculate LTV. Finance app benchmark: D30 ~10–15%.
- P1 Iterable lifecycle performance: Flows are not live — no data to pull. Once activated, campaign performance data will flow through Event Bridge to Mixpanel.
- P2 IR Agency contract data: B2B revenue ($10–15M estimate) is extrapolated from SEC filings. Actual contract count, client list, and retention rate are unknown.
- P2 Premium SMS subscriber count: 80K phone numbers in the list, but actual paying SMS subscribers and revenue are unknown.
Repo layout
/home/exedev/mh2-stocks-news · modules: paid-ads/ · email-sms/ · lifecycle/ · creative/ · social/ · seo/ · retention/ · cro/ · research/ · plus 00_data/semantic-layer/, 20_intelligence/ (driver tree, revenue model, operations deep dive, ad performance, newsletter economics), 30_strategy/, and lib/. MH1 API client in lib/; all external calls go through the MH1 proxy.
8 · Friction Points
- Lifecycle is 26+ days overdue — the biggest deliverable gap. Iterable welcome, re-engagement, and premium upsell sequences were designed and built by MH1 but never deployed. Every subscriber acquired through Google Ads ($8.79 CPI) arrives to a cold inbox with no activation flow. This is the most directly addressable revenue gap on the account.
- 11 overdue tasks on 53 open (21% overdue rate). High velocity account with strong throughput (44 tasks done in 14 days), but 11 overdue suggests scope creep or client-side blockers. The overdue rate warrants a triage pass — identify which 11 are blocked vs. deprioritized vs. dropped.
- Sentiment at 67 — moderate risk signal. Not in danger territory (below 50 is red flag), but below the 75+ range that indicates healthy client relationship. The "signal blackout" dynamic — MH1 delivering infrastructure that isn't being actively used or monitored — is a relationship health risk. Nobody checking in means nobody catching issues before they become complaints.
- Single-person dependency is the dominant operational risk. Raf Pereira is the sole content creator, ad manager, product decision-maker, and B2B relationship holder. There is no documented backup. If Raf is unavailable for 2+ weeks, the consumer product effectively freezes. This isn't a MH1 problem to solve, but it's a client health risk that should be in the account conversation.
- 47% non-opener rate destroys monetization metrics. Nearly half the newsletter list has never opened. This dead weight: (1) drags open rate from a true ~50% (actives only) down to 27.83% reported; (2) makes sponsorship CPM pricing harder to defend; (3) costs money at scale; (4) signals acquisition quality problems from the SMS import. Re-engagement + sunset is the fix — and it's a short campaign, not a long build.
- Google Ads is the only acquisition lever — single-channel fragility. 100% of paid acquisition runs through two Google Ads campaigns. No Apple Search Ads, no Meta, no TikTok, no referral program, no organic. If Google Ads is disrupted (account issue, policy change, CPM inflation), subscriber growth stops immediately. The recommended diversification (Apple Search Ads + referral program) could maintain the same CPI at 80% more installs per dollar.
- No sponsorship sales = 5–15x revenue gap. Revenue per subscriber is $1.70–$5.05/year vs. $20–$75 industry median. The gap is entirely explained by programmatic-only monetization. A single fintech direct sponsor at $3K–$5K/week flat rate would outperform all programmatic revenue at current scale. This requires a sales process, not a product build.
- Editorial/IR credibility firewall is absent. Raf writes both IR Agency-paid promotional content and the independent editorial newsletter. No visible separation exists. One Reddit thread or journalist investigation could trigger a brand trust crisis. This is a low-probability, high-severity risk — but it's existential if it lands.
9 · What Matters Right Now
- Deploy the Iterable lifecycle flows — this week. The welcome series, re-engagement, and cross-platform sequences are designed and built. Every day they sit idle, subscribers acquired at $8.79 CPI land cold. The 26-day overdue clock is a revenue bleed. Identify the specific blocker (client approval? Final config? Coordination timing with Beehiiv send schedule?) and close it. Send time coordination is the primary risk: Iterable sends must not overlap with Beehiiv's 4–5pm ET daily window.
- Run the 30-day non-opener re-engagement campaign, then sunset. 16,500+ non-openers are dead weight. A 3-email re-engagement sequence (subject line tests, compelling hook, last-chance framing) followed by list pruning will: (a) increase reported open rate from 27.83% → ~42–50%; (b) raise CPM pricing floor from $10–$15 to $18–$25; (c) reduce Beehiiv costs at scale; (d) improve deliverability metrics. Net revenue impact: positive even with fewer subscribers. This is a 2-week build, not a long project.
- Get Raf to kill Sunday sends. Sunday performance index is 0.21 — near-zero engagement on a 7-day-a-week production cycle. Eliminating Sunday frees 3–5 hours of Raf's time each week (the scarcest resource on this account) without any material audience loss. This is also a prerequisite for shifting send time toward the 9:30–11am ET morning window where financial newsletters see best engagement.
- Launch one direct sponsorship sale. No product build required. The newsletter already has 35K subscribers and 27.83% open rate — strong enough to command $1,500–$3,000 per sponsored placement. Identify one fintech sponsor (Robinhood, SoFi, Wealthfront, Coinbase, or a trading tools company — all $40–60 CPM range, exact audience match). A single weekly sponsor adds $6K–$12K/month to newsletter revenue. This is the fastest consumer revenue improvement on the account.
- Connect Mixpanel post-install tracking to Google Ads. Right now, the account spends $15K/month acquiring app installs with no visibility into what happens after installation. Adding UTM tracking to link Google Ads campaigns to Mixpanel events (watchlist creation, Day 7 return, alert setup) takes one engineering sprint and unlocks: (a) campaign quality comparison; (b) true LTV modeling; (c) data to defend or reallocate the $15K/month. This is the highest-leverage data project on the account.
- Add Apple Search Ads at $2K/month. Apple Search Ads is the highest-intent app install channel — users actively searching the App Store for finance tools. Estimated CPI: $4–$6 vs. $8.79 current. Starting at $2K/month is low risk, tests the channel, and provides a second data point on acquisition quality. With Mixpanel tracking active (item 5), you can compare Day 30 retention by source within 60 days.
- Launch the Beehiiv referral program. Beehiiv has native referral tools built in — this is a configuration task, not a build. Morning Brew scaled to 1M+ subscribers largely through referrals. Current subscribers are invested enough in the newsletter (27.83% open rate) to share it for a light incentive (exclusive content, premium trial, early access). Target: 20% of new subscribers from referrals within 90 days. This reduces CAC from $3.19 (Google Ads) toward $0.50–$2.00.
- Re-engage the account relationship — end the signal blackout. MH1 has delivered significant infrastructure (Event Bridge, newsletter report, lifecycle flows, brand config, weekly metrics) but the account is in "signal blackout." No one is actively checking whether the built infrastructure is working, being used, or driving value. Schedule a bi-weekly sync (even 30 minutes) with Raf. The 7 meetings in the last 30 days suggest access — use it to close the loop on the 26-day overdue lifecycle gap and get confirmation on data access (Stripe, Mixpanel, Beehiiv revenue).
Caveat on numbers: IR Agency B2B revenue ($10–15M) is extrapolated from SEC filings and industry estimates — no direct data access. App subscription revenue and premium conversion rates are estimated from industry benchmarks (no Stripe/RevenueCat access). Newsletter ad revenue is estimated from CPM ranges (no Beehiiv dashboard actuals confirmed). All actuals sourced from MH1 weekly metrics (W12/W13), Beehiiv performance report (73 posts), Google Ads campaign data, and the intelligence documents in /home/exedev/mh2-stocks-news/20_intelligence/ as of 2026-04-09 to 2026-04-30.