Een winstgevendheidsanalyse van 1.889 contracten in Autotask PSA, gerangschikt op omzet, kosten en marge. De totale portfolio-omzet bedraagt $17,6M met een totale marge van 53,0%, maar sommige contracten breken dat cijfer stilletjes af.
Een winstgevendheidsanalyse van 1.889 contracten in Autotask PSA, gerangschikt op omzet, kosten en marge. De totale portfolio-omzet bedraagt $17,6M met een totale marge van 53,0%, maar sommige contracten breken dat cijfer stilletjes af.
De data dekt het volledige bereik van Autotask PSA-records die relevant zijn voor deze analyse, uitgesplitst naar de belangrijkste dimensies die je team nodig heeft voor dagelijkse beslissingen en klantrapportage.
Wie dit zou moeten gebruiken: MSP owners, finance leads, and operations managers tracking profitability
Hoe vaak: Maandelijks for financial reviews, quarterly for strategic planning, op aanvraag for pricing decisions
Een winstgevendheidsanalyse van 1.889 contracten in Autotask PSA, gerangschikt op omzet, kosten en marge. De totale portfolio-omzet bedraagt $17,6M met een totale marge van 53,0%, maar sommige contracten breken dat cijfer stilletjes af.
Financiële kerncijfers over alle 1.889 contracten in de Autotask factuurdata.
BI_Autotask_Billing_Items[total_amount], kosten uit BI_Autotask_Billing_Items[our_cost] en contractaantallen uit BI_Autotask_Contracts. Winst en marge zijn berekende velden. Alle klant- en contractnamen zijn geanonimiseerd. Je kunt de DAX toggles in secties 2, 3 en 5 uitklappen om de exacte queries te bekijken.
De tien contracten met de hoogste omzet, gerangschikt op totale facturatie, met kosten, winst en marge per contract.
| Contracts | Types | Revenue | Hours |
|---|---|---|---|
| 1889 | 4 | 17606769 | 50752 |
EVALUATE ROW("TotalContracts", COUNTROWS(BI_Autotask_Contracts), "UniqueTypes", DISTINCTCOUNT(BI_Autotask_Contracts[contract_type_name]), "TotalRevenue", SUM(BI_Autotask_Billing_Items[total_amount]), "TotalHours", SUM(BI_Autotask_Time_Entries[hours_worked]))
Horizontale barchart met winstmarges voor de top 10 contracten op omzet. Groene balken geven gezonde marges aan, oranje dunne marges, en rood verlies.
EVALUATE
TOPN(10,
ADDCOLUMNS(
SUMMARIZE('BI_Autotask_Billing_Items', 'BI_Autotask_Billing_Items'[contract_id]),
"Revenue", CALCULATE(SUM('BI_Autotask_Billing_Items'[total_amount])),
"Cost", CALCULATE(SUM('BI_Autotask_Billing_Items'[our_cost]))
),
[Revenue] - [Cost], ASC
)
ORDER BY [Revenue] - [Cost] ASC
De tien contracten met het diepste verlies. Deze contracten kosten meer om te leveren dan ze opbrengen, en samen vormen ze een flinke rem op de portfolio.
| Contract | Omzet | Kosten | Verlies | Marge |
|---|---|---|---|---|
| Contract K | $233.588 | $383.764 | -$150.177 | -64,3% |
| Contract L | $898 | $79.872 | -$78.974 | -8.793% |
| Contract M | $2.496 | $80.671 | -$78.175 | -3.133% |
| Contract N | $1.590 | $40.634 | -$39.044 | -2.455% |
| Contract O | $4.245 | $38.623 | -$34.378 | -810% |
| Contract P | $116 | $16.716 | -$16.600 | -14.308% |
| (Geen contract) | $17.876 | $33.487 | -$15.611 | -87% |
| Contract Q | $18.744 | $29.660 | -$10.916 | -58% |
| Contract R | $42.773 | $50.138 | -$7.366 | -17% |
| Contract S | $3.022 | $10.230 | -$7.208 | -239% |
Contract P springt eruit met een marge van -14.308%. Het factureerde slechts $116 terwijl het $16.716 aan kosten opbouwde. Dit is vrijwel zeker een verkeerd geconfigureerd contract of een factureringsgat waarbij uren tegen de verkeerde overeenkomst zijn geboekt. Contracten L en M tonen hetzelfde patroon: omzet onder de $2.500 gekoppeld aan kosten rond de $80K. Dit zijn geen dunne-margecontracten. Het zijn kostenposten met een facturatielabel eraan.
Een portfoliobreed beeld van hoe omzet en kosten verdeeld zijn over de contractbasis. De donut toont het winstaandeel, en de vergelijkingsbalken tonen individuele contracten.
EVALUATE
ROW(
"TotalRevenue", [Revenue - Total],
"TotalCost", [Cost - Total],
"TotalProfit", [Profit - total],
"TotalContracts", COUNTROWS('BI_Autotask_Contracts')
)
Contracten gegroepeerd in vier margetiers. Dit overzicht laat zien waar de meeste contracten vallen en hoe geconcentreerd het risico op elk niveau is.
| Tier | Margebereik | Voorbeeldcontracten | Status |
|---|---|---|---|
| Hoge Winst | > 60% | Contract A, B, D, E, I | Sterk |
| Gematigd | 30% - 60% | Contract C, G | Acceptabel |
| Dunne Marge | 0% - 30% | Contract F, H | Bewaken |
| Verliesgevend | < 0% | Contract J, K, L, M, N, O, P, Q, R, S | Actie nodig |
De bovenste tier (boven 60% marge) bevat vijf van de tien grootste contracten. Dit zijn gezonde overeenkomsten waarbij de omzet ruim boven de kosten uitkomt. De gematigde tier zit in een comfortabel bereik, maar kan snel eroderen als scope creep ongecontroleerd doorgaat.
De dunne-margetier is het gevaarlijkst voor MSPs. Contract F en H lijken op papier winstgevend, maar één slechte maand met ongepland werk kan ze in negatief gebied duwen. De verliesgevende tier bevat al minimaal 10 contracten die actief geld verliezen. Meerdere (L, M, P) hebben marges slechter dan -1.000%, wat bijna altijd wijst op een configuratiefout in de facturering in plaats van een servicelevering-probleem.
De onderste 10 contracten hebben gecombineerde verliezen van meer dan $438K. Contracten L, M en P tonen extreme negatieve marges (-3.133% tot -14.308%), wat sterk suggereert dat factuurregels niet aan deze overeenkomsten zijn gekoppeld of dat het contracttarief op nul staat. Elke dollar aan kosten die tegen deze contracten wordt geboekt, komt rechtstreeks uit je winst. Een audit van 30 minuten per contract kan tienduizenden dollars terughalen.
Met een marge van 13,2% is Contract F het dunst van de hoge-omzetcontracten. Het genereert meer omzet dan Contract G, H of I, maar houdt minder winst over dan elk van hen. Dit wordt doorgaans veroorzaakt door te veel uren tegen een vaste-prijs-overeenkomst, of een contracttarief dat niet is aangepast aan de huidige kostenstructuur. Bekijk de gelogde arbeidsuren tegen dit contract en vergelijk ze met de afgesproken scope.
Contract A is een uitschieter met een marge van 77,5% op $1,64M omzet. Het is verantwoordelijk voor ongeveer 13,6% van de totale portfoliowinst. Bescherming van dit contract zou prioriteit moeten zijn: zorg voor hoge SLA-prestaties, plan regelmatige QBR-meetings en gebruik het als referentiecase voor sales. Als Contract A wegvalt, daalt de totale portfoliomarge merkbaar.
1. Audit elk verliesgevend contract binnen deze week. Begin met Contract L, M en P. Open elk contract in Autotask, controleer de facturatieconfiguratie en verifieer dat uren aan de juiste billing items zijn gekoppeld. Marges slechter dan -1.000% zijn bijna altijd configuratiefouten. Herstel de facturering en je herstelt de omzet met terugwerkende kracht of stopt het bloeden naar voren.
2. Bekijk de scope en het tarief van Contract F. Een contract van $417K dat op 13,2% marge draait, heeft aandacht nodig. Vergelijk de werkelijk gewerkte uren met de gecontracteerde scope. Als technici meer tijd loggen dan de overeenkomst dekt, heronderhandel dan het tarief of verscherp de scopegrenzen. Een margeverbetering van 10 punten op alleen dit contract voegt $42K toe aan de bottom line.
3. Bescherm Contract A met proactief accountmanagement. Dit ene contract genereert $1,27M winst. Plan een QBR, voer een tevredenheidscheck uit en zorg dat de klant geen onopgeloste klachten heeft. Het verliezen van dit contract zou vijf tot zes nieuwe overeenkomsten op gemiddelde marges vereisen om de winst te vervangen.
4. Onderzoek de "(Geen contract)"-regel. Er zijn $17,9K aan factuurregels en $33,5K aan kosten die niet aan een contract zijn gekoppeld. Deze verweesd items horen of bij een bestaand contract (verkeerd gecategoriseerd) of vertegenwoordigen niet-gefactureerd werk. Wijs ze toe aan de juiste overeenkomsten voor nauwkeurige winstgevendheid per contract.
5. Stel een margebodem in voor nieuwe contracten. Op basis van deze data zou elk contract onder 30% marge een review moeten triggeren voor verlenging. Bouw een kwartaalgewijze winstgevendheidscheck in je operationele cadans zodat verliesgevende contracten nooit een heel jaar onopgemerkt draaien.
Omzet komt uit de BI_Autotask_Billing_Items tabel (veld: total_amount) en kosten uit dezelfde tabel (veld: our_cost). De AI groepeert deze op contract_id en berekent winst als omzet minus kosten. Marge is winst gedeeld door omzet, uitgedrukt als percentage.
Extreme negatieve marges ontstaan wanneer een contract zeer lage omzet heeft (soms slechts een paar honderd dollar) gecombineerd met aanzienlijke kosten. Dit betekent meestal dat het contract niet is geconfigureerd om het uitgevoerde werk te factureren, of dat uren tegen de verkeerde overeenkomst worden geboekt. De oplossing is een facturatie-audit, geen aanpassing van de dienstverlening.
De meeste MSP-branchebenchmarks mikken op 50-70% brutomarge op managed services contracten. Onder de 30% wijst doorgaans op scope creep of te lage prijsstelling. Boven de 70% is uitstekend en duidt meestal op een goed afgebakende overeenkomst met efficiënte levering. De totale portfoliomarge in dit rapport (53%) zit precies in het gezonde bereik.
Dit zijn factuurregels en kostenboekingen in Autotask die niet aan een contract zijn gekoppeld. Ze verschijnen als verweesd records in het datamodel. De omzet en kosten zijn echt, maar zonder contractkoppeling kunnen ze niet worden toegeschreven aan een specifieke overeenkomst. Wijs ze toe aan de juiste contracten voor nauwkeurige rapportage.
Per kwartaal is een goed ritme voor de meeste MSPs. Draai het voor de QBR-voorbereiding zodat je winstgevendheid met je team kunt bespreken en contracten kunt signaleren die een tariefaanpassing nodig hebben bij verlenging. Als je een plotselinge margedaling signaleert, draai het dan maandelijks tot de situatie stabiliseert.
Ja. Verbind Proxuma Power BI met je Autotask PSA-instantie, voeg een AI-tool (Claude, ChatGPT of Copilot) toe via MCP, en stel dezelfde vraag. De AI schrijft de DAX queries, draait ze tegen je live data en produceert een rapport zoals dit in minder dan vijftien minuten.
Het our_cost veld in Autotask billing items vertegenwoordigt de interne kosten per factuurregel. Dit omvat doorgaans arbeidskosten op basis van het interne tarief van de resource. Het bevat geen overhead, softwarelicenties of andere indirecte kosten. Voor een volledig belaste kostenanalyse zou je aanvullende kostendata uit je financieel systeem moeten toevoegen.
Koppel Proxuma's Power BI integratie, gebruik een MCP-compatible AI om vragen te stellen en genereer op maat gemaakte rapporten - in minuten, niet in dagen.
Bekijk meer rapporten Aan de slag