Back

A short introduction to Stan

by Tom Begley

January 28, 2019

This post will introduce you to Stan. To quote the Stan documentation:

Stan® is a state-of-the-art platform for statistical modeling and high-performance statistical computation… Users specify log density functions in Stan’s probabilistic programming language and get:
– full Bayesian statistical inference with MCMC sampling (NUTS, HMC)
– approximate Bayesian inference with variational inference (ADVI)
– penalized maximum likelihood estimation with optimization (L-BFGS)

Stan models are specified in a custom programming language that closely mimics mathematical notation. For example, the requirement x\:\sim\:\mathcal{N}(0, 1) becomes (ignoring for the moment variable declarations).

x ~ normal(0, 1);

Once you’ve specified your model in a .stan file, the Stan compiler stanc transpiles the code to optimized C++ then compiles it to produce an executable. This results in extremely efficient custom samplers.

The Stan modelling language

Stan programs are specified in blocks. The most important ones are:

  • data – define the data that the Stan model should expect to receive as input
  • parameters – define the parameters in the model
  • model – specify the joint distribution of parameters and data by specifying a prior and a sampling distribution

Additionally we can specify

  • functions – define reusable functions within the Stan program. Can be used to define custom probability distributions in advanced models
  • transformed data – apply transformations to the input data. This block allows us to transform data once and save it, avoiding expensive transformations applied every iteration of sampling. Usually you’ll do a lot of data preprocessing in Python or R, but this can be useful for aggregating input data, or computing auxilliary data.
  • transformed parameters – this block allows us to specify transformations that should be applied to sampled parameters in each sampling iteration
  • generated quantities – in this block we can generate quantities from sampled parameters in each iteration of the sampling algorithm. For example, one might use this block to generate predictions on test data with each sample of the parameters in the model. This allows us to compute Monte Carlo estimates for quantities of interest while sampling.

In this tutorial we’ll focus mainly on the three core blocks and generated quantities, but check out future posts for more advanced model specification.

Types

Stan has two primitive types, declared as follows:

int n;  // n can take integer values
real x;  // x can take continuous values

It also has three linear algebra types

vector[4] v;  // a 4-dimensional column vector
row_vector[5] w;  // a 5-dimensional row vector
matrix[2, 3] m;  // a 2x3 matrix

Any type can be made into an array type by declaring array arguments. For example,

real x[10];  // an array of reals length 10
matrix[3, 3] m[6, 7];  // a 2D array shape (6, 7) of 3x3 matrices

You can also specify constraints on variables using angle brackets. For example

int<lower = 1> n;  // a positive integer
// a 4-dimensional column vector with each entry in [-1, 1]
vector<lower = -1, upper = 1>[4] corr;

Upper and lower bounds specified like this are inclusive. Constraints specified on variables defined in data, transformed data, transformed parameters, and generated quantities provide error checking on input or sampled values, whereas constraints on variables specified in the parameters block determine the range of values that can be sampled from.

In addition to the above, there are special data types for structured vectors and matrices that we will not cover in detail here, they are: simplex, unit_vector, ordered, positive_ordered, corr_matrix, cov_matrix, cholesky_factor_cov, cholesky_factor_corr.

Example: The Paris birth problem

The best way to demonstrate writing a Stan model is with a specific example. We will fit a simple binomial model to the number of female and male births in Paris over the peeriod 1745-1770. This problem was first studied by LaPlace who independently developed many of the same insights originally had by Thomas Bayes.

Our data consists of two integers:

female_births = 241945
male_births = 251527

We would like to understand the probability of a given birth being male or female, and answer questions such as “is a given birth equally likely to be male or female?”.

Specifying the model

We let n denote the total number of births, y the number of female births, and p the probability that any given baby is born female (which are assumed independent, identically distributed events). The model we are going to fit can be specified as:

p \: \sim \: \mathrm{Unif}(0, 1) y \: \sim \: \mathrm{Bin}(n, p)

