作者都是各自领域经过审查的专家,并撰写他们有经验的主题. 我们所有的内容都经过同行评审,并由同一领域的Toptal专家验证.
杰克•金塞拉

杰克有法律背景,目前对概率感兴趣, 算法教育和区块链.

专业知识

分享

一旦你启动了你的被动收入网站,你应该庆祝一下,对吧?

不幸的是, 生活并不总是如它应该的那样, 你通常不得不推迟庆祝活动来迎合你的客户——除非你有合适的系统.

我成功地 被动收入网站 六年多了. 对我来说,重点一直是“被动”.“因此,尽可能地简化我的业务一直是我的首要任务.

有效地精简 在线业务 归根结底就是要在管理面板中拥有正确的特性和功能.

在本文中,我将详细介绍的常见问题 管理仪表板 并为每个问题提供解决方案. 在这篇文章的最后, 您将获得为您的自动化业务开发高效管理面板的最佳实践的健壮剧本.

用户错误处理

用户犯错误,这意味着我们需要一个管理面板来修复这些错误. 这里有几个例子.

你的一个供应商不小心把错误的产品寄给了客户.
A customer orders the wrong product or orders the same product twice.
音乐家在您的曲谱列表网站上创建几乎相同的分类法, 哪些已经存在于数据库中. 例如, 你网站的用户, 被认为是一个集体, 将电吉他的音阶分为三类:“电吉他,”“E-guitars,和“Elec。. 吉他.“这些都应该是其中之一,否则你的前端导航和可用性就会受到影响.

Optimize 你r admin panel to account for user errors:

允许最终用户修复他们的错误. 例如, 亚马逊在用户的仪表板上有表单, 允许客户在订单在仓库中处理之前的任何时间点更改订单. 这一功能使亚马逊的客户能够在不联系客户支持的情况下解决他们的错误.
将用户子集提升为版主状态. 论坛,如Reddit和StackOverflow,有一个特殊的用户类,被称为版主. 版主删除垃圾邮件, 编辑输入错误, rid the site of offensive or self-promotional messages, 正确分类内容. 在许多情况下,版主是志愿者,他们只是对社区感到忠诚.

用户经验不足

Don’t expect 你r users to be well-versed in 你r business. 这里有几个例子可以说明我的意思.

例如, 你的普通用户是一个糟糕的摄影师, 然而,你希望在你的平台上列出这些用户度假租赁房产的漂亮照片.

也许普通用户是一个糟糕的销售人员, 但你想要诱人的, 这些用户通过你的平台销售的小饰品的seo优化描述.

Or perhaps 你 run an 电子商务 store selling shoes online, but 你r average site visitor doesn’t know how to measure their feet, 导致大量顾客订错了尺码,之后又想退货.

管理领域,说明用户缺乏经验:

创建内联文档. 建议用户如何最大限度地利用你的网站. 例如,你可以写一篇这样的文章,“提高销售的5个文案技巧”.“通过为用户提供可靠的参考资料, 你会大大减少他们对人类帮助的需求.
半自动援助. 通过连接外部软件api, 你的网站可以做很多事情, like autosuggest the best keywords for meta descriptions, 和 encourage users to incorporate certain keywords into their copy.
自己动手. Send 你r own photos or write 你r own product descriptions. 这, 当然, 需要最终用户以某种方式向组织中的正确人员发出他们准备使用此服务的信号. 在这里, 您的管理系统需要简化这种沟通以及稍后由专家交付的工作.

对未决业务决策的会计处理

不幸的是,并不是所有的事情都可以自动化. When it comes to judgment calls, a human is usually necessary.

例如, 当您需要在您的高信任平台上验证最新保姆申请人的身份时,会发生什么?

或者当你是唯一一个可以为平台作者提交的最新数字产品定价的人时,会发生什么?

在等待的业务决策中节省管理时间的例子:

