KPI Tree
KPI Tree

Building a metric tree from your practice management system data

Veterinary KPIs from Provet Cloud

Provet Cloud records every consultation, invoice, appointment, prescription, and health plan event in your veterinary practice. Most practices use this data for day-to-day operations: booking appointments, raising invoices, ordering stock. Very few use it to understand how the business actually works as a connected system. A metric tree changes that. It takes the data already flowing through Provet Cloud and structures it into a decomposition that shows how clinical activity drives revenue, how membership retention connects to consultation patterns, and where operational bottlenecks are costing you money. This guide shows how to build one, drawing on real-world implementations where we extract data from Provet Cloud for veterinary groups and build a semantic layer that turns raw PMS tables into live, connected KPIs.

12 min read

Generate AI summary

Why your Provet data deserves a metric tree

Most veterinary practice owners and managers rely on a handful of headline numbers: total revenue, number of consultations, maybe active client count. These numbers arrive in monthly management reports, often weeks after the period ended, and they tell you what happened without explaining why.

The problem is not a lack of data. Provet Cloud records everything. The problem is that the data sits in disconnected modules: appointments in one view, invoices in another, patient records somewhere else, health plan subscriptions in yet another screen. Provet Cloud is excellent at running the daily operations of a practice. But it was not designed to answer the question "why did revenue drop last month?" or "what is driving our membership churn?" Those are analytics questions, and they require connecting data across modules into a model that shows cause and effect.

Consider a scenario every practice owner has experienced. Revenue dropped last month. Why? Was it fewer consultations? Lower average transaction value? More cancelled appointments? A spike in health plan cancellations? Or did a locum vet see the same number of patients but generate less diagnostic revenue per consultation? Without a connected model, you are guessing. With a metric tree built from your Provet Cloud data, you can trace the revenue decline through each branch until you find the specific driver that changed.

Veterinary practices face several measurement challenges that make metric trees particularly valuable. They operate a hybrid business model, combining clinical services with retail pharmacy and often a subscription health plan programme. They manage patient populations across species with very different care patterns. They depend heavily on repeat visits and long-term client relationships, making retention metrics as important as acquisition. And increasingly, they compete on both clinical quality and client experience, which means tracking operational metrics alongside financial ones.

Provet has the data

Provet Cloud records every consultation, invoice, appointment, and health plan event. The missing piece is a model that connects them into cause-and-effect relationships across modules.

Hybrid business model

Veterinary practices combine clinical services, retail pharmacy, diagnostics, surgery, and subscription health plans. Each revenue stream has different drivers that must be decomposed separately.

Retention over acquisition

A practice with 5,000 active patients depends on repeat visits and long-term relationships. Health plan churn and consultation frequency matter as much as new client registration.

Multi-site complexity

Groups running multiple Provet Cloud departments need to compare performance across sites while accounting for differences in case mix, staffing, and local demographics.

The Provet Cloud data model

Before building a metric tree, it helps to understand how Provet Cloud structures its data. When building a metric tree from Provet Cloud, the first step is replicating the database into Snowflake using Fivetran's change data capture (CDC). The core entities in Provet Cloud map directly to the building blocks of a veterinary metric tree.

Provet Cloud organises data around a set of core entities. Patients (health_patient) are the animals in your care, with species, breed, date of birth, and status. Clients (health_client) are the owners, linked to one or more patients. Consultations (health_consultation) record each clinical visit with its date, duration, attending vet, department, and status. Invoices (billing_invoice) and their line items (billing_invoicerow) capture every financial transaction, linked back to the consultation and patient that generated them. Scheduling events (health_schedulingevent) track appointments with their booked times and statuses. And health plans (health_plan_patienthealthplan) record membership subscriptions with their start dates, end dates, and renewal status.

These entities are the raw material for every metric in your tree. But in their raw form, they are not organised for analysis. Consultations do not know about the health plan status of the patient. Invoice rows use Provet item codes that need to be classified into meaningful revenue categories. Scheduling events do not distinguish between a cancellation made a week in advance and one made the morning of the visit. The transformation work, which we will cover later in this guide, bridges the gap between what Provet Cloud stores and what your metric tree needs.

