Semantius Logo

SMP License Optimization

1. Overview

Usage analytics, license rightsizing, reclamation actions, per-app cost benchmarks, and optimization recommendations. The cost-and-utilization substrate of an SMP deployment.

2. Entity summary

Namedata_objectDescription
Optimization Recommendationssmp_optimization_recommendationsSystem-generated proposals to right-size or consolidate SaaS spend, with estimated savings, rationale, type, and status.
Reclamation Actionssmp_reclamation_actionsExecuted reclamation actions against a license seat (revoke, downgrade, or reassign), with the savings realized.
SaaS App Benchmarkssmp_app_benchmarksPer-app utilization and cost-per-seat benchmarks against an industry peer set, snapshotted each measurement period with an outlier flag.
SaaS Usage Metricssaas_usage_metricsPer-user activity for each SaaS app: logins, time in app, feature usage, and last-active date, used to right-size licenses.
SMP License Seat Assignmentssmp_license_seat_assignmentsUser-to-app license seat assignments, showing who holds a seat at which tier, its cost, utilization, and last activity, to drive reclamation.
flowchart TD
  classDef master fill:#d4f4dd,stroke:#27ae60,color:#0b3d20;
  classDef platform_builtin fill:#e0e0e0,stroke:#424242,color:#1a1a1a;
  smp_license_seat_assignments["SMP License Seat Assignments"]
  saas_usage_metrics["SaaS Usage Metrics"]
  smp_optimization_recommendations["Optimization Recommendations"]
  smp_reclamation_actions["Reclamation Actions"]
  smp_app_benchmarks["SaaS App Benchmarks"]
  users["Users"]
  smp_license_seat_assignments -->|"reclaims_seat"| smp_reclamation_actions
  users -->|"reviews"| smp_optimization_recommendations
  users -->|"executes"| smp_reclamation_actions
  users -->|"granted"| smp_license_seat_assignments
  users -->|"generates"| saas_usage_metrics
  class smp_license_seat_assignments master;
  class saas_usage_metrics master;
  class smp_optimization_recommendations master;
  class smp_reclamation_actions master;
  class smp_app_benchmarks master;
  class users platform_builtin;
  style smp_app_benchmarks stroke-dasharray:5 5;

3. Entities catalog

#data_objectcanonical codesingularpluralrolemastered inmastered labelnecessitypersonal_contententity_typewrite tiernotes
1smp_optimization_recommendationssmp_optimization_recommendationsOptimization RecommendationOptimization Recommendationsmaster--required-operational_workflow:manage-
2smp_reclamation_actionssmp_reclamation_actionsReclamation ActionReclamation Actionsmaster--required-operational_workflow:manage-
3smp_app_benchmarkssmp_app_benchmarksSaaS App BenchmarkSaaS App Benchmarksmaster--optional-computedread-only-
4saas_usage_metricssaas_usage_metricsSaaS Usage MetricSaaS Usage Metricsmaster--required-computedread-only-
5smp_license_seat_assignmentssmp_license_seat_assignmentsSMP License Seat AssignmentSMP License Seat Assignmentsmaster--required-junction:manage-

4. Aliases and industry synonyms

(none: no industry-scoped aliases for this scope)

5. Relationships

5.1 Intra-scope edges

fromverbtocardinalitykindnecessityowner_sidedelete_modefk_formatnotes
smp_license_seat_assignmentsreclaims_seatsmp_reclamation_actionsone_to_onereferencerequiredsourcerestrictreference-

5.2 Built-in edges (users and other platform built-ins)

fromverbtocardinalitynecessityowner_sidedelete_modefk_formatnotes
usersreviewssmp_optimization_recommendationsone_to_manyoptionaltargetclearreference-
usersexecutessmp_reclamation_actionsone_to_manyoptionaltargetclearreference-
usersgrantedsmp_license_seat_assignmentsone_to_manyrequiredtargetrestrictreference-
usersgeneratessaas_usage_metricsone_to_manyrequiredtargetrestrictreference-