利用现有的用户组. 充足的鱼, 约会网站, 将可能令人反感的个人资料照片的审核工作外包给一群志愿者用户,他们会花无数时间检查这些照片, 没有任何报酬可言. 与传统的论坛版主不同,他们不会在内容发布后对其进行审核. 而不是, they vet user-submitted photos prior to publication, thus making sure inappropriate profile pics never get published.
连接到人即服务api. 例如, Facebook将其管理面板连接到云api, 比如亚马逊 Turk(或内部同类产品),并将大量的节制外包给更便宜的工人. 在Facebook的案例中, professional moderators account for one-third of its workforce. 事实上, 适度的存在有助于确保Facebook的评论相对温和,而不是出现在相对不受监管的网站上的可怕评论.

Accounting For User Need To Communicate With The Website’s Management

When 你’re running a business, questions are expected. 通过有效地提前计划, 你可以大大缩短回复他们的时间,并可能减少你收到的客户请求的数量.

管理 areas that account for user communication needs:

提前计划. 通过分析过去的客户服务问题, 你可以发现共同的主题, 并提前回答. 一个典型的例子就是设计一个常见问题解答页面,上面列出这些问题和答案.
尽快给客户退款. 提供快速退款回应客户投诉是一个相当有效的方式来满足失望的客户. Don’t worry -- this won’t result in less profits; in fact, it may even lead to more.
为困惑的访问者创建论坛. Google is 不orious for its practically non-existent customer service. 代替人类, 谷歌创建了产品论坛, 困惑的用户可以从哪里得到其他用户的帮助. 很少有谷歌员工在这些论坛上回答问题, 他们的答案是保存的, 很容易被谷歌检索到, 和 made available to future users with the same problem. 虽然这对最终用户来说似乎很残酷, 这是很合理的, 考虑到谷歌大多数不受支持的产品都是免费的.
Utilize canned responses 和 virtual assistants (VAs). 回顾一下过去一年的客服单,找出一直被问到的问题. 通过为每个问题制作模板式的回答,你将节省大量的时间. 把你的答案写在一个易于访问的谷歌文档中,或者更好的是,使用电子邮件插件,比如 罐头的反应. 然后,在出现问题时,聘请一名VA将这些模板转发给客户.

考虑到用户的改变

A wise man once said, “Change is the only constant in life.他是对的. 事情的变化.

Maybe a user gets married, 和 they no longer have the same last name.

或者是客户, 谁订阅了你们的月度快递服务, 搬家了,需要更新地址.

这只是两个不可避免的变化的例子,你必须提前计划.

因用户改变情况/想法而节省管理时间的例子:

您的用户需要编辑功能. 如果您没有在用户仪表板中提供编辑功能, 迟早,您的客户支持团队——以及您的数据库程序员——将不得不手动进行更改, 就像上面提到的那些.
不要冻结编辑功能. 在论坛或有评论的网站的情况下, 您必须考虑冻结帖子以便删除的策略,或者放置一个请求正常策略异常的按钮. 此解决方案通过减少支持团队和最终用户之间来回传递的消息数量来节省时间.

对用户担心导致的行为进行核算

不像实体店, 在线业务es lack the reassurance of buying from a real person, 面对面.

想想看. How do 你 feel when 你 purchase something at Best Buy? Probably confident because 你 know that tomorrow morning, 当你投诉或要求退款时,百思买仍然会在那里.

这 feeling of certainty falls away online for obvious reasons. 人们很容易忽略在线交流, which makes prospects wonder if anyone will ever get back to them. 这种怀疑的感觉只会在网站是一些不知名的、没有品牌资产的初创公司时增加.

Example of time-savers for admin attributable to user worry:

先发制人地解决问题. 一旦有人从你这里购买,发送一两封电子邮件,以增加信心. 例如, 亚马逊, 以及几乎所有的电子商务企业, 订单发出后立即发送电子邮件. 其他公司还提供一系列电子邮件,在产品交付之前向用户提供最新信息.

解决潜在的歧义

这是发射后的一年, 多亏了良好的收入, 现在,您可以将网站的管理委托给专门的团队成员.

One day, however, this administrator unexpectedly falls ill 和 now 需要恢复他们的行政工作, 没有任何关于管理员上周在做什么的简报.

