Skip to main content

Data Dashboard

Finance

Overall Goal

We will have the organizational culture, structure, governance, and funding that support our success.

Objectives

  • Increase Financial Resilience
  • Diversify and Grow Recurring & Renewing Revenue
  • Build Scalable Financial Systems
Edit notes

Key Performance Indicators

Wired KPIs

KPI Name Current Details Goal 2026 Goal 2030 Trend
Reserve Funds (as Months of Operating Expense)
Organization cash reserves measured by how many months of average operating expenses they could cover.
3.01
100% of goal
3.00 6.00
Earned Income Sustaining Core %
Measure of how much our core recurring revenue (dues, etc.) covers our core operating expenses.
93%
98% of goal
95% 100%
8 Quarters
Member Revenue (Quarterly)
Total revenue received from individual recurring membership dues.
119,487
Prior quarter (Jan-Mar 2026)
103% of goal
116,188 137,500
12 Quarters
Member Lifetime Value (Projected)
Projected total revenue a new member will contribute over their entire tenure, based on current retention rates.
1,794
112% of goal
1,600 2,000
n/a
Revenue vs Expense Index (per member)
Ratio showing how close individual member dues are to covering the total cost per member of operating the space.
0.65
93% of goal
0.70 0.70
n/a

KPIs In Development

KPI Name Current Details Goal 2026 Goal 2030 Trend
No in-development KPIs currently listed.
KPI Name 2023 2024 2025 2026 2027 2028 2029 2030
Reserve Funds (as Months of Operating Expense) n/a n/a 1.50 3.00 3.50 4.00 5.00 6.00
Earned Income Sustaining Core % n/a n/a 90% 95% 100% 100% 100% 100%
Member Revenue (Quarterly) n/a n/a 109,149 116,188 120,313 127,875 134,063 137,500
Member Lifetime Value (Projected) n/a n/a 1,450 1,600 1,700 1,800 1,900 2,000
Revenue vs Expense Index (per member) n/a n/a 0.70 0.70 0.70 0.70 0.70 0.70
  • Reserve Funds (as Months of Operating Expense): Organization cash reserves measured by how many months of average operating expenses they could cover. Last snapshot: 2026-03-31
  • Earned Income Sustaining Core %: Measure of how much our core recurring revenue (dues, etc.) covers our core operating expenses. Last snapshot: 2026-03-31 Source: Google Sheets: (Total Income - Grants/Donations) / (Total Expense).
  • Member Revenue (Quarterly): Total revenue received from individual recurring membership dues. Last snapshot: 2026-06-24 Source: Google Sheets: Membership income for Jan-Mar 2026 (most recently completed quarter).
  • Member Lifetime Value (Projected): Projected total revenue a new member will contribute over their entire tenure, based on current retention rates. Last snapshot: 2026-06-24 Source: Automated: Projected LTV for members in their first year (Year 0).
  • Revenue vs Expense Index (per member): Ratio showing how close individual member dues are to covering the total cost per member of operating the space. Last snapshot: 2026-06-24 Source: Calculated: (Monthly Dues Revenue per Head) / (Monthly Operating Expense per Head).

Key insights

Revenue mix by income stream

Quarterly revenue broken out by source so the finance team can see how the org's income is composed and how the mix is shifting over time.

Loading chart…
  • Source: Income-Statement Google Sheet (rows: income_membership, income_education, income_storage, income_workspaces, income_media, income_grants, income_individual_donations, income_corporate_donations, income_total).
  • Processing: 8 trailing quarters; "Other earned income" = income_total minus the sum of named streams, so any line not yet broken out (event hosting, future store/lending) still shows up.
  • Caveat: Quarterly granularity matches the source sheet. Updates to the sheet refresh within an hour.
Download CSV

Revenue vs operating expense

Quarterly total revenue, total operating expense, and net surplus/deficit. Pair with the Reserve Funds KPI for runway context.

Loading chart…
  • Source: Income-Statement Google Sheet (income_total, expense_total).
  • Processing: 8 trailing quarters; expense values are absolute (sheet stores them parenthesized/negative). Net = revenue − expense.
Download CSV

MRR change waterfall

Monthly recurring revenue gained from new members vs. lost to ended memberships, with net change line. Predictive companion to the MRR trend chart above.

