How does client revenue compare month over month? 13-month trend analysis with per-client breakdown. Generated by AI via Proxuma Power BI MCP server.
How does client revenue compare month over month? 13-month trend analysis with per-client breakdown. Generated by AI via Proxuma Power BI MCP server.
The data covers the full scope of Autotask PSA records relevant to this analysis, broken down by the key dimensions your team needs for day-to-day decisions and client reporting.
Who should use this: MSP owners, finance leads, and operations managers tracking profitability
How often: Monthly for financial reviews, quarterly for strategic planning, on-demand for pricing decisions
How does client revenue compare month over month? 13-month trend analysis with per-client breakdown. Generated by AI via Proxuma Power BI MCP server.
Revenue peaked at $1.34M in April 2025 and has fallen every month since. January 2026 came in at $770K, a 42.6% drop from peak. Eight of the last ten clients showed negative MoM changes in January. Only Client C and Client F posted growth. This is not a seasonal dip. Eight consecutive months of decline points to a structural revenue problem that needs immediate attention.
Total revenue per month, January 2025 through January 2026. The peak in April and the sustained decline after are clearly visible.
EVALUATE ROW("TotalRevenue", SUM('BI_Autotask_Billing_Items'[total_amount]), "Contracts", COUNTROWS('BI_Autotask_Contracts'), "Companies", DISTINCTCOUNT('BI_Autotask_Contracts'[company_id]))
December 2025 vs January 2026 revenue per client, ranked by absolute change. Color-coded to highlight the biggest movers.
| Client | Dec 2025 | Jan 2026 | Change | % Change |
|---|---|---|---|---|
| Client A | $136,721 | $109,533 | -$27,187 | -19.9% |
| Client E | $34,680 | $18,941 | -$15,739 | -45.4% |
| Client B | $83,468 | $67,909 | -$15,560 | -18.6% |
| Client D | $50,966 | $42,297 | -$8,669 | -17.0% |
| Client H | $21,259 | $16,215 | -$5,044 | -23.7% |
| Client F | $28,030 | $32,027 | +$3,997 | +14.3% |
| Client I | $18,601 | $15,897 | -$2,704 | -14.5% |
| Client C | $58,770 | $59,279 | +$509 | +0.9% |
| Client G | $29,982 | $29,604 | -$379 | -1.3% |
| Client J | $17,249 | $17,213 | -$36 | -0.2% |
EVALUATE
VAR _CurrentMonth = DATE(2026, 1, 1)
VAR _PreviousMonth = DATE(2025, 12, 1)
RETURN
ADDCOLUMNS(
SUMMARIZE(
BI_Autotask_Contracts,
BI_Autotask_Contracts[company_name]
),
"DecRevenue", CALCULATE(
SUM(BI_Autotask_Contracts[contract_revenue]),
BI_Calendar[year_month] = _PreviousMonth
),
"JanRevenue", CALCULATE(
SUM(BI_Autotask_Contracts[contract_revenue]),
BI_Calendar[year_month] = _CurrentMonth
),
"AbsoluteChange", CALCULATE(
SUM(BI_Autotask_Contracts[contract_revenue]),
BI_Calendar[year_month] = _CurrentMonth
) - CALCULATE(
SUM(BI_Autotask_Contracts[contract_revenue]),
BI_Calendar[year_month] = _PreviousMonth
)
)
ORDER BY [AbsoluteChange] ASC
Split view: 8 clients lost revenue in January, only 2 posted growth. The ratio itself tells the story.
How fast is revenue falling? Average monthly decline since the April peak, and the acceleration pattern.
From April to January, total revenue dropped by $571K over 9 months. That is an average decline of roughly $63K per month. The rate is not constant, though. The drop from April to May was $261K (a single large correction), while the months from June through October held relatively steady around $1M. The sharper decline resumed in November, losing $75K, then $41K in December, and another $116K in January.
The acceleration in the last three months is the part that matters. If revenue were simply returning to a baseline after an April spike, the decline would have flattened by now. Instead, it is speeding up. At the current velocity, total monthly revenue will cross below $500K within the next 5 months unless something changes.
EVALUATE
VAR _MonthlyRevenue =
ADDCOLUMNS(
SUMMARIZE(
BI_Autotask_Contracts,
BI_Calendar[year_month]
),
"Revenue", CALCULATE(
SUM(BI_Autotask_Contracts[contract_revenue])
)
)
VAR _Peak = MAXX(_MonthlyRevenue, [Revenue])
VAR _Current = CALCULATE(
SUM(BI_Autotask_Contracts[contract_revenue]),
BI_Calendar[year_month] = DATE(2026, 1, 1)
)
VAR _MonthsSincePeak = 9
RETURN
ROW(
"PeakRevenue", _Peak,
"CurrentRevenue", _Current,
"TotalDrop", _Peak - _Current,
"PctDrop", DIVIDE(_Peak - _Current, _Peak),
"AvgMonthlyDecline", DIVIDE(_Peak - _Current, _MonthsSincePeak)
)
Is this a cyclical dip or a structural problem? Comparing the current trajectory with typical MSP revenue seasonality.
MSP revenue typically follows a mild seasonal pattern. Q1 tends to be softer as clients finalize budgets. Q2 and Q3 pick up with project work. Q4 can go either way depending on year-end purchasing. A 5-10% dip from peak to trough is normal.
What is happening here is not normal. An 8-month consecutive decline totaling 42.6% goes far beyond seasonal variation. Seasonal patterns correct themselves within 2-3 months. This has not corrected. The data points to one or more of the following structural causes:
| Signal | Seasonal Dip | Structural Decline | Your Data |
|---|---|---|---|
| Duration | 2-3 months | 5+ months | 8 months |
| Magnitude | 5-10% from peak | 20%+ from peak | 42.6% |
| Client breadth | 1-2 clients affected | Majority of clients | 8 of 10 declining |
| Recovery pattern | Bounce-back visible | No reversal | No recovery |
| Acceleration | Flat or slowing | Speeding up | Accelerating |
Revenue has fallen every month since April 2025. Total decline is 42.6%, from $1.34M to $771K. The rate of decline is accelerating in the last three months, not slowing down. This is the most urgent signal in the entire dataset.
From $34,680 in December to $18,941 in January. A single-month drop of this size almost always means a contract was cancelled, reduced, or not renewed. This needs an immediate conversation with the account owner.
Client A is your largest account at $109K/month. A 19.9% decline in your biggest client creates a disproportionate impact on total revenue. If Client A continues declining at this rate, you lose another $22K next month.
Client F is the strongest growth story in the portfolio. From $28K to $32K is meaningful, especially when every other account is flat or down. Worth understanding what changed: new project? Contract expansion? Upsell that landed?
5 priorities based on the data above
A 45.4% single-month drop does not happen by accident. Either a contract ended, a project wrapped, or they moved services elsewhere. The sooner you know, the sooner you can attempt to recover the revenue or at least stop the bleed from continuing into February.
Client A represents 14% of total revenue and lost $27K in one month. A 19.9% decline in your largest account is an existential threat to the business. Book a call with their decision-maker this week. Come prepared with their contract history, recent project activity, and any open support escalations.
With 8 of 10 clients declining, the next renewal cycle is critical. Pull every contract with a renewal date in Q2 2026. For each one, prepare a retention plan before the renewal conversation happens. Do not let any renewal become a default cancellation because no one reached out.
If you are still planning against last year's numbers, your forecast is wrong. Use the velocity data from Section 5.0 to model three scenarios: continued decline, stabilization at current levels, and partial recovery. Share those scenarios with leadership so decisions are based on current data, not assumptions.
Client F grew 14.3% while everyone else shrank. Find out exactly what drove that growth: upsell, new project, expanded scope. If it is repeatable, apply the same playbook to Client C (already slightly positive) and Client G (nearly flat). Converting two more clients from flat to growing could offset $8-10K of monthly losses.
Revenue data is pulled from Autotask PSA contract billing records via the Proxuma Power BI semantic model. It includes recurring contract revenue, time and materials billing, and fixed-fee project revenue. The AI queries this data through the MCP server and calculates month-over-month changes per client.
Both. The revenue figures include all billing from Autotask: managed service agreements, block hours, time entries, and project milestones. If you want to separate recurring from project revenue, you can filter the DAX queries by contract type.
The formula is (Current Month Revenue - Previous Month Revenue) / Previous Month Revenue. A client that billed $100K in December and $80K in January shows a -20% change. The calculation uses the two most recent complete months in the dataset.
Thirteen months gives you a full year-over-year comparison for the most recent month. January 2025 vs January 2026 shows the annual trajectory. Twelve months would cut off the comparison point. It also makes seasonal patterns easier to spot because you can see the same month in two different years.
Yes. Connect Proxuma Power BI to your Autotask PSA instance, add an AI tool (Claude, ChatGPT, or Copilot) via MCP, and ask the same question. The AI writes the DAX queries, runs them against your real billing data, and produces a report like this in under fifteen minutes.
Connect Proxuma Power BI to your PSA, RMM, and M365 environment, use an MCP-compatible AI to ask questions, and generate custom reports - in minutes, not days.
See more reports Get started