---
title: "G-Series"
output:
  rmarkdown::html_vignette: null
  pdf_document: null
  html_document:
    df_print: paged
urlcolor: blue
linkcolor: blue
vignette: >
  %\VignetteIndexEntry{G-Series}
  %\VignetteEncoding{UTF-8}
  %\VignetteEngine{knitr::rmarkdown}
---

```{r, include = FALSE}
knitr::opts_chunk$set(
  collapse = TRUE,
  comment = "#>"
)
```

```{r setup, include = FALSE}
library(gseries)
```

<!-- Display the link to the French web page only when rendering an HTML document
     (e.g., not when rendering the PDF version)
     
     => the Pandoc "fenced_div" below (::: {.pkgdown-devel} <...> :::) is used to avoid 
        having the link generated in the pkgdown website vignette page
     => the link would only show in the "development" version of the pkgdown website
        (`development: mode: devel` in `_pkdown.yml` or `development: mode: auto` with a 4-level 
        version number in the DESCRIPTION file), which we do not use for gseries (we set 
        `development: mode: release` in `_pkdown.yml`, resulting in a single "release" website 
        regardless of the version number -->
::: {.pkgdown-devel}
```{asis, echo=knitr::is_html_output()}
(*version française : <https://StatCan.github.io/gensol-gseries/fr/articles/gseries.html>*)
```
:::

## Description

G<span>&#8209;</span>Series is Statistics Canada's (StatCan) generalized system devoted to the benchmarking and reconciliation of time series data. The methods used in G<span>&#8209;</span>Series essentially come from

* Dagum, E. B., and P. Cholette (2006). *Benchmarking, Temporal Distribution and Reconciliation Methods of Time Series*. Springer-Verlag, New York, Lecture Notes in Statistics, #186.

### Time Series Benchmarking
Goal: restore coherence between time series data of the same target variable measured at different frequencies (e.g., sub-annually and annually). 

The family of topics included under the *benchmarking umbrella* in G<span>&#8209;</span>Series includes, among others, *temporal distribution* (the reciprocal action of benchmarking: disaggregation of the benchmark series into more frequent observations), *calendarization* (a special case of temporal distribution) and *linking* (the connection of different time series segments into a single consistent time series). 

### Time Series Reconciliation
Goal: restore cross-sectional (contemporaneous) constraints in a system of time series measured at the same frequency (e.g., provincial and national series) with the optional preservation of temporal constraints. 

The reconciliation of aggregation tables (data cubes) involving only additivity constraints is called *raking* in G<span>&#8209;</span>Series while *balancing* refers to a more general class of reconciliation problems involving any type of linear constraints (including inequality constraints). 


## Software Availability

While early versions of G<span>&#8209;</span>Series (v1.04 and v2.0) were developed in SAS^®^, the software became an open-source tool with the release of G<span>&#8209;</span>Series 3.0 (R package gseries 3.0.0). This project is devoted to the open-source version of G<span>&#8209;</span>Series (R package gseries). Email us at [g-series@statcan.gc.ca](mailto:g-series@statcan.gc.ca) for information about the SAS^®^ versions. StatCan employees can also visit the G<span>&#8209;</span>Series Confluence page on the agency's intranet (search for "G-Series | G-Séries" in Confluence).


## Training

StatCan offers training on these topics. Visit the following pages on the agency's website for more information:

* [Theory and Application of Benchmarking (Course code 0436)](https://www.statcan.gc.ca/en/training/statistical/0436)
* [Theory and Application of Reconciliation (Course code 0437)](https://www.statcan.gc.ca/en/training/surveys/0437)


## Contact - Support

G<span>&#8209;</span>Series support is provided by the Time Series Research and Analysis Centre (TSRAC) in the Economic Statistics Methods Division (ESMD) and the Digital Processing Solutions Division (DPSD). Email us at [g-series@statcan.gc.ca](mailto:g-series@statcan.gc.ca) for information or help using G<span>&#8209;</span>Series. GitHub account holders can also request information, ask questions or report problems through the G<span>&#8209;</span>Series GitHub project [Issues](https://github.com/StatCan/gensol-gseries/issues) page. StatCan employees can do the same through the **Issues** page of the G<span>&#8209;</span>Series GitLab development project hosted on the agency's intranet (search for "G-Series in R - G-Séries en R" in GitLab).
