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.
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
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 two (2) outbound channels:
API: Data requested by external applications or devices from our API
Front-end: Data requested by the web interface (admin or end-users). 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