That is to say, we assume every possible value for the probability p is equally likely, and assume that y is binomially distributed with n trials and probability p.

In Stan, we would specify this model as follows:

// paris_births.stan

data {
  int<lower=0> n;  // total number of births
  int<lower=0, upper=n> y;  // number of female births
}
parameters {
  real<lower=0, upper=1> p;  // probability of female birth
}
model {
  // specifying the prior on p is not stricly necessary
  // as stan will place a uniform prior on p by default
  p ~ uniform(0, 1);
  y ~ binomial(n, p);
}

Compiling and running the model

Stan has numerous interfaces for compiling and running models, including CmdStan, RStan, PyStan, MatlabStan, Stan.jl, StataStan, and MathematicaStan. We’ll demonstrate PyStan and RStan which are the most mature and feature rich options (other than CmdStan) but are also very user friendly if you already know how to code in R or Python.

PyStan

First install PyStan

pip install pystan

then from Python we can simply do the following

import pystan

female_births = 241945
male_births = 251527

# data is passed into Stan as a dict
data = {
    "n": female_births + male_births,
    "y": female_births,
}

# compile the model
# for a simple model, this takes much longer than sampling!
sm = pystan.StanModel(file="paris_births.stan")

fit = sm.sampling(data=data, chains=4, iter=2000, n_jobs=1)
print(fit)
Inference for Stan model: anon_model_c0885aeecd94a1dc173da101ba25b432.
4 chains, each with iter=2000; warmup=1000; thin=1; 
post-warmup draws per chain=1000, total post-warmup draws=4000.

       mean se_mean     sd   2.5%    25%    50%    75%  97.5%  n_eff   Rhat
p      0.49  1.8e-5 7.0e-4   0.49   0.49   0.49   0.49   0.49   1520    1.0
lp__ -3.4e5    0.02   0.68 -3.4e5 -3.4e5 -3.4e5 -3.4e5 -3.4e5   1549    1.0

Samples were drawn using NUTS at Fri Jan 11 13:26:41 2019.
For each parameter, n_eff is a crude measure of effective sample size,
and Rhat is the potential scale reduction factor on split chains (at 
convergence, Rhat=1).

As you can see above, printing the fit object gives us basic summary stats of the sampling, such as the sample mean, mean standard error (estimated sampling error), the sample standard deviation, and various sample quantiles that let us easily see what the central 50% and 95% intervals are for each parameter (in our case, we only have one parameter p, lp__ is the log posterior which will get generated by every Stan model). In addition to summary statistic, fit displays two diagnostic metrics:

  • n_eff – MCMC draws correlated samples. n_eff is a crude measure of the “effective sample size”, i.e. performing inference with the sample is approximately like performing inference with n_eff independent samples. If n_eff is a small fraction of the number of samples drawn, this indicates highly correlated samples and could lead to problems with inference.
  • Rhat – This is a convergence metric for the sampling algorithm. If all of your chains have converged it will be 1 or very close to it. There’s no definite rule on what a good value of Rhat is, but if you have Rhat greater than 1.2 you should probably investigate, if it’s greater than 2 your chains are very unlikely to have converged properly. Note that Rhat equal to 1 doesn’t actually guarantee convergence, it is a necessary condition but not sufficient.

We can extract the sampled parameters into a Python dictionary using the extract method

fit.extract()["p"]
array([0.49075869, 0.48934217, 0.49044326, ..., 0.48911428, 0.48898282,        0.48935031])

Diagnosing sampling issues and understanding the posterior distribution is often best done by visualising the samples. The visualisation tools inside PyStan are being deprecated in favour of using the library arviz. Install with

pip install arviz

Then to visualise your chains and sampled parameters do something like the following

import arviz as az

az_data = az.from_pystan(posterior=fit)
az.plot_density(az_data, var_names=["p"])

RStan

The above analysis can be repeated similarly in R. First install RStan

install.packages("rstan")

This takes surprisingly long… When it’s done, you can do the following from R

