Data models
Data models: the unit you actually buy
Interfaces, infrastructure and the work of keeping them reliable are all necessary — and none of them is what you wanted. Tell us which datasets you need; what lands in your warehouse is data your team can put to work.
Types of data models
Six shapes of data, and what each one makes you decide
Almost every dataset a business asks for is one of six shapes. Which one it is decides more about the work than the industry, the vendor or the API ever will — because each shape forces a decision the source does not make for you.
A shape is not a price. Two datasets of the same shape can classify differently — that depends on how many resources they need, how well the source answers “what changed”, and how much has to be derived. The ladder below is where that is settled.
Three rules
What is and is not included
Three consequences of pricing by dataset rather than by endpoint — and the three places connector pricing usually misleads people.
One model may use many endpoints
One data model may use many API endpoints. You don't pay per endpoint. We work out which resources a dataset needs and how they join. A list of resources appears in your estimate as evidence for the classification, never as line items.
Raw source data is always included
You get the model and the raw source data behind it. Every resource read to build a model is also landed in raw form, at no extra cost, so you are never dependent on our interpretation of your data. Physical table naming varies by warehouse, so we promise the principle, not specific table names.
A difficult source does not make a model cost more
Awkward authentication, bad pagination and hostile rate limits move the connector into the complex band, once. They never raise the type of a data model on it. Otherwise you would pay for the same authentication problem repeatedly.
Interpretation
A price is not a series until someone decides what happened in between
Time series deserve their own section, because the gaps between observations are where the modelling decisions actually are — and where a dataset quietly stops being a copy of the source.
Say the source gives you three observations — a value on the 3rd, the 7th and the 18th. Your report asks what it was on the 10th. The source never said. There are three honest answers, each correct somewhere and wrong somewhere else, and the same three observations produce three different curves.
Last known value
It stays as last observed until the next observation. Right for prices, contract rates and fixings — things that hold until someone changes them. Every number in the column traces back to something the source actually said.
Interpolated
Assume it moved evenly between the two observations. Right for a continuous physical quantity read intermittently — a meter, a temperature, a tank level. Wrong for a price: the price did not drift on the 10th, it simply was not observed.
Extrapolated
Past the last observation, on the direction it was last heading. Nothing in the source supports it. It is a forecast wearing the same column name as a fact, which is the most expensive mistake on this page.
We default to last known value
It is the only one of the three that never invents a number. If a different rule is right for your data, we will use it — and write down which one, and why, next to the dataset.
A smooth daily curve is business logic
Interpolating between observations is a derived field, not a mapping, and it puts the data model at Advanced or above. Worth knowing before you ask for “just a daily series”, because that phrase is doing a lot of work.
We do not extrapolate by default
If you ask for it, it lands in a separately named column, marked as modelled, never mixed into the observed one. You can always tell which numbers came from the source.
Two dates, not one
The day the value applied to and the day the source told you are different, and sources revise the past — a price for the 7th restated on the 20th. If your reports must not change retrospectively, you need both dates, and that has to be decided before the first load, not after.
The ladder
Four types, and what puts a dataset in each
Classification is a documented judgement made from your API's documentation, with the reason written down. If we get it wrong in your favour, that is our problem.
| Type | Typically | Delivery |
|---|---|---|
| SimpleThree come with a Base Connector | One resource, flat records, little or no transformation. Reference and lookup data, or a single entity with no dependencies. | 2–5 business days |
| Standard | A straightforward business entity. Normal reference data, simple relationships, standard incremental sync, limited transformation. | 5–10 business days |
| Advanced | Multiple dependent resources, complex relationships or nested structures, harder incremental sync, significant transformation. | 10–20 business days |
| Custom | Substantial bespoke business logic, unusual reconciliation, more than one API, or exceptional technical requirements. Individually assessed. | 20–40 business days |
Afterwards
When something is a change and when it is a new model
Worth knowing before you ask, because the answer decides the price.
| A new field on a dataset you already have | Part of keeping it working. No charge under a support plan |
|---|---|
| A new API resource inside an existing data model | A fixed fee, smaller than a data model. See the price list |
| A new dataset | A new data model, priced by its type |
| A second source system | A new Base Connector. The DevOps line is zero — your environment already exists |
Tell us the datasets, not the endpoints
Name the questions you want the warehouse to answer. We will come back with the models, the types, the reasons and a price.
Get an estimate