Loading chart…
  • Source: profile first-join-date (COALESCE field_member_join_date with profile.created), reactivation date (field_member_reactivation_date), and end_date (field_member_end_date), each paired with the per-member field_member_payment_monthly_value. Restricted to members with a non-empty Chargebee plan so the chart matches Chargebee's MRR scope (excludes comps, founders, manually-billed members).
  • Processing: 12 trailing months. New joins and reactivations both add MRR; ends remove MRR. Net = joins + reactivations − ends.
  • Known blind spot: Plan upgrades/downgrades, pauses, resumes, and mid-tenure price changes still aren't visible here — they require monthly MRR snapshots. The makerspace_snapshot module captures these (ms_fact_revenue_snapshot table) but the historical record is mostly seed values until the cron writes a few months of real data.
  • Currently at risk: $187 in monthly dues from active members with failed payments (today's snapshot — not plotted on the chart). See the Retention section's intervention charts for recovery details.
Download CSV

Payment Method Mix

Breaks down active members by their recorded payment method.

Loading chart…
  • Source: profile field_member_payment_method values on active members.
  • Processing: Counts the first recorded payment method per member; multi-select entries contribute once per unique value.
  • Notes: Historical view will replace this snapshot once plan-based snapshots become available.
Download CSV

Average Recorded Monthly Payment by Membership Type

Uses recorded monthly payment fields to estimate typical recurring revenue by membership category.

Loading chart…
  • Source: field_member_payment_monthly on active default member profiles with status = 1.
  • Processing: Averages non-zero monthly payment entries per membership type; blank values are excluded.
  • Definitions: Provides directional signals only—reconcile against billing exports before reporting revenue.
  • Overall recorded average: $54.84 per month
  • Projected monthly revenue from recorded entries: $36,246.50
Download CSV

Dunning recovery: $ at risk, recovered, and lost

Annualized dollars from members in active payment recovery, by month. Total stack height = total revenue touched by dunning that month; green = saved, red = confirmed cancelled, gray = still in flight at month end.

Expand section to load chart.
  • Source: ms_member_outreach_log joined to per-member field_member_payment_monthly_value, annualized (× 12) to match the "Monthly Revenue at Risk" KPI.
  • Processing: Distinct member per (uid, month). Outcome priority is lost > recovered > in-flight, so a member appears once per month in the highest-priority bucket they hit.
  • Note: For per-channel and resolution-rate breakdowns of the same activity, see the intervention charts in the Retention section.
Download CSV

Estimated Lifetime Value by Membership Type

Average total revenue contribution per member, grouped by their current membership type.

Expand section to load chart.
  • Source: Active member profiles with valid join dates and monthly payment values.
  • Calculation: (Months Active) * (Current Monthly Payment).
  • Note: This is an estimate based on current payment rates and does not account for past rate changes or pauses.
Download CSV

Lifetime Value by Tenure (Realized + Projected)

Total estimated value of members by tenure, combining what they have already paid with what they are expected to pay in the future.

Expand section to load chart.
  • Data Sources: "profile__field_member_payment_monthly" (Revenue) and "profile.created" (Tenure).
  • Realized Value: Sum of (Months Active * Monthly Payment) for all members currently in each tenure bracket.
  • Projected Value: (Avg Monthly Payment) * (Projected Future Months). Future months are derived from a 3-year smoothed churn curve of all historical member tenure records.
  • 0 Years Bucket: Represents a hypothetical new member paying the current average rate, projected using the year-0 churn rate.
Download CSV

Average Member Tenure by Plan Type

Comparing how long members on different billing plans have been with the organization.

Expand section to load chart.
  • Source: Active users with assigned Chargebee plans.
  • Metric: Average number of months since "Member Join Date" for currently active members on this plan.
  • Interpretation: Higher values indicate plans associated with longer-term members.
Download CSV

Cohort LTV curves (actual)

Cumulative monthly dues paid per joiner, plotted by months since their join date, one line per quarterly cohort. A newer cohort tracking below older ones is an early signal that the projected LTV KPI is overstating future revenue.

Expand section to load chart.
  • Source: profile join_date / end_date / field_member_payment_monthly_value.
  • Processing: For each member we compute tenure as (end_date or today) − join_date in whole months. Cumulative dues at month N = min(N, tenure) × monthly_value. The cohort line is the per-member average; cohort size shown in legend.
  • Caveat: This is an expected-collection proxy, not a payment-ledger. It assumes everyone paid their stated monthly dues for every active month — failed payments and partial collections aren't deducted. Newer cohorts naturally show shorter curves until they age into the horizon.
Download CSV

Chargebee Plan Distribution

Active users grouped by Chargebee plan assignment.

Expand section to load chart.
  • Source: user profile field_user_chargebee_plan for published members.
  • Processing: Counts distinct users per plan; empty values appear as "Unassigned".
  • Notes: Historical view will replace this snapshot view once plan snapshots are populated.
Download CSV

Forward-booked workshop revenue (next 90d)

Sum of registration fees for upcoming events in the next 30 / 31–60 / 61–90 days, broken out by event type. A leading indicator of education income before it lands in the books.

Expand section to load chart.
  • Source: civicrm_participant joined to civicrm_event; only counts registrations whose status type is_counted = 1 (registered/attended).
  • Processing: Buckets by days-until-start_date. Total forward-booked: $5,058.
  • Caveat: Free events with $0 fee_amount are excluded. Cancellations after registration drop out automatically (status changes flip is_counted = 0).
Download CSV

Grant pipeline funnel ($)

Requested grant dollars at each stage from research to decision. Pipeline stages (research → submitted) are point-in-time totals; Won/Lost sum the trailing 12 months for an apples-to-apples view of recent performance.

Expand section to load chart.
  • Source: civicrm_value_funding_7 (request_amount_24, grant_status_14, date_due_21).
  • Counts: Researching: 8 · Inquiry: 0 · Writing: 0 · Submitted (awaiting decision): 2 · Won (last 12mo): 2 · Lost (last 12mo): 0
  • Caveat: Won/Lost reflect the request amount, not the awarded amount (no separate awarded-amount field exists today). Adding one would make the funnel sharper.
Download CSV