"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/
《软件即服务(SaaS)中定价驱动型DevOps的行业支持趋势》实验室套件 本代码仓库旨在汇总作者为撰写发表于《IEEE服务计算汇刊》(IEEE Transactions on Services Computing)的论文《软件即服务(SaaS)中定价驱动型DevOps的行业支持趋势》所开展的全部工作,聚焦软件即服务(SaaS)定价的当前发展现状。本研究的成果还可在SPHERE平台中进行动态探索。 ## 重要链接 本文中引用了多种不同的定价方案与文档,既可作为示例使用,也可为读者提供进一步的信息参考。本章节提供了此类资源的访问入口: - Pricing2Yaml 2.1 文档(2025年9月最后访问):https://pricing4saas-docs.vercel.app/docs/2.0.1/api/pricing-description-languages/Pricing2Yaml/pricing2yaml-v21-specification - 印象笔记(Evernote)定价快照(2022年)(2025年9月最后访问):https://web.archive.org/web/20221130112813/https://evernote.com/compare-plans - Slack 定价快照(2023年)(2025年9月最后访问):https://web.archive.org/web/20231130184417/https://slack.com/pricing - GitHub 定价快照(2025年)(2025年9月最后访问):https://web.archive.org/web/20250307034600/https://github.com/pricing - Pricing2Yaml 格式的 GitHub 定价数据(2025年)(2025年9月最后访问):https://github.com/isa-group/SaaS-analysis/blob/IEEE-TSC-2025/data/pricings/yaml/TSC'25/github/2025.yml - HubSpot 定价快照(2025年)(2025年9月最后访问):https://www.hubspot.com/pricing/marketing/enterprise(该链接无法在互联网档案馆获取存档,因生成的快照存在错误) ## 可用软件即服务(SaaS)产品 下表列出了本论文中使用的软件即服务(SaaS)产品。以下符号用于标注对应年份该软件即服务(SaaS)产品的建模状态: - ✅:该软件即服务(SaaS)产品已针对指定年份完成建模。 - ✖️:存在存档快照,但无法提取清晰的功能列表。 - ❌:该软件即服务(SaaS)产品在指定年份无可用存档快照。 | 软件即服务(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 | ✅ | ✅ | ❌ | ✅ | ✅ | ✅ | ✅ | 总计:240个定价模型——覆盖37款软件即服务(SaaS)产品 ## 仓库结构 本仓库包含三个主要文件夹: - `data`:数据文件夹 - `figures`:图表文件夹 - `src`:源代码文件夹 此外,本仓库还包含以下文件: - `.gitignore`:Git忽略文件,列出了Git将忽略的文件列表。 - `analysis_and_figures.ipynb`:包含为论文开展的全部数据分析及论文内图表生成代码的Jupyter Notebook文件。 - `Dockerfile`:由于部分实验环节需安装MiniZinc方可运行,本仓库提供了Dockerfile用于构建预装MiniZinc的Docker镜像。 - `LICENSE`:本仓库的许可证文件。 - `package.json` 与 `package-lock.json`:包含运行Notebook中调用的部分脚本所需的依赖项。 - `README.md`:包含本仓库的相关说明信息。 - `requirements.txt`:包含运行`analysis_and_figures.ipynb`所需的依赖项。 - `tsconfig.json`:包含开发任务所用的TypeScript编译器配置文件。 ## 数据 `data` 文件夹初始仅包含一个子文件夹:`pricings`。该子文件夹存储本研究使用的定价模型数据集,以及相关元数据与分析结果(后者由`analysis_and_figures.ipynb`生成)。 在执行本实验室套件的过程中,可能会创建以下额外文件夹: - `CSVs`:包含汇总2019-2024及2019-2025数据集相关变量的CSV文件,为本研究全程所用。 - `pricings/dzn`:包含从各定价模型生成的MiniZinc数据模型。尽管实验中未直接使用这些文件,但为保证透明度,将其存储于此供用户进一步探索。 - `pricings/json`:存储使用[Pricing4TS包](https://github.com/Alex-GF/Pricing4TS)从各定价模型中提取的所有分析结果的JSON文件。 ## 图表 本文件夹包含由`analysis_and_figures.ipynb`生成的全部图表。 ## 源代码 `src` 文件夹包含从定价模型数据集提取分析结果的脚本。此类脚本采用TypeScript编写,并借助[Pricing4TS包](https://github.com/Alex-GF/Pricing4TS)完成分析结果提取。 ## 使用方法 ### 安装依赖项 可通过以下命令安装所需依赖项: bash pip install -r requirements.txt > [!WARNING] > 若不愿在本地机器安装MiniZinc,可使用本仓库提供的Docker镜像。构建镜像请执行以下命令: > bash > docker build -t minizinc . > ### 运行脚本 > [!WARNING] > 本Notebook需使用Python 3.9及以上版本运行。 可通过运行`analysis_and_figures.ipynb`执行全部脚本。 ## 许可证 本作品采用知识共享署名4.0国际许可协议(CC BY)进行许可。 [CC BY]: http://creativecommons.org/licenses/by/4.0/