Provet Cloud entityWhat it recordsMetrics it feeds
health_patientSpecies, breed, date of birth, registration date, active/archived statusActive patient count, new registrations, patient churn, species mix
health_clientOwner details, registration date, linked patientsActive client count, clients per patient, new client acquisition
health_consultationDate, duration, vet, department, status (completed, cancelled, no-show)Consultation volume, completion rate, average duration, no-show rate
billing_invoice / billing_invoicerowDate, line items, amounts, VAT, linked consultation and patientRevenue by category, average transaction value, revenue per consultation
health_schedulingeventScheduled time, status (confirmed, cancelled, rescheduled, no-show)Appointment volume, cancellation rate, late cancellation rate, no-show rate
health_plan_patienthealthplanPlan type, start date, end date, renewal status, cancellation reasonHealth plan count, churn rate, renewal rate, plan transitions

Provet Cloud's underlying database can be replicated into a cloud data warehouse using change data capture (CDC) through tools like Fivetran. As a Fivetran partner, we use CDC to replicate Provet Cloud data into Snowflake, where it is modelled using dbt and exposed to KPI Tree through the dbt semantic layer. This is the recommended approach for keeping your metric tree live. For practices not yet ready for a warehouse, weekly CSV exports from Provet Cloud reports can get you started with a spreadsheet-based metric tree.

A metric tree built from Provet Cloud

The root of a veterinary metric tree should capture what the practice exists to do. For most practices, this is something like "Sustainable delivery of quality veterinary care." This decomposes into three primary branches: clinical performance, patient retention, and financial health. Each branch connects to the others through shared drivers. Revenue depends on consultation volume, which depends on patient retention, which depends on clinical quality and client experience. The tree makes these connections explicit.

The tree below reflects a real implementation built from Provet Cloud data for a multi-site veterinary group. Every metric in it is sourced directly from the Provet entities described above, classified and aggregated through a semantic layer. This is not a theoretical framework. It is a working model that updates daily from Provet Cloud.

This tree has three co-equal branches rather than revenue at the top. This is deliberate. A practice that optimises purely for revenue might push unnecessary diagnostics or underinvest in patient retention. The tree structure ensures clinical quality, patient retention, and financial performance are all visible and connected.

Clinical performance from Provet consultations

The clinical performance branch is built primarily from Provet Cloud's health_consultation and health_schedulingevent entities. It tracks whether the practice is delivering care effectively and decomposes into three areas: consultation metrics, appointment efficiency, and procedures and diagnostics.

Consultation metrics sit at the heart of any veterinary practice. The primary measures are completed consultations (volume), average consultation duration (thoroughness), and consultation completion rate (the ratio of completed to total consultations including cancellations and no-shows). In Provet Cloud, the consultation status field on health_consultation tells you whether a consultation was completed, cancelled, or recorded as a no-show. These three metrics together tell you whether the practice is seeing enough patients, spending appropriate time with each one, and minimising wasted capacity.

Average consultation duration is a nuanced metric. Too short and you risk missed diagnoses, client dissatisfaction, and low revenue per visit because there is no time to recommend appropriate diagnostics. Too long and the practice becomes a bottleneck, appointment availability drops, and the vet becomes the constraint on growth. Tracking duration by clinic (Provet department) and by vet reveals significant variation. In one multi-site group, a vet consistently runs 25-minute consultations while the practice average is 15 minutes. The longer consultations do not generate proportionally higher revenue per visit, suggesting an efficiency opportunity rather than a quality indicator.

Appointment efficiency is derived from Provet Cloud's scheduling events. The key metrics are cancellation rate, late cancellation rate (cancellations within 24 hours that cannot be refilled), and no-show rate. These metrics decompose further. Are cancellations concentrated on specific days, specific vets, or specific appointment types? Is the no-show rate higher for follow-up appointments than initial consultations? Provet Cloud has the data to answer these questions, but only if you extract and structure it for analysis.