library(rstan)

# automatically cache compiled model as .RDS file
rstan_options(auto_write = TRUE)
# specify number of cores
options(mc.cores = 1)

female_births <- 241945
male_births <- 251527

data = list(
  n = female_births + male_births,
  y = female_births
)

fit <- stan(
  file = "paris_births.stan",
  data = data,
  chains = 4,
  iter = 2000
)

Much like in pystan, you can print the fit object to get a high level summary of the samples, or you can investigate more deeply with traceplots etc. RStan has inbuilt plotting functions built with ggplot2. Check out the documentation for details.

Generated quantities

To finish this introduction let’s take a quick look at the generated quantities block. We’ll specify a new model as follows

// paris_births_gq.stan

data {
  int<lower=0> n;  // total number of births
  int<lower=0, upper=n> y;  // number of female births
}
parameters {
  real<lower=0, upper=1> p;  // probability of female birth
}
model {
  // specifying the prior on p is not stricly necessary
  // as stan will place a uniform prior on p by default
  p ~ uniform(0, 1);
  y ~ binomial(n, p);
}
generated quantities {
  int<lower=0, upper=n> y_sim;

  // generate births data with sampled p
  y_sim = binomial_rng(n, p);
}

We run this with similar python code as before

sm = pystan.StanModel(file="paris_births_gq.stan")

fit = sm.sampling(data=data, chains=4, iter=2000, n_jobs=1)
print(fit)
Inference for Stan model: anon_model_bb79043a746024083d185b7fd5482af0. 4 chains, each with iter=2000; warmup=1000; thin=1;  post-warmup draws per chain=1000, total post-warmup draws=4000.         mean se_mean     sd   2.5%    25%    50%    75%  97.5%  n_eff   Rhat p       0.49  2.0e-5 7.2e-4   0.49   0.49   0.49   0.49   0.49   1300    1.0 y_sim  2.4e5   11.67 497.65  2.4e5  2.4e5  2.4e5  2.4e5  2.4e5   1818    1.0 lp__  -3.4e5    0.02   0.73 -3.4e5 -3.4e5 -3.4e5 -3.4e5 -3.4e5   1403    1.0 Samples were drawn using NUTS at Fri Jan 11 13:28:24 2019. For each parameter, n_eff is a crude measure of effective sample size, and Rhat is the potential scale reduction factor on split chains (at  convergence, Rhat=1).

and we find that fit has now sampled the new variable y_sim, which gives us a range of likely female birth counts given the observed data. Once again, we can extract these with extract.

fit.extract()["y_sim"]
array([241772., 241553., 242757., ..., 241920., 241043., 242368.])

Note that the variance in this range will be larger than the variance in the binomial distribution with $p$ fixed at the sample mean. This demonstrates one of the powers of full Bayesian inference, as point estimates will typically underestimate uncertainty leading to overconfident inferences.

Further reading

The Stan documentation is extremely good, particularly the language manual which includes a full API reference, many examples, optimisation hints and implementation details. The documentation more generally has advice on specifying models such a prior choice recommendations. Finally, there is a great community behind Stan, including an active group of developers, and a lot of help available online. Do search the Stan forums for help if you get stuck.

To find out more about what Faculty can do for you and your organisation, get in touch.

Close

Faculty newsletter

Sign up to our newsletter to receive information about our latest developments, news and events.

Faculty Science Ltd (“Faculty”, “we”, “us” or “our”) respect the privacy of its users (“User”, “you” or “your”) and is committed to protect the information that you share with us, whether it’s directly, through using our Services such as our Data Science Platform Faculty Platform (“Faculty Platform”), or through a third party (“Third Party” or “Third Parties”). We want to be transparent about our practices regarding the data we may collect when you use our Sites and our Services.

Our Sites

This Privacy Policy covers the information practices of faculty.ai, https://cloud.my.faculty.ai, and subdomains of both. Collectively these are referred to as our “Sites”.

