Mid-Year Financial Update
July 23, 2026
With the first half of the year closed, it’s time for a proper mid-year review.
Bottom Line
Section titled “Bottom Line”Through June, we’ve brought in $1.7M in revenue - more than we earned in all of 2025, with six months still left in the year. We also beat our Q2 revenue target and have been profitable every month for six months straight.
The one thing we continue to watch is revenue concentration. A large share of our revenue comes from a small number of customers. We’re managing it well, but it’s important that everyone understands the risk.
Are We Making the Money We Projected?
Section titled “Are We Making the Money We Projected?”Yes - and we’re ahead of our budget
- We beat our Q2 revenue target: $949.7K actual vs. a $905.2K budget (+4.9%)
- Our full-year outlook is up too: we’ve reforecast ~$1.87M additional revenue ($5.53M vs. $3.66M), driven mainly by a restructured NYCA contract and stronger performance on transaction fees. Partially offsetting the reforecast revenue is churn from Tower Road (~$10K) and contraction from First Service Energy ($7K anticipated vs. $36K).
A nuance worth knowing: while the full-year outlook is much stronger than planned, our first-half actuals are tracking about 10% behind the pace needed to hit the full-year re-forecast number. This is a timing issue tied to when invoices land - expenses are actually under budget. We expect to realize most of the reforecast upside in Q4.
What’s Driving Performance - and the Concentration Risk
Section titled “What’s Driving Performance - and the Concentration Risk”As of June, 3 programs made up about 74% of revenue: Willdan - NYCA (~37%), HPD - Technical Assistance (~19%) and Willdan - ConEd (~17%). The two programs with Willdan account for over half of our revenue and losing a relationship with either company would have an outsized impact. Revenue concentration remains our biggest structural risk. The flip side is that this program revenue is large, recurring and predictable - which is a big part of what’s enabling our operational efficiency (i.e. steady expenses relative to revenue, no need to draw on reserves, more room to plan ahead).
Collecting What We’re Owed (Accounts Receivable)
Section titled “Collecting What We’re Owed (Accounts Receivable)”We’re on target, and expect to stay there. Our goal is to collect 85–90% of invoiced amounts in a given month, in cash. Monthly collection rates fluctuate (82% Jan v. 117% Feb v. 71% Apr v. 121% May v. 212% June) because they include catch-up on older invoices, not just current billing - that’s why some months look like we collected more than 100%. The rolling average of 86%, however, sits in our target range. This improved rate of collection is the result of a consistent follow-up protocol, and we expect to continue this discipline.
Managing Cash Efficiently
Section titled “Managing Cash Efficiently”We’re not just increasing revenue - we’re managing cash carefully. We:
- Haven’t had to tap our equity/buffer account - it’s grown every month this year ($208K to $388K) and it has yet to be drawn down.
- Are better prepared for our historically lean months (July, August and December, based on the last two years) than we’ve been in the past, thanks to the cash build-up and stronger collections.
- Cash runway buffer (cash on hand / average monthly expenses) improved to 3.67 months, up from 2.4 in May.
2026 vs. 2025 - Better by Every Measure
Section titled “2026 vs. 2025 - Better by Every Measure”A year ago, we were spending cash faster than we brought it in. Today, we generate more cash than we spend, and our cash balance is meaningfully stronger than it was at this point last year.
| Metric | Mid-2025 | Mid-2026 | Change |
|---|---|---|---|
| YTD Revenue (accrual) | $780K | $1.71M | +120% |
| Cash on Hand (June) | $735K | $931K | +27% |
| YTD Cash Flow (in - out) | -$278K (burning cash) |
+$97K (generating cash) |
+$375K |
| Profitability | Not profitable | Lightly profitable 6 mo. running |
Turned around |
| Cash Runway Buffer | Thin to non-existent | 3.67 months | Improving |
Risks to Watch
Section titled “Risks to Watch”- Customer concentration — our biggest structural risk. It is still elevated at ~74% of revenue across three programs and two customers.
- Buffer account (our cash cushion) is below target —$388K saved against a 3-month target of $761K — roughly half. We’re contributing to it but slowly.
- NYCA’s large restructured invoice (~$2.1M) is doing a lot of work in our full-year numbers. This won’t be collected until October at the earliest and is then recognized over 2+ years - a large portion of our full-year reforecast depends on that invoice being recognized as planned.
- Smaller accounts (real estate and lender subscriptions) will continue to churn. This is an intentional shift, and a key takeaway from the strategy offsite is to redirect our focus to developing other revenue streams. Watch the offsite recap brownbag and listen to our Productized Services podcast for additional insight.
Metrics
Section titled “Metrics”- Unique Buildings: 22,263 (Real time, via Admin panel!)
- Annual Run Rate: $3.5M (+2.1% MoM)
Monthly Metrics
| Metric | Value | Takeaway |
|---|---|---|
| Revenue (YTD) | $1,714,127 | YTD revenue is up 120% YoY and surpassed FY 25 revenue |
| Transaction fees | $58,114 (3.4% of YTD revenue) | YTD transaction surpassed FY 25 fees |
| Annual run rate | $3.5M (+2.1% MoM) | Slight boost from First Service subscription |
| Cash | $931,244 (+52% MoM) | Strong collection in June of current and past invoices |
| YTD Cash In / Out | $2,036,602 in / $1,454,609 out | More money in than out = good, cash in +42% YoY |
| Accounts receivable | $27,683 (-92.1% MoM) | Strong collection month and catch up on Related invoices |
| Net burn (monthly, accrual) | $62,395 (-63% MoM) | Positive - this is profit |
| Net burn (YTD-to-last-month, cash) | $96,999 (+127% MoM) | Positive - this is profit |
Details:
- AR Collection is improving with strong collection of outstanding invoices collected in June (212%). Our goal is to collect 85%-90% of outstanding invoices each month and the average of the past three months, is 135%.
- Net burn Usually, net burn (or profit in our case) is higher on an accrual basis vs. cash basis at this point during the year. However, a strong collection month in June meant we brought in a lot of cash, but only recognized a portion of that on an accrual basis. Also, Net burn accrual was down MoM due to a boost in other income in May.
Current expenses by department
| Department | Spend | Explanation of MoM Change |
|---|---|---|
| COGS | $21,210 (-14.8% MoM) | Decrease MoM represents a return to normal Fly.io expenditure |
| G&A | $58,450 (+5.2% MoM) | Increase in accounting fees driven by Graphite’s R&D tax bill |
| R&D | $144,612 (+3.4% MoM) | Expected increase in consultanting fees |
| Sales | $22,503 (+3.5% MoM) | Small increase in software spend |
Development
Section titled “Development”This Week’s Highs and Lows
Section titled “This Week’s Highs and Lows”- Robin presented a detailed comparison of our Building Data Platform data against existing data sources used at NYSERDA. (FRH)
On Deck for Next Week
Section titled “On Deck for Next Week”Upcoming Releases
Section titled “Upcoming Releases”- New building lobby/landing page will be released with v2.20.4, ETA 7/28. (FH)
Please Leave Feedback
Section titled “Please Leave Feedback”Please note your reaction to this update in the Discord channel. It helps us to know what is resonating, what is unclear, etc. Thanks!
- What are your highlights / low-lights?
- Did we miss a highlight? Something else you want to react to?