Procedures and diagnostics track the clinical work that happens during or alongside consultations. Procedure completion rate measures how many booked procedures actually happen versus those that are cancelled or postponed. Diagnostics per consultation tracks how often vets are recommending blood work, imaging, or other tests. This is not about pushing unnecessary tests. It is about understanding whether the clinical team is following evidence-based protocols. If diagnostics per consultation is low compared to benchmarks, it might indicate that vets are not recommending investigations they should be, which has both clinical and financial implications.

  1. 1

    Completed consultations

    The core volume metric, sourced from health_consultation with a completed status. Track daily, weekly, and monthly by Provet department and by vet. Decompose by consultation type to understand the mix of work flowing through the practice.

  2. 2

    Consultation completion rate

    Completed consultations divided by total consultations (including cancelled and no-shows). A rate below 85% signals significant capacity waste. Decompose by cancellation reason to identify whether the issue is client-side (no-shows, late cancellations) or practice-side (vet unavailability, scheduling errors).

  3. 3

    Appointment cancellation rate

    Cancelled scheduling events divided by total scheduling events. Distinguish between regular cancellations (rescheduled with notice) and late cancellations (within 24 hours, usually unrecoverable). Late cancellations are the more damaging metric because the slot typically goes unfilled.

  4. 4

    Procedure completion rate

    Procedures completed divided by procedures booked. Tracks surgical and procedural throughput. Low completion rates might indicate client financial barriers, inadequate pre-operative preparation, or scheduling problems that lead to postponements.

Patient retention from Provet health plans

Many practices using Provet Cloud offer subscription health plans that bundle consultations, vaccinations, and preventive care into a monthly fee. Provet Cloud tracks these through the health_plan_patienthealthplan entity, which records when a plan starts, when it renews, and when it ends. Combined with patient and consultation data, this creates a retention branch that is one of the most valuable parts of the metric tree.

The patient base decomposes into four statuses that every patient falls into on any given day: plan member (on an active health plan in Provet), non-plan patient (paying per visit), new (registered in Provet but not yet consulted), and churned (deceased, archived, or inactive for 18 or more months). Tracking these daily gives you a complete picture of the patient population and its movement over time. Provet Cloud does not compute these daily snapshots natively, but the data to calculate them is all there in the health_patient, health_consultation, and health_plan tables.

Churn is where the real insight lives, and it must be decomposed by reason. Not all churn is equal. A patient that churned because it died is fundamentally different from one whose owner cancelled the health plan or simply stopped visiting. Tracking churn by species (dogs, cats, and rabbits each have different retention patterns) and by reason (deceased, cancelled, not renewed, inactivity) surfaces critical insights. Typically, dog plan churn is primarily driven by active cancellations, while cat plan churn is disproportionately driven by non-renewal, a passive form of churn that suggests the practice is not following up effectively when cat plans lapse.

Plan transitions are the leading indicators within this branch. Tracking the flow between statuses each day reveals the dynamics beneath the headline numbers. New patient to first consultation transitions indicate first visits. Non-plan to plan transitions indicate health plan sign-ups. Plan to non-plan transitions indicate downgrades, which is a warning signal. Churned to active transitions indicate reactivations, often the result of deliberate outreach campaigns. Each transition has different drivers and requires different interventions.

Species-level decomposition

Dog, cat, and rabbit health plans behave differently and should be tracked separately. In our Provet Cloud implementations, dog plan churn is typically 3x lower than cat plan churn. Cats visit less frequently, which means cat owners perceive less value from subscription plans. This insight leads to redesigned cat-specific plan tiers, something that is not visible without species-level decomposition of the health_plan data.

Financial KPIs from Provet invoicing

Revenue in a veterinary practice is not one number. It is a portfolio of revenue streams, each driven by different clinical activities and each with different margins. The financial branch of the metric tree is built primarily from Provet Cloud's billing_invoice and billing_invoicerow entities, which capture every financial transaction in the practice.

The key transformation is classifying Provet invoice rows into a meaningful revenue hierarchy. Provet Cloud categorises items using its own product codes and categories, but these do not map cleanly to the revenue decomposition a practice needs for management reporting. We build a three-level revenue hierarchy by mapping Provet item codes. Level one separates Professional Services, Pharmacy, Diagnostics, and other broad categories. Level two breaks these into specific service types: Consultations, Vaccinations, Surgery, Dentistry, and so on. Level three provides the granular detail: Routine Consult, Annual Booster, CBC Panel, Dental Scale and Polish.