5.3 Cross-scope edges

5.3a Outbound from this scope’s masters and contributors

Edges this scope drives: the in-scope endpoint has role of master or contributor.

fromverbtocardinalitynecessitydelete_modefk_formatnotes
smp_license_seat_assignmentscorrelates_withiga_user_entitlementsone_to_oneoptionalnonen/a-
saas_applicationsrecommends_for_appsmp_optimization_recommendationsone_to_manyoptionalnonen/a-
saas_subscriptionsrecommends_for_subsmp_optimization_recommendationsone_to_manyoptionalnonen/a-
saas_applicationsbenchmarks_forsmp_app_benchmarksone_to_manyrequirednone (required-if-present)n/a-
saas_applicationsmeasured_bysaas_usage_metricsone_to_manyrequired⚠ audit: required composed child out of scopen/a-
saas_applicationsassigned_viasmp_license_seat_assignmentsone_to_manyrequired⚠ audit: required composed child out of scopen/a-
saas_subscriptionsgrantssmp_license_seat_assignmentsone_to_manyoptionalnonen/a-

5.3b Context edges on embedded shells and consumed entities

Edges the canonical owner drives, shown for context: the in-scope endpoint has role of embedded_master, consumer, or derived.

(none: no context cross-scope edges on this scope’s embedded shells or consumed entities)

6. Cross-domain context

6.1 Master consumers (other modules / domains that embed this scope’s masters)

(none: no other module embeds this scope’s masters; the canonical owners do.)

6.2 Outbound handoffs (events this scope publishes)

(none: no outbound handoffs whose payload is in this scope)

6.3 Inbound handoffs (events this scope reacts to)

target modulesource domainsource moduletrigger_eventtransitionpayloadintegrationfrictiondescription
SMP-OPTIMIZATIONSMPSMP-DISCOVERYsaas_application.deprovisioned(lifecycle)smp_license_seat_assignmentslifecycle_progressionlowDeprovisioning an application reclaims all of its license seat assignments.
SMP-OPTIMIZATIONSMPSMP-DISCOVERYsaas_application.sanctioned(lifecycle)smp_license_seat_assignmentslifecycle_progressionlowA sanctioned SaaS application becomes eligible for license seat provisioning and usage metering in the optimization module.
SMP-OPTIMIZATIONSMPSMP-RENEWAL-VENDORsaas_subscription.canceledactivecanceled (lifecycle)smp_reclamation_actionslifecycle_progressionlowCanceling a subscription triggers reclamation of its license seats.
SMP-OPTIMIZATIONSMPSMP-AUTOMATIONsmp_app_request.fulfilled(lifecycle)smp_license_seat_assignmentslifecycle_progressionlowFulfilling a self-service app request provisions a license seat assignment.

6.4 Master providers (modules / domains that own masters this scope embeds)

(none: this scope embeds no masters owned elsewhere; every entity is mastered here)

7. Lifecycle states

smp_license_seat_assignments (SMP License Seat Assignment)

orderstate_nameinitial?terminal?requires_permission?derived gatedescription
10provisioned---User has been granted access to the SaaS app via SSO or direct provisioning.
20active----User is actively using the app per usage telemetry.
30idle----User has not used the app within the configured engagement window; reclaim candidate.
40reclaimed-smp-optimization:reclaim_seat_assignmentLicense returned to the pool. User notified, access revoked.

smp_optimization_recommendations (Optimization Recommendation)

orderstate_nameinitial?terminal?requires_permission?derived gatedescription
10open----
20reviewed-----
30accepted--smp-optimization:accept_recommendation-
40in_progress--smp-optimization:start_recommendation-
50realized-smp-optimization:realize_recommendation-
60dismissed-smp-optimization:dismiss_recommendation-

smp_reclamation_actions (Reclamation Action)