Our Services

This Privacy Policy also covers other ways you might interact with us – such as by attending one of our events, signing up to our mailing list or the use of Faculty Platform – collectively these are referred to as Faculty’s “Services”.

What this policy does not cover

This Policy covers all Services and Sites of Faculty unless another Privacy Policy is displayed. In any such circumstance you will be made fully aware of the existence of another Policy. An example of this is when you sign a contract under which we supply you with our bespoke data science services.

End Users

Our Services are primarily used by Companies and Organisations. Where we are providing Services to you under a Company or Organisation contract (for example where a company holds a licence enabling you to use Faculty Platform), any data held about you personally is controlled by your Company or Organisation. If this applies to you, you can find further information below in the section entitled “Notice to End Users”.

The information we collect

Faculty collects information from individuals who visit our Sites and individuals who register to use the Services, either directly on our Sites or on third party Sites.

Types of Data

We may collect two types of data from our Users:

(1) Non-identifiable and anonymous information (referred to in this Policy as “Non-Personal Data”) where we are not aware of the identity of the User from which we have collected the Non-Personal Data;

(2) Individually identifiable information (referred to as “Personal Data”) where we may be able to identify an individual or the information may be of a private and/or sensitive nature.

Faculty will not request any “Sensitive Personal Data” (that is, information concerning an individual’s racial or ethnic origin, political opinions, religious or similar beliefs, trade union membership (or non-membership), physical or mental health condition, criminal offences or related proceedings, or any other data considered as sensitive under applicable law) unless it is in connection with your employment by Faculty or an application for employment or is related to our bespoke services which are covered by separate Privacy Policies.

As a User you may choose to ask us to process Sensitive Personal Data where you do so we will only use that data as you have requested as explained below (see Data Added or Collected by you).

Data we collect from you

Registration and Contact Information:

When you register to use our Services, or amend your previous registration details, we collect your username, first name, last name, company name, email address and in some circumstances where it is necessary to contact you about the Services, a postal address and phone number (“Registration Information”).

Billing Information

When purchasing Services which require payment, we collect billing information such as billing name, address, credit/debit card information. Sometimes we require some additional information to calculate and verify your bill, such as the number of people in your Company that require licences, your VAT registration number, and your Company registration number (“Billing Information”).

Information you provide through our Support Service

When you request help from us to use our Sites or Services through the Contact Form or Chatbot, you may choose to submit information about your usage of our Services. We will require an email address and name to provide you with assistance, and may ask you to provide further information in order to be able to solve your query (“Support Information”).

Optional Information

Whilst using our Sites and Services, you may provide us with additional information that is not required (“Optional Information”). Such Optional Information might include your job title, survey answers, feedback, or additional information in your support requests. We may ask you for feedback on our Support Service, but such information is optional and you do not have to give it to us. If we ask for this information from you and it is not required for use of our Services, such information will be clearly marked as optional. All such Optional Information shall be treated as Personal Data for the purposes of this policy.

Navigational and Usage Information

We automatically collect information as you use our Sites and Services about how you interact with us. Such information includes your IP address, the browser you are using, the type of device you are using to connect to us, the links that you click on, and the date and time you interact with us (“Navigational Information”). We use cookies to help us collect Navigational Information. You can find further information about our use of cookies in the section at the end of this document entitled Our Cookie Policy.

Data Added or Collected by you

As a User of our Services, in particular Faculty Platform, you may choose to add / invite other Users to our Services. Where you do so, we will only use that data as you have requested, to invite the User to our Services. Such data will be retained in our system until you remove it and will not be used other than for the purposes specified by you. You may also upload or ask us to collect (via APIs – application program interfaces – or other means) various types of information or data for processing and hosting (“Customer Material”). We will only process such Customer Material for the purposes set out in the Terms of Services.

Third Party Collectors

In some situations we may use a third party (that is, a separate organisation) to register your information so that you can use our Services, for example invitees to our events are asked to register via Eventbrite. You can find out more information about these “Third Parties” and their activities  in the section entitled “Third Party Processing”.