The top-level revenue decomposition typically looks like this: Professional Fees (the largest category, including consultation charges), Drugs and Pharmacy, Diagnostics and Labs, Surgery, Imaging (X-rays, ultrasounds), Dentistry, Procedures, and Health Plan Revenue from subscriptions. Each category connects to different clinical drivers. Professional fees are driven by consultation volume and pricing. Pharmacy revenue is driven by prescribing patterns. Diagnostics revenue is driven by the rate at which vets recommend investigations. Surgery and dentistry revenue is driven by procedure bookings and completion rates.

Average transaction value (ATV) is the metric that connects volume to revenue. It tells you how much each Provet invoice is worth on average. ATV can be decomposed by plan status (health plan member vs non-plan patient), by species (dog visits tend to generate higher ATV than cat visits), by vet (some vets consistently generate higher diagnostic and pharmacy revenue per consultation), and by Provet department (clinic). These decompositions reveal where the levers are. If ATV is declining, the tree tells you whether it is because of a shift in species mix, a change in prescribing patterns, fewer diagnostic recommendations, or a growing proportion of plan members whose consultation revenue is bundled into their monthly fee.

Revenue categoryClinical driverTree connection
Professional feesConsultation volume and pricingLinks to completed consultations in the clinical branch
Pharmacy (drugs)Prescribing patterns per consultationLinks to consultation mix and clinical protocols
Diagnostics and labsVet recommendation rate for investigationsLinks to diagnostics per consultation in the clinical branch
SurgeryProcedure bookings and completion rateLinks to procedure completion rate in the clinical branch
ImagingX-ray and ultrasound referralsLinks to diagnostics protocols and case complexity
DentistryDental check recommendations during consultationsLinks to preventive care protocols and consultation thoroughness
Health plan revenueActive health plan membershipsLinks directly to patient base in the retention branch

The power of the tree becomes clear when you see how the branches connect. Health plan revenue is directly driven by the membership count in the retention branch. If plan churn increases, subscription revenue falls, even if clinical activity stays constant. Conversely, if consultation volume drops but the plan base holds steady, health plan revenue provides a buffer that practices without a subscription programme do not have. The metric tree makes this relationship between recurring and transactional revenue visible, helping practice leaders understand the financial resilience of their model.

Operational metrics beyond Provet Cloud

Some of the most actionable metrics in a veterinary metric tree come from data sources outside Provet Cloud. These sit at the intersection of clinical, retention, and financial performance, and they connect to the Provet-sourced metrics through shared dimensions like clinic and date.

Client experience metrics are a prime example. Google Business Profile reviews, tracked by star rating and velocity, connect to both retention and revenue. A practice with a declining average rating will see new client registrations slow down and may see increased churn as existing clients read negative reviews. The key metrics to track are cumulative star ratings, review velocity (reviews per 30 and 90 days), and the positivity rate (proportion of 4 and 5-star reviews). These appear in the tree as leading indicators for new patient acquisition and as quality signals alongside the clinical metrics sourced from Provet Cloud.

Call centre performance is another operational connector. Many practices use phone systems like 3CX that generate call data. The key metrics are calls received, answer rate, voicemail rate, and service level (percentage of calls answered within 20, 30, and 60 seconds). These connect to appointment bookings in Provet Cloud (unanswered calls are missed appointment opportunities), client experience (long hold times drive negative reviews), and revenue (every missed call is potentially a missed consultation). The unreturned voicemail rate is particularly revealing: voicemails that are never called back represent the most directly lost revenue in the practice.

Treatment estimates in Provet Cloud bridge clinical and financial performance. Practices generate estimates for non-routine work, particularly surgery and complex procedures. Tracking total estimates generated, the rate at which they convert to actual invoiced procedures, and the reasons for non-conversion (client declined, client did not respond, financial barrier) connects clinical activity to procedure revenue. A declining estimate conversion rate signals either communication problems or pricing issues, both actionable.

Google reviews

Track star distribution, average rating, and review velocity. A leading indicator for new patient registrations in Provet Cloud. Decompose negative reviews by theme to identify operational or clinical issues.

Call centre performance

Answer rate, service level (calls answered within 20 seconds), and unreturned voicemail rate. Every unanswered call is a potentially missed appointment booking in Provet.