Based on the information inside the administrative panel, 您需要知道管理员在哪里结束了工作——他们处理了哪些任务,哪些任务没有完成.

这并不总是可能的, 由于设计糟糕的状态机不能可靠地区分 看不见的 (or 未经加工的), 被认为是 (or 加工过的). 例如, imagine an admin state-machine as follows:

会发生什么状态改变
An artist applies to sell their art on 你r art-selling platform艺术家条目出现在管理面板中,起始状态为“应用”。
你的管理团队中有人接受了这位艺术家,允许他们出售自己的作品管理员将状态更改为“已接受”
你的团队拒绝这个美工,因为他们知道自己永远不会需要这个美工管理员将状态更改为“已拒绝”
你的团队对这个美工持观望态度,希望推迟做出决定什么都不做


这个管理流程的问题, 从系统管理员的角度来看, is that the admin panel says “accepted” for both 看不见的 new artists 那些已经被看过或考虑过,但被推迟而没有被直接拒绝的艺术家.

事实是 被认为是 (or 加工过的) that artist exists only inside the mind of the absent administrator, 而且没有任何办法标记一个线索“推迟”,“这个信息丢失了, 所以接手工作的人必须重复已经完成的工作.

一个好的活动提要可以修复这种模糊性.

最大化的透明度

许多行政专家组的行动在幕后执行一系列步骤.

按下“接受申请人”按钮后, 例如, the applicant in question receives an acceptance email, their account gets credited with a $100 sign-up bonus, 它们在数据库中的状态从“应用”变为“接受”.在软件工程术语中,这些是 副作用.

Given that 你 – the programmer – developed these features, 你’re likely aware of the consequences of hitting “accept applicant.”

至少, 您可以打开源代码编辑器, 或者你喜欢的IDE, 参考代码找到答案.

Your customer service reps don’t have this luxury though. 所以当他们按下按钮时,他们可能不确定会发生什么. 也, 他们可能会想知道申请人是否会被告知他们被录取了, 或者他们是否应该发送手动电子邮件, 提醒申请人, 在他们按下按钮之后.

这 uncertainty slows down the entire process because now, 管理员需要询问管理和/或工程方面的问题,并等待他们的答复. 更不用说,这很容易导致重复工作,并将错误引入到原本顺利运行的业务中.

在理想的情况下, 在这个例子中, 带有“接受申请人”按钮的管理页面将有一个内联, 描述性的段落, explaining exactly what happens when they button press the button.

另外地或另外地, 按下按钮后会出现一条消息, 解释接下来会发生什么.

到目前为止,我们已经看了快乐的情况,i.e. 当一切正常运行时发生的后台操作. The trickier situation is dealing with opaqueness after something 出错. Which side-effects were completed 和 which ones were left undone? 在一个完美设计的系统中, 如果失败,“接受申请人”按钮将通知管理员(以及正在进行清理的技术团队),接受邮件已送达,但100美元的注册奖金尚未送达 发送到该用户的Paypal账户. 该信息使公司能够补救部分交易. 至于实施细节, 这种反馈可以通过跟踪每一个微小步骤的详细状态机来完成, or, 另外, 通过将管理操作包装在服务对象中,服务对象的返回值列出成功运行和失败运行的命令.

根据我的经验, 管理员看到的信息和最终用户看到的信息之间的不透明可能令人沮丧.

有时,回复客户电子邮件或错误报告需要您的管理团队了解客户登录仪表板的外观, 一个特定的自动电子邮件说, or what royalties the user-facing dashboard says it owes a user.

访问这些信息可以帮助您的团队在用户遇到问题时理解问题.

实现此功能的一种方法是构建“以用户身份查看”的管理特性.

这将取代创建单独的管理屏幕,重新实现已经为普通用户提供的功能, 因此,您可以获得重用大量现有代码的额外奖励.

至于自动电子邮件, 考虑构建一个轻量级的管理区域电子邮件渲染器,以便您的员工可以阅读将要发送的消息, 或者曾经是, 发送给用户.

