diff --git a/Readme.md b/Readme.md
index c7a7984..e795074 100644
--- a/Readme.md
+++ b/Readme.md
@@ -56,14 +56,46 @@
 
 Argument | Description
 ---------| --------------------------------------------------------------------------
-matomoUrl| base URL of your matomo instance 
-siteId   | matomo site id or vector of site ids
-period	 | day, week, month or year
-date	   | date range (see [matomo API reference](https://developer.matomo.org/api-reference/reporting-api))
-filter_limit	| defines the maximum number of rows to be returned 
-removeFirst |logical that determines whether the first row of each site should be removed (to account for incomplete periods)
-removeLast	| logical that determines whether the last row of each site should be removed (to account for incomplete periods) 
-accessToken	| API Authentication Token - you can get this in your matomo interface under Settings -> Personal -> Settings -> API Authentication Token and pass it here, or you can make it persistent with persistAccessToken.
+`matomoUrl`| base URL of your matomo instance 
+`siteId`   | matomo site id or vector of site ids
+`period`	 | day, week, month or year
+`date`	   | date range (see [matomo API reference](https://developer.matomo.org/api-reference/reporting-api))
+`filter_limit`	| defines the maximum number of rows to be returned 
+`removeFirst` |logical that determines whether the first row of each site should be removed (to account for incomplete periods)
+`removeLast`	| logical that determines whether the last row of each site should be removed (to account for incomplete periods) 
+`accessToken`	| API Authentication Token - you can get this in your matomo interface under Settings -> Personal -> Settings -> API Authentication Token and pass it here, or you can make it persistent with persistAccessToken.
+
+### Result
+
+Data frame with the following columns: (see [Matomo API Response: Metric Definitions](https://developer.matomo.org/api-reference/reporting-api#api-response-metric-definitions) for a more detailed and authoritative description)
+
+Column | Description
+------|-------------------------------------------------------------------------------------
+`c("day","month","year")` | date (range)
+`nb_uniq_visitors` | Number of unique visitors
+`nb_users` | Number of unique active users (visitors with a known <a href="https://matomo.org/docs/user-id/">User ID</a>). If you are not using User ID then this metric will be set to zero.
+`nb_visits` | Number of Visits (30 min of inactivity considered a new visit)
+`nb_actions` | Number of actions (page views, outlinks and downloads)
+`nb_visits_converted` | Number of visits that converted a goal
+`bounce_count` | Number of visits that bounced (viewed only one page)
+`sum_visit_length` | Total time spent, in seconds
+`max_actions` | Maximum number of actions in a visit
+`avg_time_on_site` | Average time spent, in seconds, on this site
+`site_id` | Id of requested site (provided by matomor)
+`date` | interpolated date (provided matomor)
+
+
+#### Example result data frame returned from a query with period `month`.
+
+month  |nb_uniq_visitors|nb_users|nb_visits|nb_actions|nb_visits_converted|bounce_count|sum_visit_length|max_actions|bounce_rate|nb_actions_per_visit|avg_time_on_site|site_id| date         
+-------|----------------|--------|---------|----------|-------------------|------------|----------------|-----------|-----------|--------------------|----------------|-------|------------
+2020-06|343|0|3737|70554|0|851|3595243|724|23%|18.9|962|3|2020-06-01
+2020-07|1048|0|2695|55163|0|650|2599097|2064|24%|20.5|964|3|2020-07-01
+2020-08|823|0|2707|60570|0|581|2978008|631|21%|22.4|1100|3|2020-08-01
+2020-09|949|0|3222|74976|0|691|3564482|836|21%|23.3|1106|3|2020-09-01
+2020-10|1254|0|3624|69954|0|901|3548351|1089|25%|19.3|979|3|2020-10-01
+2020-11|1805|0|5005|108621|0|1108|5325212|1308|22%|21.7|1064|3|2020-11-01
+2020-12|1134|0|2713|62353|0|574|3015877|565|21%|23|1112|3|2020-12-01
 
 ## Examples
 
