Blog · Board and management reporting · Oil and gas
Compare oilfield service revenue by customer, basin and contract. Separate billable activity, earned rates and contract mix, then reconcile service records with invoicing and recognized revenue.
Oil and gas services revenue analysis explains recognized service income through billable activity, realized rates and the mix of contracts performed. Reconcile service records, invoice lines and accounting adjustments first, then compare like-for-like contracts. A service company's commercial revenue needs its own analysis even when customers discuss the business in terms of commodity prices.
The useful output is a dollar bridge by customer and basin that finance can tie to the ledger. It should identify which contracts generated the change and what the commercial team needs to investigate next.
Choose the activity unit specified for each service: a crew-day, equipment-day, labor hour or completed job. Halliburton's 2025 Form 10-K describes service pricing on daily, distance, labor-hour or similar bases. The denominator must follow the contract rather than whichever activity total is easiest to export.
Keep different units in separate groups. You can add the dollar effects of an hourly service and a daily rental, but you cannot add their quantities or calculate a meaningful common rate. Separate mobilization fees, pass-through charges and lump-sum milestones unless they share the same unit economics.
This example uses comparable billable crew-days at a hypothetical US service provider. The table includes only earned service revenue assigned to those days. All figures are illustrative business records, not industry benchmarks.
Export service records with contract ID, customer ID, basin, service line, service date, ticket reference, unit type, approved billable quantity and billable status. Export invoice lines with the same references, net amount, currency, credits and accounting period. Add the accounting schedule for accrued revenue, advance billings and other recognition adjustments.
Aggregate invoice lines to the service reference before matching if one ticket has several invoice components. Retain unmatched service records and unmatched invoices as exceptions. An unmatched ticket is not automatically missing revenue: it may be nonbillable, disputed, billed under another reference or outside the recognition period.
Distinguish earned revenue from billing. SLB's 2025 Form 10-K describes recognition when control transfers and a separate over-time method for certain long-term contracts. The finance owner's policy determines which adjustments belong in your reconciliation.
For the current quarter in this example, the recognized revenue control is:
| Reconciliation component | Amount (USD) |
|---|---|
| Net invoice lines assigned to the quarter | 2,510,000 |
| Net recognition adjustment for earned, unbilled service | 60,000 |
| Recognized service revenue | 2,570,000 |
The adjustment is the net effect on this quarter's revenue, not simply the closing unbilled balance. Trace it to the supporting accounting schedule. The oilfield services sales KPI guide covers the separate commercial measures that can accompany this revenue control.
Compare the second and third quarters of 2026 on the same scope. Columns A through G below are the spreadsheet layout. Revenue is the reconciled accounting amount; the rates divide that amount by approved crew-days.
| Contract / basin | Prior crew-days | Prior rate (USD/day) | Prior revenue (USD) | Current crew-days | Current rate (USD/day) | Current revenue (USD) |
|---|---|---|---|---|---|---|
| A / Permian | 100 | 10,000 | 1,000,000 | 120 | 9,500 | 1,140,000 |
| B / Eagle Ford | 50 | 20,000 | 1,000,000 | 40 | 22,000 | 880,000 |
| C / Haynesville | 80 | 5,000 | 400,000 | 100 | 5,500 | 550,000 |
| Total | 230 | 2,400,000 | 260 | 2,570,000 |
Calculate the rates in C2 and F2, respectively, rather than averaging the rates on individual tickets:
=IF(B2=0,"",D2/B2)
=IF(E2=0,"",G2/E2)
Fill down through row 4. Current revenue ties to the recognized revenue control above. Its increase is $170,000, or 7.1%, from (2570000-2400000)/2400000, rounded to one decimal place.
The blended rate is $10,434.78 previously and $9,884.62 currently: total revenue divided by total crew-days, rounded to cents. That decline cannot be read as a uniform reduction in contract pricing, because the work mix changed.
For each contract, hold the prior rate constant to measure the activity effect. Use current activity for the rate effect, assigning the interaction to that second component.
Enter the activity effect, rate effect and residual check in H2, I2 and J2, respectively, then fill down:
=(E2-B2)*C2
=E2*(F2-C2)
=ROUND(G2-D2-H2-I2,2)
| Contract | Activity effect at prior rates (USD) | Rate effect (USD) | Revenue change (USD) |
|---|---|---|---|
| A | 200,000 | -60,000 | 140,000 |
| B | -200,000 | 80,000 | -120,000 |
| C | 100,000 | 50,000 | 150,000 |
| Total | 100,000 | 70,000 | 170,000 |
Every J cell must be zero. The total proof is $2,400,000 + $100,000 + $70,000 = $2,570,000.
The activity column combines overall growth with contract-mix changes. To split those effects, price the increase in total days at the prior blended rate. Compare that uniform-growth amount with the row-level activity result:
| Additional bridge step | Calculation | Effect (USD) |
|---|---|---|
| Overall activity growth | (260 - 230) × (2,400,000 / 230) | 313,043.48 |
| Contract mix | 100,000 - 313,043.48 | -213,043.48 |
| Rate effect | Sum of contract rate effects | 70,000.00 |
| Total change | 313,043.48 - 213,043.48 + 70,000.00 | 170,000.00 |
Use full precision in the workbook and round only the displayed results. The mix effect says growth came disproportionately from lower-rate work, while high-rate contract B lost days. It does not say that the lower-rate work was less profitable; that requires the separate oilfield services cost analysis.
Finance owns the revenue tie and recognition adjustments. Contract managers verify rate changes, customer terms and approved credits. Operations confirms billable quantities and explains standby, cancellations and utilization. Coverage teams investigate changes in customer activity.
Review contract A's rate decline against signed terms and credits. Review contract B's lost days against customer schedules and service availability. Contract C contributes growth, but the revenue bridge alone cannot establish whether it improves returns. Use oilfield services financial analysis for that broader question.
Once the definitions are stable, the oil and gas services dashboard can organize recurring contract and basin comparisons. Keep new and ended contracts separately labeled: an absent prior rate is not a zero prior rate.
Bring a sample of your own service, invoice and recognized revenue summaries to Covirage with comparable contract units identified. Covirage maps the columns, and its tools compute and check the figures; the external AI model explains the result with every figure traced to its rows. Create a free Covirage account, which takes about a minute, then set up your business and bring your export.
See Covirage for oil and gas services for the supporting industry context.
Use the accounting period in which the business recognizes revenue, supported by the service period and contract terms. Invoice dates help explain billing timing but may not identify when revenue was earned. Keep a bridge between net invoices, unbilled revenue and advance billings rather than treating them as identical.
The contract rate is the stated charge for a defined service unit under the agreement. The realized rate divides the revenue assigned to comparable activity by its billable units. Discounts, credits, standby terms and service mix can create a difference that needs a contract-level explanation.
Yes. More billable work can increase revenue even when activity shifts toward lower-rate contracts. Calculate each contract's activity effect at its prior rate, then compare that result with uniform growth at the prior blended rate. The difference identifies the contract-mix contribution within the chosen units.