Other Information

If you provide us with any information not covered in the above, we will still use such information in accordance with this policy, or as permitted by you.

How we use the information we collect

We use your Registration Information, Billing Information and Optional Information in order to:

Operate the Service:

We require your Registration Information and Billing Information in order to provide you with secure Login credentials (username and password) and to receive payments for Services provided.

To provide customer support

We will require Registration Information and Optional Information in order to provide technical assistance, answer your queries, send you updates on account (for example if your payment is overdue), and to provide other support where it is requested from you.

To improve our Services

We may use Support Information, Optional Information, and Navigational Information to improve delivery of our Services to you. For example to identify common issues and fix them, or to identify bugs. Where we collect such data, such as bugs, your Personal Information will be removed, so we only have statistical information. Where we ask for Optional Information such as User feedback or surveys, such data helps us improve our Services in the future, and is anonymised when stored.

To provide to third party contractors who provide services to Faculty  

In some cases we use third party contractors to assist us in providing our Services, for example, we use Stripe to process your payments, and Zendesk to process your Support requests. A list of the third parties we work with is provided in the Third Party Processing section below.

To enforce our policies, or identify criminal behaviour

We may use your Registration Information, Billing Information and Navigational Information to ensure that your use falls within our Acceptable Use Policy and Terms and Conditions, or to identify any cases of fraudulent or criminal activity.

To update you on our Services

We may use your Registration Information to contact you about important updates to the Services for which you are Registered, such as product updates or changes to our Terms and Conditions, Acceptable Use Policy or Privacy Policy. We may from time to time contact you about updates to our Service which we feel you may be relevant to you, where it satisfies a legitimate interest (which is not overridden by your data protection interests) such as user surveys, or similar Services. You can request that we do not send you similar updates at any time.

To send you information you have consented to

Where you have given us your specific consent, we will send you information about our Services in general, such as our newsletter. You may withdraw your consent at anytime by clicking the link in any of the correspondence, or by clicking here.

Legal bases for processing

The legal bases for collecting and using your data vary depending on the way in which you are interacting with our Services. We collect and use your data only where:

  • We require it for the provision of the Services, to protect the safety and security of the Services, and without such data we would not be able to provide the Services
  • You have given consent for us to use it for specific purposes. Where you have provided consent, you may withdraw it at any time through this link.
  • We need to process your data to fulfil a legal obligation (e.g. to report criminal activity)
  • It satisfies a legitimate interest (which is not overridden by your data protection interests) such as the provision of updates on our Services. You may object to this use at any time by clicking this link

Sharing with Third Parties

We do not sell, share or transfer your data to Third Parties, except in the following specific situations:

Requested by you, the User

For Collaboration

You may request for us to share your Customer Material with a Third Party for the purposes of collaborating on our Services. An example of this is when you invite a User to collaborate on a Faculty Platform project, they will be sent an invitation by us which includes your user name and the name of your organisation (if appropriate), and if accepted, they will get access to any of your Customer Material that you choose to share with them.

Managed Services

You may request us to share information with Third Parties where you are interacting with our Services as an organisation and wish us to share Customer Material with other people in your organisation. An example might be where you ask us to share training information via our Sites to your employees, or where you ask us to issue licences for Faculty Platform to your employees.

To interact with other Third Party Services

You may request that we link other Third Party Services to your Services with us. An example of this is when you create an API (Application Program Interface) on Faculty Platform. You may be required to include your Registration credentials for such Third Parties in order to operate the API.

Necessary for the Sites or Services

For third party processing

We may share your data with Third Parties where it is necessary for the operation, integration, hosting, or support of our Services.  We ensure that each Third Party has the same stringent confidentiality and security measures as Faculty.