Estimate conversion

Treatment estimates in Provet versus converted to actual invoiced procedures. Decompose by procedure type and decline reason to understand financial barriers and communication gaps.

Late cancellation rate

Cancellations within 24 hours that cannot be refilled. Derived from Provet scheduling event timestamps. Directly connects to wasted clinical capacity and lost revenue.

Multi-site comparison with Provet departments

Provet Cloud uses departments (organization_department) to represent individual clinic locations. For veterinary groups operating multiple sites, this maps directly to the site-level decomposition that makes metric trees powerful for multi-site management. Every metric in the tree should be filterable by Provet department, enabling comparison without losing the connected structure.

In our Provet Cloud implementations, department is a dimension on every metric. Revenue, consultations, appointments, health plan memberships, churn, reviews, and call metrics can all be filtered by department. This makes it possible to ask questions like: "Department A has higher revenue per consultation than Department B. Is that because of different case mix, different prescribing patterns, or different vet staffing?" The metric tree provides the structure to answer this by decomposing revenue per consultation through the same branches at each site.

The daily grain of the Provet data is critical for multi-site comparison. Monthly aggregates hide important patterns. A department might have similar monthly consultation volume to another but achieve it with very different daily patterns: one clinic might be consistently busy while another has peak days and empty days. The daily data, aggregated up through the tree, reveals utilisation patterns that monthly numbers obscure.

One consistent finding from multi-site implementations: department-level churn rates vary significantly, and the reasons differ. One site may have higher deceased-patient churn simply because its local demographic skews toward older pets. Another may have higher cancellation churn following a change to its appointment scheduling process. Without department-level decomposition in the metric tree, these site-specific issues remain invisible in the group-level numbers.

When comparing Provet departments, ensure you are comparing like with like. A clinic in a rural area with fewer competitors will have different new-registration rates than an urban clinic. A department that sees more exotic species will have different ATV and consultation duration profiles. The metric tree provides the structure for comparison, but the interpretation must account for local context.

Extracting and transforming Provet Cloud data

The metric tree is the conceptual model. To make it live, you need a pipeline that extracts data from Provet Cloud and transforms it into the metrics in your tree. This is where the practical work happens, and it follows a clear three-layer architecture.

The extraction layer replicates raw data from Provet Cloud into a data warehouse using change data capture (CDC). As a Fivetran partner, we connect Fivetran to your Provet Cloud database and replicate it into Snowflake on an ongoing schedule. CDC means only changed records are synced after the initial load, keeping your warehouse in near-real-time sync with Provet without any manual exports. This gives you the raw Provet tables: health_patient, health_client, health_consultation, billing_invoice, billing_invoicerow, health_schedulingevent, health_plan_patienthealthplan, and organization_department.

The staging layer lightly cleans and standardises the raw Provet data. Column names are made consistent, nulls are handled, data types are cast, and any Provet-specific encoding (status codes, department IDs) is decoded into human-readable values. This layer should be thin: its only job is to make the raw Provet data queryable and consistent.

The intermediate layer applies business logic. This is where the real value is created. Invoice rows are classified into your revenue hierarchy by mapping Provet item codes and categories. Daily health plan status is calculated for every patient by joining health_plan_patienthealthplan with health_patient and health_consultation. Churn events and transitions are computed. Appointments from health_schedulingevent are joined with consultations to calculate completion and cancellation rates. Clinic-level daily metrics are aggregated from the patient-level and transaction-level data.

The mart layer produces the final analytics-ready tables that your metric tree reads from: a daily clinic performance view (one row per department per day with all clinical and financial metrics), a daily patient snapshot (one row per patient per day with their plan status and activity), and a transaction detail table (one row per invoice for financial analysis).

