Inspired in our company name (where "Ubi" stands for Ubiquitous, and "dots" for, well, "dots"), a "dot" is a data point containing a **value** and a **timestamp**:

Every time a device variable is updated, then one data-point or "dot" is created. For example, if you have a weather station with 4 sensor variables sending data every 10 minutes (i.e. temperature, humidity, pressure and precipitation), then your device will generate a total of 17,280 dots every month:

*4 dots x 60/10 updates per hour x 24 hours x 30 days = 17,280 dots per month*

Dots are billed at million-dots increments, both at the moment of **ingestion**, and **extraction**. Every Ubidots plan includes enough **Dots In** and **Dots Out** to power most IoT Applications, while avoiding overages. However, data-intensive applications might eventually experience overage costs.

## Data Ingestion

Ubidots bills for incoming dots and their storage only at the moment they are received. After a dot is received and saved, it will remain in your account for a standard 2-year retention period, **without generating further storage charges.**

- Dots In:
**$5**per million ingested dots

## Data Extraction

Ubidots bills for extracted dots as it is a metric that, even though small, contributes to our own cost base (outbound data transfer + database query operations + processing server load).

- Dots Out:
**$0.1**per million extracted dots

Billed **Dots Out** is the sum of the dots extracted through these two (2) outbound channels:

**API / Front-end**: Data requested through the API, either by the web interface (admin or end-users), or by external applications or devices. This includes all the queries required to render dashboards, CSV reports, variables, scheduled reports, etc. For example, if you have 1,000 users accessing a dashboard every day, and such dashboard queries 10,000 dots to our database, then the total**Dots Out**would be:

* Dots Out (API) = 1,000 users x 10,000 dots x 30 days = 300 Million dots out*

**Synthetic Variables**: Data requested by your synthetic variables, in order to compute formulas that include data ranges. See section 4: "Synthetic data range variables" in this article for a list of operations that will extract dots. For example, if you have 1,000 temperature-sensing devices sending data every 10 minutes, and create a variable to compute the daily average, then this synthetic variable will re-compute every time the temperature variable is updated, that is, every 10 minutes. The**Dots Out**count is then computed as follows:

* **At 00:10 --> 1 dot is extracted to compute the daily average*

* **At 00:20 --> 2 dots are extracted to compute the daily average*

* **At 00:30 --> 3 dots are extracted to compute the daily average*

* **...*

* **At 23:50 --> 143 dots are extracted to compute the daily average*

* **At 00:00 --> 144 dots are extracted to compute the daily average*

The **Dots Out **required to compute this synthetic variable is then the sum from 1 to 144, which can be computed using the arithmetic series formula:

** Dots Out = n/2 * (n + 1) **

**Dots Out = 144/2 * (144 + 1) = 10,400 per day or 313,200 per month**

For a deployment of 1,000 devices, this would mean *1,000 devices x 313,200 dots out = 313,200 Million dots out*

#### Other users also found helpful:

- Plans & Billing: Am I billed for inactive devices?
- Plans & Billing: How to Change your Billing Address