We use the following Third Party processors for the following reasons and copies of their respective Privacy Policies are available if you follow the links provided:

  • Active Campaign – for the storage of your Registration Information, and if you have consented, or the purposes of issuing our newsletter. Privacy Policy.
  • Dropbox – for archive of legal documents. Privacy Policy.
  • Pipedrive – Our CRM system. Privacy Policy.
  • Google – Our company email and storage provider, and for website analytics. Privacy Policy.
  • Eventbrite – Where we monitor the guestlists for our events. Privacy Policy.
  • Freeagent – Our accounting software. Privacy Policy.
  • Intercom – The platform for live chat on our website. Privacy Policy.
  • HelloSign – Our online contract signature software. Privacy Policy.
  • Stripe – For processing payments. Privacy Policy.
  • Zendesk – For tracking support tickets. Privacy Policy.
  • AWS – For hosting and storing Data. Privacy Policy.
  • SendGrid – For sending email to user accounts. Privacy Policy.

With your account holders

Where you are accessing our Services under a licence in the name of your Organisation, we may provide your Customer Material and your Registration Information to your Company where they request us to do so.

For legal or vital interest reasons

We may be required to share your Personal Data with a Third Party for a legal reason, for example

  • To comply with any applicable law, regulation, legal process or governmental request
  • To enforce our agreements such as Terms and Conditions and Acceptable Use Policy
  • To protect the security or integrity of our Services
  • To protect our Users or the public from harm or from criminal activity
  • To respond to an emergency which we believe in good faith requires us to disclose information to assist in preventing bodily harm or death of a User (an example of this might be if you collapse at an event).

Where you have consented

Where you consent for us to share your Data, as for marketing purposes. For example, you may consent to us using a testimonial from you in our marketing material, or to our listing you as one of our customers.  

Change in control

We may provide your Personal Data to a Third Party in the event that Faculty enters into discussions that might lead to a change in control, such as a merger, acquisition or purchase, unless this results in any change to this Privacy Policy or would affect confidentiality.

Analysis and to improve our services

We may share aggregate Non-Personal Data publicly or with Third Parties, for example through displaying marketing trends on our Sites, or for a Third Party to analyse usage statistics.

Modification or deletion of your Information

Your  choices and controls

If for any reason you would like to Modify or Delete the Personal Data we hold for you, you can do one of the following:

  • If you are a Faculty Platform user, click “My Account”. Please note that if your Organisation has provided a licence for you, certain information (your name, username and email address) can not be modified in this way. In this situation you should contact your Organisation, as Faculty is only the data processor and my need the Organisation’s authorisation to modify or delete your information. Please note that if you remove all of your Registration Information, we will no longer be able to provide you with our Services.
  • If you have subscribed to our mailing list, you will see an “Unsubscribe” link in all our emails to unsubscribe or modify your details. If you are unable to access this you can also contact us through our contact page and ask for your details to be removed or changed.
  • If you believe you have provided Faculty with your Personal Data through any other form, you can also contact us through our contact page and ask for your details to be removed or changed.
  • You can also ask to be removed from our systems by emailing info@faculty.ai.

Please note that if you delete or request deletion of your Personal Data, we may still retain Non-Personal Data for the purposes of operating the Service, for example to provide historical user levels. We will also retain a single copy of your Registration Information to ensure that you are not re-added to our systems.

Data Retention

Faculty will hold your Personal Information as long as it is required for you to enjoy the use of our Services. Upon termination of any of our Services for any reason, we will retain the data mentioned below for the following time periods:

  • If you have been on the free trial of Faculty Platform, your Registration Information and Customer Material will be retained for 60 days after the end of your free trial in case you wish to reactivate your account and to avoid any accidental loss of your Customer Material. This period may be extended if you request us to.
  • If you have been an licence holder of Faculty Platform, your Registration Information and Customer Material will be retained for 90 days in case you wish to reactivate your account and to avoid any accidental loss of your Customer Material. This period may be extended if you request us to.
  • If you are interacting with your Services under a contract with your Company, your Registration Information and Customer Material is owned and controlled by your Company, and the data retention periods of your data will be subject to the retention period of your Account holder.
  • Where you have been a paying Customer of Faculty, your Registration Information will be kept for up to 6 years for tax purposes. However any specific Billing information which is no longer required (such as your credit card details) will be deleted from our systems 30 days after any final payment is taken in case any final charges are required.
  • Where you have interacted with our Services in any other ways, such as attending an event, your Registration Information will be kept for 1 year after your last contact with the company for Legitimate Interest reasons.

