Skip to content

isa-group/SaaS-analysis

Repository files navigation

CC BY 4.0 DOI

"Trends in Industry Support for Pricing-Driven DevOps in SaaS": The Laboratory Package

The aim of this repository is to centralize the work performed by the authors to write the paper: "Trends in Industry Support for Pricing-Driven DevOps in SaaS" for IEEE Transactions on Services Computing about the current status of SaaS pricings.

Available SaaS

The SaaS of the following table are the ones that have been used in the paper. The following symbols are used to indicate the status of the SaaS for the indicated year:

  • ✅: The SaaS is modeled for the indicated year.
  • ✖️: There is a snapshot, but a clear feature list cannot be extracted.
  • ❌: There isn't a snapshot for the SaaS in the indicated year.
SaaS 2019 2020 2021 2022 2023 2024 2025
Box
Buffer
Canva
CircleCI
ClickUp
Clockify
Crowdcast
Databox
Deskera
Dropbox ✖️ ✖️
Evernote
Figma
GitHub
Hypercontext
Jira
MailChimp
Microsoft 365
Notion ✖️ ✖️
Okta
OpenPhone
Overleaf
Planable
Postman
Pumble
Quip
Salesforce
Shopify
Slack
Tableau
Trello
Trustmary
UserGuiding
Webflow
Wrike
Zenhub
Zoom
Zapier

TOTAL: 240 pricings - 37 SaaS

Structure

The repository contains three main folders:

  • data
  • figures
  • src

In addition to these, there are some files:

  • .gitignore: Contains the files that are ignored by git.
  • analysis_and_figures.ipynb: It is the notebook that contains all the data analysis performed for the paper and generates the figures included in it.
  • Dockerfile: Since having installed MiniZinc is mandatory to run some part of the experiment, a Dockerfile is provided to create a Docker image with MiniZinc installed.
  • LICENSE: Contains the license of the repository.
  • package.json and package-lock.json: Contain the dependencies needed to run some scripts that are called from the notebook.
  • README.md: Contains the information of the repository.
  • requirements.txt: Contains the dependencies needed to the analysis_and_figures.ipynb notebook.
  • tsconfig.json: Contains the configuration of the TypeScript compiler for development tasks.

Data

The data folder initially contains a single subfolder: pricings. This subfolder stores the dataset of pricing models used in the study, along with metadata and analytics about them (the latter is generated by the notebook analysis_and_figures.ipynb).

During the execution of the labpack, a few additional folders may be created:

  • CSVs: Contains CSV files summarizing the relevant variables from both the 2019–2024 and 2019–2025 datasets, as used throughout the study.
  • pricings/dzn: Includes the MiniZinc data models generated from each pricing. Although not used directly in the experiments, they are stored here for transparency, in case users wish to explore them further.
  • pricings/json: Stores the JSON files summarizing all analytics extracted from each pricing using the Pricing4TS package.

Figures

This folder contains the figures generated by the notebook analysis_and_figures.ipynb.

Src

The src folder contains the scripts used to extract the analytics from the pricings dataset. Such scripts are written in TypeScript and leverage the Pricing4TS package to extract the analytics.

Usage

Install Dependencies

Dependencies can be installed using the following command:

pip install -r requirements.txt

Warning

If you don't want to install MiniZinc in your machine, you can use the Docker image provided in the repository. To build the image, run the following command:

docker build -t minizinc .

Run the Scripts

Warning

The notebook is designed to be run with Python 3.9 or higher.

The scripts can be run by following the notebook analysis_and_figures.ipynb.

License

This work is licensed under a Creative Commons Attribution 4.0 International License.

CC BY 4.0

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •