"Trends in Industry Support for Pricing-Driven DevOps in SaaS": The Laboratory Package
收藏资源简介:
"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. Results of this work can also be dynamically explored within the SPHERE platform. Important Links Throughout the paper, many different pricings and documentations are referred, either to use them as examples, or to encourage readers with further information. This section provide access to such resources: Pricing2Yaml 2.1 documentation (last accessed on September 2025): https://pricing4saas-docs.vercel.app/docs/2.0.1/api/pricing-description-languages/Pricing2Yaml/pricing2yaml-v21-specification Evernote Pricing Snapshot (2022) (last accessed on September 2025): https://web.archive.org/web/20221130112813/https://evernote.com/compare-plans Slack Pricing Snapshot (2023) (last accessed on September 2025): https://web.archive.org/web/20231130184417/https://slack.com/pricing GitHub Pricing Snapshot (2025) (last accessed on September 2025): https://web.archive.org/web/20250307034600/https://github.com/pricing GitHub pricing in Pricing2Yaml (2025) (last accessed on September 2025): https://github.com/isa-group/SaaS-analysis/blob/IEEE-TSC-2025/data/pricings/yaml/TSC'25/github/2025.yml HubSpot Pricing Snapshot (2025) (last accessed on September 2025): https://www.hubspot.com/pricing/marketing/enterprise (this one is not available on webarchive because the generated snapshot was not correct) 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](https://github.com/Alex-GF/Pricing4TS). 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](https://github.com/Alex-GF/Pricing4TS) to extract the analytics. Usage Install Dependencies Dependencies can be installed using the following command: ```bash 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: > ```bash > 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]. [cc-by]: http://creativecommons.org/licenses/by/4.0/