In all cases, you may ask us to remove or modify your data in accordance with the section “Deletion or Modification of Information”, although in some cases this may compromise our ability to deliver our Services.

Where your data is provided to us through a Third Party (e.g. Eventbrite), the same deletion periods will apply as above, but the Third Party may have different policies, and you should use the links provided in “Sharing with Third Parties” and contact those Third Parties directly to ensure deletion of your Data. Where we transfer your data to a Third Party, we will be responsible for the deletion of your data with such Third Parties, as outlined above.

Security and Storage of Information

Faculty takes great care in implementing, enforcing and maintaining security policies to help ensure the security of our Services, Sites and our User’s Personal Data. You can find out more information about our Security procedures here.

Access to your data by Faculty staff and contractors

Faculty takes steps to ensure as far as possible that it’s staff are honest, reliable and take all due care in the processing, care and handling of all Data.

Faculty limits access to any Personal Data we hold to staff who:

  • Appropriately trained on the requirements applicable to the processing, care and handling of Personal Data
  • Are under confidentiality obligations
  • Are required to access, process and use the data to carry out the various tasks outlined in the section “How we use your data”
  • Who required access in order for Faculty to fulfill its obligations under this Privacy Policy, Terms or Service and Acceptable Use Policy

Customer Material in Faculty Platform (with the exception of Customer Material in the form of Registration Information) is hosted on AWS in Ireland which provides advanced security features and is compliant with ISO 27001. All Customer Material is stored with logical separation from information of other customers. Faculty limits access to Customer Material to the following Faculty staff and contractors:

  • Those who require access in order for Faculty to fulfill its obligations under this Privacy Policy, Terms of Service and Acceptable Use Policy
  • Where you have requested for us or allowed us to access your account for Support Services
  • Where we are providing essential security and service upgrades, and in such cases the staff have been appropriately trained on the requirements applicable to the processing, care and handling of Personal Data, and are under confidentiality obligations.

Notification of breaches

Faculty shall notify the User without undue delay, in the event that any Personal Data held by Faculty on the User or on behalf of the User is lost, stolen, or where there has been any unauthorised access to the Personal Data which is likely to result in a high risk to the User’s rights or freedoms. Furthermore Faculty undertakes to cooperate with the User in investigating and remedying any such security breach. In any security breach involving Personal Data, Faculty shall immediately take remedial measures, including without limitation, reasonable measures to restore the security of the Personal Data and limit unauthorised or illegal dissemination of the Personal Data or any part thereof. Faculty maintains documentation regarding compliance with the requirements of the law, including but not limited to documentation of any known breaches and holds reasonable insurance policies in connection with data security.

Transfer of Data outside of the EEA

Personal Data submitted may be transferred by us to Third Parties (as set out under the heading “Sharing with Third Parties”), including service providers that may be situated outside the European Economic Area (EEA) and may be processed by staff operating outside the EEA. Where this is the case we will take reasonable steps to ensure that your privacy rights continue to be protected. In countries where they do not have similar data protection laws to the UK, we will take reasonable steps to ensure that the Third Parties have policies, terms and conditions that provide similar protection to that offered within the EEA as a minimum. By using the Site you agree to this storing, processing and/or transfer.

Customer Data is hosted on AWS in Ireland, and is not transferred outside of the EEA without specific and independent permission.

Faculty does not transfer any personal data outside of any jurisdiction in a manner incompatible with the requirements of applicable law.

Portability of your data