orderstate_nameinitial?terminal?requires_permission?derived gatedescription
10identified----
20notified--smp-optimization:notify_user_of_reclamation-
30grace_period-----
40reclaimed-smp-optimization:execute_reclamation-
50restored-smp-optimization:restore_reclamation-
60canceled-smp-optimization:cancel_reclamation-

8. Permissions and business rules (derived)

8.1 Permissions

permissiontierdescriptionincluded in :admin?
smp-optimization:readbaseline-readRead access to every entity in the module
smp-optimization:managebaseline-manageEdit operational records
smp-optimization:adminbaseline-adminEdit reference data and inherit every workflow gate below-
smp-optimization:reclaim_seat_assignmentworkflow-gate (lifecycle)Transition smp_license_seat_assignments into state reclaimed
smp-optimization:accept_recommendationworkflow-gate (lifecycle)Transition smp_optimization_recommendations into state accepted
smp-optimization:start_recommendationworkflow-gate (lifecycle)Transition smp_optimization_recommendations into state in_progress
smp-optimization:realize_recommendationworkflow-gate (lifecycle)Transition smp_optimization_recommendations into state realized
smp-optimization:dismiss_recommendationworkflow-gate (lifecycle)Transition smp_optimization_recommendations into state dismissed
smp-optimization:notify_user_of_reclamationworkflow-gate (lifecycle)Transition smp_reclamation_actions into state notified
smp-optimization:execute_reclamationworkflow-gate (lifecycle)Transition smp_reclamation_actions into state reclaimed
smp-optimization:restore_reclamationworkflow-gate (lifecycle)Transition smp_reclamation_actions into state restored
smp-optimization:cancel_reclamationworkflow-gate (lifecycle)Transition smp_reclamation_actions into state canceled

8.2 Business rules

(none: no flag-derived business rules)

9. Roles, RACI, and responsibilities (derived)

Baseline roles, the permission hierarchy, and RACI realization are DERIVED from this scope’s entity-type write tiers + process_raci; none of it is stored in the catalog (the deployer provisions it from this blueprint).

9.1 SMP-OPTIMIZATION

Baseline roles:

rolebaseline grant
smp-optimization_viewersmp-optimization:read
smp-optimization_managersmp-optimization:manage

Permission hierarchy:

permissionincludes
smp-optimization:adminsmp-optimization:manage
smp-optimization:managesmp-optimization:read
smp-optimization:adminsmp-optimization:reclaim_seat_assignment
smp-optimization:adminsmp-optimization:accept_recommendation
smp-optimization:adminsmp-optimization:start_recommendation
smp-optimization:adminsmp-optimization:realize_recommendation
smp-optimization:adminsmp-optimization:dismiss_recommendation
smp-optimization:adminsmp-optimization:notify_user_of_reclamation
smp-optimization:adminsmp-optimization:execute_reclamation
smp-optimization:adminsmp-optimization:restore_reclamation
smp-optimization:adminsmp-optimization:cancel_reclamation

Processes wired:

process_keyprocess_namePCF codePCF IDleveldescription
optimize_it_resource_allocationOptimize IT resource allocation8.2.5.6206884Create process to assign and manage IT assets that support organization’s strategic goals.

RACI realization:

actorkindraciprocess_keyrealization
ITAM-SAAS-PORTFOLIO-MANAGERpersonaresponsibleoptimize_it_resource_allocationgrant gates [smp-optimization:reclaim_seat_assignment, smp-optimization:accept_recommendation, smp-optimization:start_recommendation, smp-optimization:realize_recommendation, smp-optimization:dismiss_recommendation, smp-optimization:notify_user_of_reclamation, smp-optimization:execute_reclamation, smp-optimization:restore_reclamation, smp-optimization:cancel_reclamation] + the gated entities’ write tier
ITAM-SAAS-PORTFOLIO-MANAGERpersonaaccountableoptimize_it_resource_allocationapproval gate

9.2 Functional ownership and default grants

responsibilitybusiness functiondefault roledefault tier
ownerIT Asset Managementadmin:admin
contributorFinancemanage:manage
contributorProcurementmanage:manage