Een uitsplitsing van kosten, uren, omzet en winstmarge per klant. Identificeert verliesgevende accounts, kosten-per-uur uitschieters en concentratierisico in je serviceleveringskosten.
Een uitsplitsing van kosten, uren, omzet en winstmarge per klant. Identificeert verliesgevende accounts, kosten-per-uur uitschieters en concentratierisico in je serviceleveringskosten.
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 uitsplitsing van kosten, uren, omzet en winstmarge per klant. Identificeert verliesgevende accounts, kosten-per-uur uitschieters en concentratierisico in je serviceleveringskosten.
Alle klanten gesorteerd op totale serviceleveringskosten, met omzet, winst en marge-indicatoren
| Company | Hours | Tickets | Revenue |
|---|---|---|---|
| Craig-Huynh | 4,370 | 5,458 | $2,324,617 |
| Little Group | 3,791 | 5,290 | $1,431,177 |
| Lewis LLC | 2,801 | 1,758 | $2,212,915 |
| Martin Group | 2,217 | 2,775 | $637,092 |
| Wall PLC | 1,697 | 2,376 | $476,622 |
| Rivers et al | 1,662 | 6,381 | — |
| Ramos Group | 1,171 | 1,728 | — |
| Thompson et al | 1,006 | 1,803 | — |
EVALUATE TOPN(10, SUMMARIZECOLUMNS('BI_Autotask_Companies'[company_name], "Tickets", COUNTROWS('BI_Autotask_Tickets'), "HoursWorked", SUM('BI_Autotask_Time_Entries'[hours_worked]), "Revenue", SUM('BI_Autotask_Billing_Items'[total_amount])), [HoursWorked], DESC)
Afgeleide kosten per gelogd uur per klant, met inzicht in waar servicelevering efficient is en waar kosten niet in verhouding staan tot de arbeidsinzet
| Klant | Kosten | Uren | Kosten/Uur | Efficiency |
|---|---|---|---|---|
| Klant H | $206,868 | 84 | $2,463 | Zeer Hoog |
| Klant C | $645,574 | 695 | $929 | Zeer Hoog |
| Klant B | $894,222 | 2,801 | $319 | Bovengemiddeld |
| Klant A | $1,013,970 | 4,370 | $232 | Normaal |
| Klant F | $224,394 | 1,312 | $171 | Normaal |
| Klant D | $603,420 | 3,791 | $159 | Normaal |
| Klant I | $141,416 | 1,006 | $141 | Normaal |
| Klant L | $107,091 | 782 | $137 | Normaal |
| Klant K | $120,188 | 865 | $139 | Normaal |
| Klant G | $214,395 | 1,697 | $126 | Efficient |
| Klant J | $121,483 | 962 | $126 | Efficient |
| Klant E | $248,212 | 2,217 | $112 | Efficient |
EVALUATE
ADDCOLUMNS(
SUMMARIZE(
BI_Autotask_Tickets,
BI_Autotask_Tickets[company_name]
),
"TotalCost", CALCULATE([Service Delivery - Total Cost]),
"TotalHours", CALCULATE([Time Entries - Total Hours]),
"CostPerHour", DIVIDE(
CALCULATE([Service Delivery - Total Cost]),
CALCULATE([Time Entries - Total Hours])
)
)
ORDER BY [CostPerHour] DESC
Vergelijking van omzet en kosten per klant naast elkaar, zodat je snel ziet waar kosten de marge opeten
Diepteanalyse van het enige account dat verlies draait: $645.574 aan kosten tegenover $589.694 aan omzet
Klant C valt op omdat de kostenstructuur niet past bij de arbeidsinzet. Met slechts 695 gelogde uren impliceert de totale kosten van $645K dat er ruwweg $555K aan niet-arbeidskosten is: onderaannemerskosten, hardware-inkoop, licentiekosten of projectmaterialen die via het kostencentrum lopen maar niet worden terugverdiend in de contractprijs.
De omzet van $589.694 is niet ongewoon laag voor een middelgrote klant. Het probleem zit volledig aan de kostenkant. Als de niet-arbeidskosten eruit worden gehaald, zouden de kosten voor alleen arbeid tegen een gangbaar tarief van $150/uur rond $104K liggen, wat Klant C een gezonde marge van 82% op arbeid alleen zou geven.
Dit betekent dat de oplossing niet zit in service-efficiency. Het gaat om contractstructuur. Of de doorbelaste kosten worden niet gefactureerd, het contract houdt geen rekening met materialen, of een eenmalige projectkost heeft de periodekosten opgeblazen zonder bijpassende omzet.
EVALUATE
ADDCOLUMNS(
ROW("Client", "Client C"),
"TotalCost", CALCULATE([Service Delivery - Total Cost],
BI_Autotask_Tickets[company_name] = "Client C"),
"LaborHours", CALCULATE([Time Entries - Total Hours],
BI_Autotask_Tickets[company_name] = "Client C"),
"Revenue", CALCULATE([Revenue - Total],
BI_Autotask_Tickets[company_name] = "Client C"),
"Profit", CALCULATE([Revenue - Total],
BI_Autotask_Tickets[company_name] = "Client C")
- CALCULATE([Service Delivery - Total Cost],
BI_Autotask_Tickets[company_name] = "Client C"),
"CostPerHour", DIVIDE(
CALCULATE([Service Delivery - Total Cost],
BI_Autotask_Tickets[company_name] = "Client C"),
CALCULATE([Time Entries - Total Hours],
BI_Autotask_Tickets[company_name] = "Client C")
)
)
Klanten gegroepeerd op kosten-efficiency op basis van marge- en kosten-per-uur prestaties
| Niveau | Klanten | Kenmerken | Margebereik |
|---|---|---|---|
| Hoge Efficiency | L, J, E | Lage kosten/uur ($112-$137), marges boven 61% | 61% - 67% |
| Normaal | A, D, K, I, G, F | Kosten/uur $126-$232, marges tussen 52% en 58% | 52% - 58% |
| Review Nodig | B, H | Hogere kosten/uur ($319-$2.463) maar nog steeds winstgevend door sterke omzet | 50% - 60% |
| Verliesgevend | C | Kosten hoger dan omzet, $929/uur kostenratio, waarschijnlijk niet-arbeidskostenprobleem | -9.5% |
Het enige verliesgevende account in de portfolio. Met $645K aan kosten tegenover $590K aan omzet heeft deze klant een marge van -9.5%. De kosten-per-uur van $929 (tegenover een portfolio-gemiddelde van circa $220) wijst op aanzienlijke niet-arbeidskosten die niet via het contract worden terugverdiend. Dit vraagt om een contractreview, niet om een efficiency-verbetering.
Klant A ($1.01M) en Klant B ($894K) vertegenwoordigen samen $1.91M van de $4.54M totale servicekosten. Beide zijn winstgevend met marges boven 56%, dus dit is vandaag geen probleem. Maar het is wel een concentratierisico. Als een van beide klanten vertrekt of heronderhandelt, is de impact op de business aanzienlijk.
De totale portfoliomarge van 53% is gezond voor managed services. De meest efficiente klanten (L, J, E) draaien boven 61% marge met kosten-per-uur onder $140. Dit is een goed gestructureerde servicelevering met een uitschieter die aandacht verdient.
5 prioriteiten op basis van bovenstaande bevindingen
Haal de volledige kostenuitsplitsing op voor Klant C: arbeid, materialen, onderaannemersfacturen, license pass-throughs. Met slechts 695 gelogde uren maar $645K aan totale kosten zit er ruwweg $540K buiten arbeid. Zoek uit wat het is, of het gefactureerd is en of het contract het dekt. Zo niet, heronderhandel de contractvoorwaarden of stop met het absorberen van die kosten.
Klant H heeft slechts 84 gelogde uren maar $206K aan kosten, wat een kosten-per-uur ratio van $2.463 oplevert. De marge van 50.3% betekent dat de omzet het dekt, maar maar net. Controleer of dit terugkerende kosten zijn of een eenmalig project. Bij terugkerende kosten zal de marge in de loop van de tijd eroderen.
Deze twee accounts maken 42% van de kosten en 46% van de omzet uit. Bouw een scenariomodel voor wat er gebeurt als een van beide klanten afschaalt of vertrekt. Overweeg om het klantenbestand te diversificeren om de afhankelijkheid van de top twee te verminderen.
Het bereik van $112/uur (Klant E) tot $2.463/uur (Klant H) is te breed om te negeren. Stel een doel-kosten-per-uur bandbreedte in (bijv. $120-$200) en onderzoek elke klant die erbuiten valt. Uitschieters duiden op prijsproblemen of kostentoewijzingsproblemen die opgelost kunnen worden.
Klant L draait op 67.4% marge met een kostenratio van $137/uur en $328K aan omzet. Dat is de beste efficiency-omzet verhouding in de portfolio. Onderzoek wat dit engagement laat werken: contractstructuur, service mix, teamallocatie. Pas die patronen vervolgens toe op middelgrote klanten zoals F en G waar marges verbeterd kunnen worden.
Serviceleveringskosten worden opgehaald uit Autotask PSA via Proxuma Power BI. Dit omvat arbeidskosten (op basis van interne uurtarieven vermenigvuldigd met gelogde uren), plus materiaal-, onderaannemers- of doorbelaste kosten die zijn geregistreerd tegen de contracten en tickets van de klant. De AI draait DAX queries tegen het semantic model om totalen per klant te berekenen.
Een hoog kosten-per-uur getal betekent dat de klant aanzienlijke kosten heeft die niet gekoppeld zijn aan gelogde technicusuren. Dit gebeurt typisch bij hardware-inkoop, software licensing, onderaannemerskosten of projectmaterialen. De uren in de noemer weerspiegelen alleen interne arbeid, dus niet-arbeidskosten blazen de ratio op. Deze klanten hebben een kostenuitsplitsing nodig, geen efficientere tijdregistratie.
Branchebenchmarks voor managed service providers liggen tussen 40% en 60% brutomarge, afhankelijk van de service mix. Puur arbeidsgebaseerde diensten lopen doorgaans hoger (55-65%), terwijl engagementen met veel hardware of licensing pass-throughs lager uitvallen. Een klant onder 40% verdient een contractreview. Een klant onder 0% vraagt om onmiddellijke aandacht.
Elk kwartaal voor standaard monitoring. Maandelijks als je klanten hebt in het review- of verliesgevende niveau. Draai het voor elke contractverlenging gefilterd op die specifieke klant om hun kostentraject te zien. De data wordt bijgewerkt zodra Autotask-registraties binnenkomen, dus het rapport is altijd gebaseerd op de laatst beschikbare informatie.
Ja. Verbind Proxuma Power BI met je Autotask PSA, voeg een AI-tool toe (Claude, ChatGPT of Copilot) via MCP en stel dezelfde vraag. De AI schrijft de DAX queries, draait ze tegen je echte data en produceert een rapport zoals dit in minder dan vijftien minuten.
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