系统之外的事件是一种负担

可管理的管理是独立的.

它被封装在一个单一的封闭系统中,而不是分散的碎片中.

例如, 如果你给出的退款信息分散在Excel电子表格中, 桌子上有些黄色便利贴, 给你的会计发邮件, 那你就有麻烦了.

正确的解决方案是在管理仪表板内的数据库表中包含一个全面的退款列表. 当你只有一个真理的神谕时, 你可以放心,你的任何报告都是权威的,值得信赖的.

虽然这似乎是显而易见的,但在管理企业的过程中,它经常被忽视.

我知道,因为这发生在我身上.

当我最初设计我的 电子商务 订购系统管理面板,我只准备记录销售,只有销售.

发布几个月后, I realized all of the additional transactions I didn’t account for, 比如退款, 退款, 免费赠品, 折扣, 付款调整.

Because I didn’t foresee these transactions in my initial design, there was no code in my admin panel for fulfilling or reporting them.

每当我要退款的时候, 我通常时间很紧张,所以我用当时最简单的方式来完成——通常是通过Paypal的网络界面(跳过我网站的订单数据库)——但有时通过第三方iPhone应用程序与之通信 贝宝的API.

因为我分散的行动和数据, 我所有的账目都是在各种外部来源上随意报道的. 更糟糕的是,我的生产数据库记录与我的完整订单历史记录不太一致.

问题不可避免地出现了. 有关收入和佣金的行政报告没有反映经济现实. 我的一些作者收到了不正确的财务报告. 最糟糕的是,我高估了我的税务报告,这导致我多交了税.

All of this because I had 不 discounted all my refunds.

通过将订单和会计信息部分存储在主软件系统内,部分存储在主软件系统外, 我从一开始就剥夺了软件的许多优点——它的准确性和精确性. I could no longer trust it, which meant I could no longer automate it.

针对这些问题, 我开始厌恶将任何公司数据保存在我的核心软件系统之外.

即使最初将所有必要的信息集成到核心中是昂贵的, 从长远来看, the benefits far exceed the costs of half-ass hacks.

也就是说,尽管我很想实现自动化,但有时它就是无法实现.

许多软件公司都有自动销售电子邮件,一寸一寸地将用户送到他们激活账户或进行购买的点上——理想情况下,所有这些都不需要任何人工帮助.

当一个领导在这些点滴活动的中途向你的员工发出特殊要求时,问题就出现了.

假设引线有反应, 说他们要休假两周, but please get in touch with them afterward to seal the deal.

如果我们的系统能在5天后自动发送提醒邮件, 然后我们忽略了主角的愿望,可能会因为给人一种咄咄逼人的印象而使关系恶化, 粗心的, 和机器人.

那么在这种情况下该怎么做呢?

一个答案是半自动化.

The admin interface could ask 你 which emails should be sent, 你可以在需要的时候选择取消计划.

不可否认, 这可能是工程上的过度杀戮, 因此,有时候唯一现实的选择就是接受自动邮件有时会出错的事实.

Surface the Most Relevant 管理 Information 和 Actions

当客户联系你的公司时, 它通常与命令有关, 一个帐户, 或者是祭品.

通过存储的数据, 登录饼干, 以及来自你的追踪层的数据, 您的应用程序可能非常了解它的客户及其交互历史.

您可以通过算法提取这些信息源并提取相关数据以方便管理员的响应,从而在回答客户服务请求时节省大量时间.

例如, 联系表单信息, before getting converted into emails sent to 你r inbox, 是否可以自动添加一个包含订单付款状态的信息框, 运输状态, 行项目, 和更多的.

另外, 这些强化的电子邮件还可以包含方便的链接到最常用的(和相关的)管理区域的部分, such as the refund dashboard or the shipping tracker.

Anticipating, Mitigating, 和 Recovering from 管理istrator Error

和其他人一样,管理员也是人,偶尔也会犯错误.

考虑到他们对你数据的控制,他们的错误可能会造成无法弥补的损失.