Upon termination of any of our Services for any reason, you may request a copy of your Personal Data, which Faculty will provide in a reasonably acceptable format.

Other Information

Notice to End Users

Many of the Services we provide are primarily used by Companies and Organisations. Where we are providing Services to you under a Company or Organisation contract (for example where a company holds a licence for Faculty Platform), any Personal Data held is controlled by your Company or Organisation. Where this is the case, your Personal Data will be subject to the Privacy Policy of your organisation, and questions about your information should be directed to your organisation.

Organisation account holders are able to:

  • Enter, modify or delete your Registration Information on your behalf
  • Restrict, suspend or terminate your access to our Services
  • Access and retain your Registration Information and Customer Material
  • Control the interaction of third parties with your Customer Material

Where the Services are not provided under the control of an Organisation, if you register for our Services with an email address owned by an Organisation, that Organisation may assert control over your Registration Information and Customer Material at a later date. You will be notified if this happens.

If you do not want your Organisation to have control over your access to our Services, please register with a personal email address and do not add a Company name to your Registration Information.

For all other queries, please contact the person within your Organisation who implements and enforces your Organisation’s Privacy Policy.

Our Cookie Policy

We use cookies and other tracking products to customise our Services, to allow you to login without re-entering your Registration Information, and to understand how our customers use our Services in order to continuously improve them.

We use them in the following circumstances:

  • Where they are necessary for you to be able to enable the Services to to provide the feature you have requested (e.g. to login)
  • To customise the functionality where you have selected preferences, for example when you select to turn features off or on
  • To collect information on how you interact with our Sites and Services, and how you have come to interact with us. For example we use Google Analytics to understand how you came to our Sites and therefore improve our access in the future.
  • We use social media cookies to allow you to follow links on our Sites to our social media accounts, or for you to “like” or “follow” information or articles on our Sites.

Most browsers allow you to opt out of accepting cookies through their settings and will also allow you to delete cookies already stored on your computer, however, blocking or deleting all cookies may have a negative impact on your use of our Services, and might prevent them from working altogether.

You can opt-out of Google Analytics on all websites by following this link.

Children Under 16

Our Services are not directed towards children under the age of 16, and therefore (other than in Customer Material controlled by you) we do not hold any Personal Data relating to Children under 16. If you have reason to believe that we may have been provided with Personal Data on a child under 16, please contact us immediately via our contact form.

Right to Object

You have the right to object to the processing of your Personal data by Faculty:

  • Based on legitimate interests
  • For Direct marketing
  • For the purposes of research and statistics.

If you would like to object to the above, you can contact us via our contact page.

Report a concern

If you have a concern about our use of your Personal Data or our information rights practices please let us know. You also have the right to lodge a complaint with the Information Commissioner’s Office (“ICO”), the UK data protection authority, via this link or by calling 0303 123 1113.

Changes to the Privacy Policy

Faculty keeps its Privacy Policy under regular review. If we change our Privacy Policy we will let you know by:

  • Providing notice on our website where the changes are any unsubstantial changes and do not fundamentally alter the spirit of this policy;
  • Sending an email regarding the changes to the email address that you provided in your Registration Information where the changes are substantial.

The changes will take effect seven (7) days after notice has been provided.

Unless otherwise stated, all changes to this privacy policy are effective as of the stated Last Revised date, and your continued use of the Site and/or Services after the Last Revised date will constitute acceptance of, and agreement to be bound by, those changes.

Contact Information

For any queries or comments on the Policy or its content, or for any other purposes you can contact us by using our contact page or by:

Sending an email to: info@faculty.ai

Writing to: Operations Department

Faculty Science Ltd

54 Welbeck Street

London

W1G 9XS

 

By telephone on:  +44 (0)203 637 9415

By entering your email address, you are agreeing to receive information about our latest developments, news and events.

Cancel
Close

search faculty.ai

close

It looks like you are using a legacy browser. For the best experience of our website we recommend using Chrome, Safari or Firefox.