We use dbt (data build tool) to define this entire pipeline. dbt is particularly well-suited because it lets you define metrics once as semantic models, with explicit dimensions, measures, and calculated ratios. When someone asks "what is our appointment cancellation rate?", there is one definition: cancelled scheduling events divided by total scheduling events, filterable by department and date. This eliminates the spreadsheet problem where different people calculate the same Provet metric differently.

  1. 1

    Replicate Provet Cloud via CDC

    Connect Fivetran to your Provet Cloud database for change data capture into Snowflake. CDC replicates only changed records, keeping your warehouse in near-real-time sync without manual exports or scheduled dumps.

  2. 2

    Stage the raw Provet tables

    Create staging models that standardise column names, decode Provet status codes, and cast data types. One staging model per Provet entity: stg_provet_patients, stg_provet_consultations, stg_provet_billing_invoice, stg_provet_invoice_rows, stg_provet_scheduling_events, stg_provet_health_plans.

  3. 3

    Apply business classifications

    Build intermediate models that classify invoice rows into your revenue hierarchy, calculate daily health plan status for each patient, compute churn events and transitions, and aggregate appointment and consultation metrics by department and date. This is where your veterinary domain knowledge becomes code.

  4. 4

    Create analytics-ready marts

    Produce a small number of wide, denormalised tables: a daily clinic performance view, a daily patient snapshot, and a transaction detail table. These are the tables your metric tree platform reads from.

  5. 5

    Define metrics in a semantic layer

    Use dbt semantic models or a similar tool to define each metric with its formula, dimensions, and grain. This ensures everyone in the practice is looking at the same number when they refer to "cancellation rate" or "health plan churn."

“The biggest unlock is not the technology. It is the act of writing down what "active patient" means in your Provet data, what counts as a "completed consultation", and how "revenue by category" maps to Provet item codes. Most practices have never formalised these definitions. The semantic layer forces you to, and that clarity transforms how the team talks about performance.

Patterns from real Provet Cloud implementations

Having built and operated metric trees from Provet Cloud data, several patterns emerge consistently. These are not theoretical observations. They are patterns that appear in real Provet data and lead to specific operational changes.

  1. 1

    Late cancellations destroy more value than no-shows

    Most practices focus on no-show rates, but late cancellations (within 24 hours, derived from Provet scheduling event timestamps) are often more damaging because they are harder to refill. The metric tree reveals that late cancellation rate is a stronger predictor of daily revenue shortfall than no-show rate. This leads to a common policy change: shifting automated reminders from 24 hours before the appointment to 48 hours, giving the practice time to rebook the slot.

  2. 2

    Cat health plan retention requires different tactics

    Decomposing health plan churn from Provet by species shows that cat owners are much more likely to let plans lapse passively (non-renewal) than dog owners, who actively cancel. Cats visit less frequently, so owners notice the subscription charge without the corresponding visit value. The tree makes this visible and leads to targeted cat engagement programmes.

  3. 3

    Vet-level variation in diagnostics drives revenue variance

    When revenue per consultation varies between vets, the tree decomposition shows that the primary driver is not consultation pricing (which is standardised) but diagnostics revenue in the Provet invoicing data. Some vets recommend investigations significantly more often than others. Clinical audits confirm the higher-recommending vets follow protocols more consistently.

  4. 4

    Health plan revenue stabilises but masks volume problems

    Practices with a large health plan base find that subscription revenue provides a stable floor even when Provet consultation volume drops. This is good for cash flow but dangerous for planning, because the stable revenue number masks a declining visit rate that eventually leads to plan cancellations. The tree shows both metrics side by side, preventing false comfort.

  5. 5

    Unreturned voicemails are the highest-ROI fix

    Call centre metrics reveal that a significant percentage of voicemails are never returned. Each unreturned voicemail is a potential appointment booking lost. The metric tree connects unreturned voicemail rate to estimated lost consultations (based on Provet conversion rates) to lost revenue, creating a clear business case for additional reception staffing during peak call periods.

Getting started with your Provet Cloud data