以下是一些预防灾难的措施:

自动调度一致的备份: 这是所有能想到的尽职调查措施中最原始、最琐碎、却又最重要的一项. 但, 即使你有很好的备份, 如果您需要修补SQL转储,那么您已经处于一个痛苦的世界. 因此,计划备份不应该是恢复的唯一来源.
用来吓唬用户的按钮:For actions with potentially irreparable consequences, 把它们涂成鲜红色, 把放射性图标贴在上面, 并给它们贴上标题, 如“警告:硬删除是… 核选项: 不确定后果就不要用它.(显然,你应该在这个按钮旁边显示这些结果.)
使用JavaScript确认弹出窗口: 有时管理员的手指不小心滑倒了,没有按下“后退”按钮,而是不小心按下了下方两个像素的“永久删除所有内容”按钮. 不幸的管理员可能完全没有过错, 最终归咎于笨拙的UI设计或渲染CSS时令人讨厌的浏览器怪癖. 如果你认为这是一个荒谬且过于戏剧化的例子,那你就错了. 金融服务行业已经损失了数百万美元,他们称之为 黄油手的错误. As a result, they design software to prevent these types of errors. 一个非常简单的解决方案是“您确定要删除所有订单历史记录吗??Javascript弹出窗口. 注意我是如何在Javascript确认中包含特定于实体的数据——“所有订单历史记录”? 这比简单地问“你确定吗??如果管理员打算删除订单历史中的单个条目,但不小心按下了删除所有订单历史的按钮, 在Javascript确认弹出窗口中清楚地说明这一点有助于避免出现“OMG”时刻, when the administrator realizes what [s]he has mistakenly done.
Take advantage of data versioning 和 revision control: 在标准的SQL数据库技术中,对数据的编辑将覆盖旧值. 当编辑错误时,这是有问题的, 当原始数据难以找到或难以重新创建时,这是双倍的——e.g. 冗长的描述字段需要花费数小时才能完成, or customer information that would be embarrassing to ask for again. 像Wikipedia中的版本控制库,是解决这些情况的首选方法. 它们让您可以根据需要轻松存储和恢复旧版本的数据. 这些库通常通过跟踪数据库中的更改并保留以前值的带有时间戳的版本来工作. 不幸的是, revision control libraries usually can不 h和le big binary files, 例如照片和pdf文件. 对于这些数据类型,你可以保留旧版本,使用 亚马逊的S3版本控制.
考虑实施不删除策略: 这是为了防止某些表中的记录被删除. 在这里’s the reasoning behind this: Given modern data storage prices, 删除旧记录没有什么好处, 和 a lot to be lost in terms of compromised data integrity, 不完整的报告, 或者记录不匹配. 通过在每个主表上放置一个“deleted_at”日期列来实现不删除策略. 在您以前有代码删除记录的地方, 您可以使用将该记录的“deleted_at”列设置为当前时间的代码进行替换. 在代码的其他地方, 您可以根据业务需要选择性地显示或隐藏“已删除”的记录. 例如, “deleted” digital downloads will continue to appear in the admin area, 对于老客户, who bought that specific thing before the “deleted_at” date, 在“所有时间”的销售报告中. 然而, 前端商店不应该再向潜在客户展示这个数字产品.

期待意外

虽然我已经为上面的一系列问题提供了大量的解决方案, 这些绝不是硬性规定, but rather a robust playbook to learn from 和 refer to.

记住,最终目标是优化您的管理面板,以简化您的业务. 从长远来看,留出一些时间来调整你的管理领域应该会提高盈利能力, 让它成为一项值得的投资.

就像生活中的任何事情一样, 规则总是有例外的, so make sure to use good judgment when optimizing 你r admin panels. 然后你终于可以庆祝了.

聘请Toptal这方面的专家.
现在雇佣

世界级的文章,每周发一次.

订阅意味着同意我们的 隐私政策

世界级的文章,每周发一次.

订阅意味着同意我们的 隐私政策

Toptal开发者

加入总冠军® 社区.