Cloud based analytics and BI platform with a built-in data warehouse, developed on the principles of dimensional modeling.

Built on Kimball's dimensional modeling principles and star schema, 6facts helps you translate your business processes into a dimensional models, capture the business process data and push them to the 6facts data warehouse on the cloud using simple API calls.  6facts can receive, process, store, analyze and report any business process events, application usage events, transaction events and your legacy data.

No coding required. No database, software or hardware needed.

All you need to do is signup free of cost, create a fact table and setup measures and dimensions using our online interface.  Use our simple API to capture and send business process data as facts. 6facts securely stores your models along with data in the cloud and lets you produce drill down, agregate reports. 6facts as very simple to understand and use. You will be able to create your first BI solution on our cloud in minutes.

Zero maintenance.

Since 6facts resides in the cloud it takes the burden of maintenance, support, backups and upgrades away from your teams. You can access your data and reports anytime using a web browser. You can export your raw data into excel/csv and import into your database. 6facts can also provide 24X7 support at additional cost.

How 6facts works
How 6facts works
How 6facts works

Whether you a small business or a small workgroup in a bigger organization with no access to IT teams, 6facts is the ideal solution for you. All registered users get free phone consultation from our IT team who will help you setup, customize and run your first BI solution on cloud.

6facts is built from ground up using messaging technology. All data is captured using HTTP REST messages. 6facts uses Amazon AWS SQS messaging platform to receive your messages. These messages contain your event data modeled into facts. 6facts processes these messages in near real time, analyze and produce reports.

Business processes are the activities performed by an employee or customer of your company. These processes represent measurable events, like taking a test on your website or invoicing a client from your ERP/Excel. Business processes capture or generate unique performance metrics associated with each event. Your applications generate lots of usage data, whether on your website (eg: ecommerce, intranet portal) or on your iPhone/Android app, or desktop (eg: stock trading in excel, POS app in C#).

These events translate into facts, with each business process represented by a fact table. Fact data is generated when a process event happens. Example:

You may also have accumulated lots of data over time thats residing in your database or excel sheet or a text file, which you want to analyze and extract business intelligence.

With 6facts, you can easily capture both event and legacy data, model into facts and dimensions and send to 6facts using simple HTTP REST api calls.

All you need to do is capture data, send to 6facts using REST api and see the reports in realtime. One simple REST api call will capture a fact by creating one entry into your own customized fact table on the cloud. Entries will be created in the dimension tables if they don't exist. Facts are of daily grain by default. You can have a higher grain of "second", by sending "Time":"HH:mm:ss" in the dimensions list of the api call. 6facts currently supports javascript, jQuery, Excel (VBA), Python and command line tools such as curl. Java, C#,  PHP APIs will follow soon.

Reports: Once you start collecting your facts, you can login to your dashboard at 6facts.com and produce drill down reports of all your data. You can identify and monitor unique business KPIs. You can export your reports to pdf, excel and csv formats. You can also export your raw data to your inhouse datawarehouse when you have one.

Only email is needed to sign-up free. get your Publisher Id and script tag and sart capturing your facts in minutes. Also you can login using our demo id/password and test drive.

Example command line HTTP POST to 6facts via Amazon AWS SQS

6facts uses Amazon AWS messaging API to receive your facts. All facts sent will be delivered to 6facts servers without fail. Your facts may not appear immediately due to latency in processing the messages, but they will be guaranteed to be processed and will appear later.
curl -i https://sqs.us-west-2.amazonaws.com/XXXX/6factsQueue/ -X POST -d '{"PubId":"yourid-actid-appid", "Fact":"Purchased Online", "Fact.Amount":45.50, "Fact.Taxes":3.75, "Date": "2016-02-12", "Person.FirstName": "Mark", "Person.LastName": "Thompson", "Person.Email": "Mark@gmail.com", "Person.Gender": "M", "Person.Age": 33, "Person.Salary": 80000, "Person.Industry": "Pharma", "Person.Profession": "VP", "Product.SKU": "IPHN6SPK", "Product.Name": "iPhone Speakers","Product.Manufacturer": "JBL", "Product.Category1": "Accessories", "Product.Category2": "Phone Accessories", "Product.Category3": "Speakers", "Location.Area": "Downtown", "Location.City": "Chicago", "Location.District": "Cook County", "Location.State": "IL", "Location.Region": "Midwest", "Location.Country": "USA" , "Location.Pincode": "60601" }'

Example javascript API Call:

We provide you simple script tag. You can use it in your Webpages.

<script type="text/javascript" src="https://6facts.com/sf.js"></script>
<script> sfDataLayer.push({ 'Fact': 'Mock test taken', 'Fact.Marks': 45, 'Fact.TimeTaken': 60, 'Fact.Description': 'Mock Test taken on mymocktest.co. One fact per each successfully taken test.', 'Date': '2015-10-22', 'Time':'23.05.10', 'Person.FirstName': 'Mark Thompson', 'Person.Email': 'Mark.Thompson@gmail.com', 'Person.Gender': 'M', 'Person.Age': 33, 'Person.Salary': 80000, 'Person.Industry': 'Pharma', 'Person.Profession': 'VP', 'Product.SKU': 'IPHN6SPK', 'Product.Name': 'iPhone Speakers', 'Product.Manufacturer': 'JBL', 'Product.Category1': 'Accessories', 'Product.Category2': 'Phone Accessories', 'Product.Category3': 'Speakers', 'Location.Area': 'Downtown', 'Location.City': 'Chicago', 'Location.District': 'Cook County', 'Location.State': 'IL', 'Location.Region': 'Midwest', 'Location.Country': 'USA', 'Location.Pincode': '60601' }); </script>

Example Python API Call:

import json, urllib.request, xml.etree.ElementTree as ET
queue = "6factsDev"
url = "https://sqs.us-west-2.amazonaws.com/727706852856/" + queue + "?" #append fact to this
fact = {"PubId":"c500d1f8-c63c-49ca-83e4-55515f0fkk95-1-3",
    "Fact":"Invoices","Version":"1","Fact.Amount":"7000","Date":"2015-02-18",
    "Invoice.Key":"CHOO1501","Invoice.PONumber":"HH567HH","Invoice.Currency":"USD","Invoice.Company":"Acme",
    "Payment.Key":"NHHX97700","Payment.Bank":"Bank One","Payment.AccountType":"Checking","Payment.Date":"2015-04-27",
    "Location.Key":"ELSEG","Location.City":"El Segundo","Location.Country":"USA","Location.Pincode":"90245","Location.State":"CA" };
url = url + urllib.parse.urlencode ({'MessageBody':json.dumps(fact), 'Action':'SendMessage'})
req = urllib.request.Request(url)
response = urllib.request.urlopen(req) # send the fact to 6facts via AWS
result = response.readall().decode('utf-8')
tree = ET.fromstring(result)