You do not need to build everything at once. The practices that succeed with metric trees start small, prove value, and expand. Here is a practical sequence for getting started with your Provet Cloud data.

  1. 1

    Start with what you already report

    Take the numbers you currently pull from Provet Cloud reports in monthly management meetings: total revenue, consultation count, active patients. Write them down and draw the connections between them. This is your first metric tree, even if it is on a whiteboard.

  2. 2

    Add the first decomposition

    Pick one headline metric, typically revenue, and decompose it one level using Provet invoice data. Revenue by service category (professional fees, pharmacy, diagnostics, surgery) is usually the most revealing first split. This single decomposition often surfaces insights that the headline number hid.

  3. 3

    Connect to live Provet data

    Set up Fivetran CDC from your Provet Cloud database to Snowflake. Once the replication is running, consultations, invoices, and scheduling events flow automatically. Build the basic aggregations and see your tree metrics updating in near-real-time rather than waiting for a monthly report.

  4. 4

    Add health plan retention metrics

    If you run health plans in Provet Cloud, this is the highest-value addition. Track active plan members, churned patients, and transitions using health_plan_patienthealthplan data. Decompose churn by reason. This branch alone often justifies the entire metric tree effort.

  5. 5

    Expand to multi-department comparison

    If you operate multiple Provet departments, add department as a dimension across your metrics. Compare not just revenue by site, but cancellation rates, churn rates, ATV, and diagnostic rates. The comparisons will generate questions, and the tree structure will help you answer them.

  6. 6

    Invest in the semantic layer

    Once the tree is proving value, formalise your metric definitions in a semantic layer using dbt connected to your Provet data warehouse. This moves you from manual reporting to automated, consistent, daily metrics that the entire practice leadership team trusts.

The veterinary practices that get the most value from metric trees are the ones that treat them as living operational tools, not one-off analysis projects. The tree evolves as the practice evolves. New service lines, new health plan tiers, new departments, and new clinical protocols all change the tree. The structure accommodates this because it decomposes from the top down. When something new is added, it slots into the branch where it belongs, and its connections to the rest of the business are immediately visible.

Provet Cloud already holds the data. The metric tree provides the structure to make it useful.

A turnkey solution for Provet Cloud practices

Everything described in this guide, from CDC replication through to a live metric tree, is available as a turnkey solution from KPI Tree. We are a Fivetran partner and have already built the complete end-to-end pipeline for Provet Cloud practices. You do not need to hire a data engineer or learn dbt.

The solution includes Fivetran CDC replication from your Provet Cloud database into Snowflake, a fully modelled dbt project with staging, intermediate, and mart layers purpose-built for veterinary data, a dbt semantic layer that defines every metric with its formula and dimensions, and a KPI Tree instance connected to the semantic layer that gives your practice leadership a live, interactive metric tree from day one.

Because we have already done this for a multi-site veterinary group, the dbt models are proven. The revenue hierarchy mappings, health plan status calculations, churn decompositions, appointment efficiency metrics, and multi-department comparisons are all built and tested against real Provet Cloud data. We adapt them to your practice's specific structure, plan types, and reporting needs, but the core pipeline is ready to deploy.

Fivetran CDC replication

As a Fivetran partner, we set up change data capture from your Provet Cloud database into Snowflake. Your data replicates automatically with no manual exports.

Pre-built dbt models

Staging, intermediate, and mart layers purpose-built for Provet Cloud veterinary data. Revenue hierarchies, health plan tracking, churn decomposition, and clinic-level daily metrics.

dbt semantic layer

Every metric defined once with its formula, dimensions, and grain. Ensures consistent definitions across your practice for metrics like cancellation rate and health plan churn.

Live KPI Tree

A connected, interactive metric tree that updates daily from your Provet Cloud data. Trace revenue changes through clinical and retention drivers without waiting for monthly reports.

Turnkey delivery

From initial Fivetran connection to a live metric tree typically takes weeks, not months. The entire pipeline, from Provet Cloud CDC through dbt modelling to a KPI Tree dashboard, is delivered and managed as part of our consultancy. You get the metric tree described in this guide, connected to your Provet Cloud data, without building any of the infrastructure yourself.

Get a turnkey metric tree for your Provet Cloud practice

We set up the entire pipeline: Fivetran CDC from Provet Cloud, dbt models in Snowflake, and a live KPI Tree connected through the semantic layer. From your raw Provet data to a connected metric tree in weeks, not months.

Experience That Matters

Built by a team that's been in your shoes

Our team brings deep experience from leading Data, Growth and People teams at some of the fastest growing scaleups in Europe through to IPO and beyond. We've faced the same challenges you're facing now.

Checkout.com
Planet
UK Government
Travelex
BT
Sainsbury's
Goldman Sachs
Dojo
Redpin
Farfetch
Just Eat for Business