A production allocation workbook may end with a tidy volume for each property, but the number alone is not a review trail. A reviewer needs to know which measurement or report supplied the total, which version of the allocation basis was applied, which transformations occurred, and which downstream records consumed the result.
Production allocation source lineage documents that chain. It connects source files, exact fields, calculation rules, revisions, approvals, and outputs so a value can be reproduced without relying on the preparer’s memory. The process supports administrative research and quality control. It does not validate meters, design an engineering allocation, determine ownership, or authorize regulatory, revenue, or financial adjustments.
production allocation source lineage: Model lineage as a graph, not a folder
A folder shows proximity; lineage shows dependency. Two spreadsheets stored together may cover different months or revisions. Conversely, one tract value may depend on a meter statement, a unit schedule, a well crosswalk, and an approved formula stored in four systems.
Assign every source and output a durable node ID. Then record directed links such as:
source observation → normalized field → calculation step → allocated result → downstream report
Each node should include the asset, product, production month, source owner, file name or report ID, version, received time, effective or reporting period, storage locator, and file hash when permitted. Each link should state what field moved, whether it was copied or transformed, the rule applied, and who performed the step.
This design makes impact analysis possible. If a revised source arrives, the team can identify exactly which calculated rows and downstream deliverables depend on the earlier value.
Define the grain before collecting numbers
Allocation errors often begin when two records look compatible but have different grain. One source may report a lease total, another a well-completion total, and another a tract share. One may report oil in barrels while another reports gas in thousand cubic feet. A monthly total cannot safely be joined to a daily meter record merely because the names resemble each other.
Write a grain statement for every dataset:
| Dataset |
Required grain statement |
| reported production |
regulator or operator, identifier, product, month, status/version |
| measured volume |
meter or measurement point, product, interval, unit of measure |
| allocation basis |
unit or pool, tract/property, effective period, factor type, version |
| result |
output property, product, month, method version, approval state |
Preserve the source’s exact identifiers and units. Put normalized API numbers, property codes, names, and unit conversions in separate fields. Leading zeros, completion suffixes, and product labels can be material to a match. A normalization rule should have a version and should never overwrite the source observation.
Capture source facts before calculations
For every numeric input, record the value as shown, its unit, sign, decimal precision, source page or row, and observation time. Blank, zero, and unavailable are different conditions. Do not turn a blank factor into zero or carry forward a prior month unless an approved method explicitly requires it.
Create a source receipt record when a file arrives. Save the original in read-only form where the organization’s controls permit. If a workbook contains formulas, record whether the retained item is the native workbook, a values-only export, or a rendered copy. A PDF printout can show what was displayed, but it may not preserve formulas or hidden inputs.
Official systems should be treated according to the role of the record. The Railroad Commission of Texas production-data query provides Texas oil and gas production query access, while the Office of Natural Resources Revenue reporter handbooks provide current federal reporting guidance. Neither source automatically substitutes for an operator’s measurement support, an approved internal method, or another jurisdiction’s official record.
A calculation register should describe each step in plain language before storing the formula. For example:
- Select the approved unit total for the identified product and month.
- Select the tract-factor schedule effective for that month.
- Confirm that factors meet the project’s completeness and total checks.
- Apply the authorized formula without changing source precision.
- Apply rounding only at the stage specified by the method.
- Reconcile allocated results to the selected control total.
For each step, retain input node IDs, formula or code version, output node ID, operator, execution time, and control result. Do not embed an unexplained plug in a formula. If a residual must be handled, the method should say how and the output should identify which row received it.
The lineage should also record manual overrides as separate events. Store the prior value, replacement value, stated reason, requester, approver, timestamp, and affected outputs. A changed cell with no decision record breaks reproducibility even when the new value is correct.
Revisions create branches
Suppose an operator revises a unit total from 10,000 to 10,400 barrels, but the only tract schedule in the file predates the revision. Do not overwrite 10,000 and recalculate automatically. The revised total and older tract schedule create a new candidate branch whose compatibility has not yet been approved.
The exception should ask a focused question: “May allocation method M-7, using tract schedule TS-04, be applied to revised source statement PS-09 for the September oil period, or is a revised schedule required?” Attach the two source nodes, their dates and scope, the affected result nodes, and the deadline. The authorized operations, engineering, accounting, or regulatory owner decides. The analyst preserves both branches until that decision exists.
Branching is also useful when a state report, operator statement, and revenue statement show different totals. Each can remain a source observation with a defined role. A reconciliation record may explain timing, adjustments, products, or reporting grain; it should not force all systems to equal one number without support.
Controls should test identity, math, and completeness
Lineage quality control needs more than a sum check.
Identity controls compare source and output identifiers, product, month, unit, and version. They catch a mathematically correct allocation attached to the wrong property or period.
Mathematical controls reproduce formulas from retained inputs, check factor totals under the approved method, compare allocated sums to the control total, and test rounding. Store the tolerance and its authority rather than inventing one during review.
Completeness controls compare expected tracts or properties with included rows, identify duplicates, locate blank factors, and verify that every output has a source path. They also confirm that every source revision has an impact disposition: no impact, recalculation required, or pending decision.
A second reviewer should select at least one allocated result and trace it all the way back to original source fields. Then select one source field and trace forward to every output that used it. Those opposite-direction tests expose broken links that a row-by-row review can miss.
Publish a lineage manifest with the handoff
The deliverable should not be only the final workbook. Include a machine-readable or tabular manifest listing node IDs, source locators, hashes or version identifiers, grain statements, transformation steps, control outcomes, approvals, exceptions, and downstream destinations. Add a short readme that identifies the chosen branch and explains which decisions remain open.
Use clear lifecycle states: received, indexed, matched, calculated, control passed, approved, and published. These states describe processing, not truth. Control passed means the specified test passed; it does not mean the measurement, title, ownership, or regulatory treatment was professionally validated.
Closure means reproducibility
An allocation packet is ready for administrative closure when an independent reviewer can reproduce material results from retained inputs, every transformation has a named rule, revisions have documented impact decisions, exceptions have owners, and published outputs identify their source branch. If an approval or source is still missing, leave the affected branch pending rather than disguising it as a completed value.
Good production allocation source lineage turns a spreadsheet into an inspectable chain of custody for data. It helps teams correct revisions precisely, explain differences without guesswork, and hand professional reviewers the evidence they need at the point where judgment begins.
Landman Business supports structured production and owner-data workflows. Learn about data and software support or Book a free consultation.